Salesforce 在电子邮件模板中写入picklist键,而不是显示值

Salesforce 在电子邮件模板中写入picklist键,而不是显示值,salesforce,salesforce-lightning,Salesforce,Salesforce Lightning,我需要帮助如何在Salesforce的出站电子邮件中编写Leads国家代码。 我使用此电子邮件实现外部系统的自动化 无论我如何尝试,完整的国家名称都以代码和名称的形式书写 我所尝试的: companyName: Test company countryName: Switzerland countryCode: CH 我在Process Builder中创建了一个工作流,在Salesforce中创建新的Lead记录时发送电子邮件。电子邮件模板如下所示: companyName: {!Lead.

我需要帮助如何在Salesforce的出站电子邮件中编写Leads国家代码。 我使用此电子邮件实现外部系统的自动化

无论我如何尝试,完整的国家名称都以代码和名称的形式书写

我所尝试的:

companyName: Test company
countryName: Switzerland
countryCode: CH
我在
Process Builder
中创建了一个工作流,在Salesforce中创建新的
Lead
记录时发送电子邮件。电子邮件模板如下所示:

companyName: {!Lead.Company}
countryName: {!Lead.Country}
countryCode: {!Lead.CountryCode}

<more code here removed for brewity>
通过以上配置,我可以从Web到Lead表单自动创建新Lead。 在Salesforce,领先者是瑞士,这与预期相符。 但是Salesforce自动生成的电子邮件会将国家名称写两次:

companyName: Test company
countryName: Switzerland
countryCode: Switzerland
我的期望:

companyName: Test company
countryName: Switzerland
countryCode: CH

普通的电子邮件模板对于您的需要来说太简单了。SF中的很多都是为了方便用户而设计的,通常您会看到选择列表标签,而不会看到实际值保存在DB中。如果您启用了translation workbench,您将看到法语/德语/what have you的标签

启用国家/地区和州选取列表后,当您创建新记录时,UI中的正常文本字段将消失。您认为您编辑了旧国家,但实际上显示了CountryCode,当然它有值CH,但显示的标签是瑞士。电子邮件也会尽职尽责地显示标签

我认为你需要制作一个Visualforce电子邮件模板来实现这一点。差不多

<messaging:emailTemplate subject="62537607" recipientType="User" relatedToType="Lead">
<messaging:plainTextEmailBody >
Name: {!relatedTo.Name}
Company: Name: {!relatedTo.Company}
Country: {!relatedTo.Country}
CountryCode: {!relatedTo.CountryCode}
</messaging:plainTextEmailBody>
</messaging:emailTemplate>

名称:{!relatedTo.Name}
公司:名称:{!relatedTo.Company}
国家:{!relatedTo.Country}
国家代码:{!relatedTo.CountryCode}

使用VF电子邮件模板,您可以获得更多的控制权,如果您需要特殊的行为,您甚至可以制作一个Apex控制器(不是针对整个电子邮件,而是针对一个组件,您可以将该组件嵌入电子邮件体中)。默认情况下,将显示选择列表值,而不是标签


例如,为敬礼创建新的选择列表条目,标记“灾难主爆炸机”,值为“主爆炸机”。如果您将
{!relatedTo.saltation}
添加到VF模板,您将看到
Master

谢谢@eyescream。我注意到你简历中的LinkedIn链接无效,因此我无法通过DM请求报价。嗯,需要做很多清理工作,对不起:)。但你也可能会找到很酷的专业人士