visualforce电子邮件模板返回空白/无行以分配给SObject

时间:2013-05-20 15:56:48

标签: salesforce visualforce

因此,我们有一个工作流程规则,指示何时提交具有特定条件的案例,为相应的团队成员创建任务。由于只有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>

0 个答案:

没有答案