因此,我们有一个工作流程规则,指示何时提交具有特定条件的案例,为相应的团队成员创建任务。由于只有Salesforce Platform配置文件,这些团队成员无权访问案例。
我尝试做的是创建一个可从案例中提取信息的visualforce模板,例如说明,联系人姓名,联系电子邮件地址等等。我还希望此电子邮件包含指向案例的链接,因此当团队成员完成任务时,他们可以将其标记为已关闭。
说实话,我不知道我在做什么(不是程序员),但我已经用这篇文章作为指导并取得了一些进展:http://www.eltoro.it/ArticleViewer_OLD?id=a07A000000NPRhrIAH
我可以通过电子邮件模板插入所有正确的信息和链接IN PREVIEW,但是当我进行真实测试时,消息到达时会显示空白。
我在电子邮件模板中也得到了着名的“列表没有分配给SObject的行”。不确定这是否是问题的根源。
任何想法都将不胜感激!
这是电子邮件模板:
<messaging:emailTemplate subject="{!relatedTo.Subject}"
recipientType="User" relatedToType="Task">
<messaging:htmlEmailBody >
<p>Hello {!recipient.name}--</p>
You have received a new task for the case described below. Once you have completed your Task, please mark it as completed on the corresponding
<a href="https://mycompany.salesforce.com/{!relatedTo.Id}">Task Page</a>
<div>
<c:SFDCComponent CaseID="{!relatedTo.whatId}" />
</div>
</messaging:htmlEmailBody>
</messaging:emailTemplate>
Apex课程:
public with sharing class SFDCComponent {
public String ApexCaseID {
get {
if (ApexCaseID == null) {
ApexCaseID =
ApexPages.currentPage().getParameters().get('CaseID');
}
return ApexCaseID;
}
set;
}
public Case c {
get {
if (c == null) {
c = [SELECT ID, Case.Description, Contact.Name, Contact.Email, Contact.Phone FROM Case WHERE id = :ApexCaseID];
}
return c;
}
set;
}
}
组件:
<apex:component access="global" controller="SFDCComponent" >
<apex:attribute name="CaseID" description="This is the value for the
component." type="String" assignTo="{!ApexCaseID}"/>
<p><b>Name:</b> <apex:outputLink value="https://mycompany.com/{!c.Contact.Id}"> {!c.Contact.Name} </apex:outputLink>
</p>
<p><b>Email Address:</b> <a href="{!c.Contact.Email}"><apex:outputText value=" {!c.Contact.Email}"/></a>
</p>
<p><b>Phone:</b> <apex:outputText value="{!c.Contact.Phone}"/>
</p>
<p><b>Case Description:</b>
<apex:outputText value="{!c.Description}"/>
</p>
</apex:component>