2014-07-14 4 views
2

아래 필드에 반복을 만드는 시각적 템플릿이 있습니다. 그러나 BMCServiceDesk__actionId__c = 'Email Sent'를 이메일 본문에 포함시키지 않고 다른 모든 작업을 포함 시키길 원합니다. 이것을하기 위해 수업을 개발해야합니까?Apex 사용 Visualforce 템플릿에서 반복하고 해당 필드의 특정 데이터를 포함하지 마십시오

<apex:repeat var="ih" value="{!relatedTo.BMCServiceDesk__Incident_Histories__r}"> 
<tr> 
      <td><b>{!ih.BMCServiceDesk__actionId__c} </b></td> 
      <td><b>{!ih.BMCServiceDesk__date__c} </b></td> 
      <td><b>{!ih.BMCServiceDesk__note__c} </b></td> 
      <td><b>{!ih.BMCServiceDesk__userId__c} </b></td> 
</tr>    
</apex:repeat> 

그래서 내 이메일은 상정 목록과 같습니다 :

enter image description here

어떤 도움이 크게 감사하겠습니다 제거

없이 VisualForce 템플릿은 다음과 같습니다.

답변

1

가장 좋은 옵션은 VF 구성 요소를 사용하여 VF 이메일 템플릿에 포함시키는 것입니다. 구성 요소에는 컨트롤러가있을 수 있기 때문입니다 (전자 메일 서식 파일은 할 수 없습니다).

그것은 당신이 그 목록은 자신의 쿼리를 작성 당신이 원하는 순서대로 & 종류에게 항목을 필터링 할 수 있습니다 것입니다 ...

당신이 다음 (1000 이하) 항목의 소수가있는 경우 그러나 당신이 할 수있는 "rendered"태그를 사용하여 조건부로 표시하십시오. 해킹 비트이지만 잘 작동해야합니다. 이 같은 뭔가

실험이에 대한

<apex:repeat var="ih" value="{!relatedTo.BMCServiceDesk__Incident_Histories__r}"> 
    <apex:outputPanel layout="none" rendered="{!ih.BMCServiceDesk__actionId__c != 'Email Sent'}"> 
     <tr> 
      <th>{!ih.BMCServiceDesk__actionId__c}</th> 
      <th>{!ih.BMCServiceDesk__date__c}</th> 
      <th>{!ih.BMCServiceDesk__note__c}</th> 
      <th>{!ih.BMCServiceDesk__userId__c}</th> 
     </tr> 
    </apex:outputPanel>    
</apex:repeat> 
+0

덕분에,이 엄청난 도움이됩니다. 나의 유일한 관심사는 배포를 허용하는 방법을 완전히 모르는 테스트를 작성하는 것이지만 구성 요소를 작성하는 방법을 확실히 살펴볼 것입니다. –