如题,这两天接到这个需求。
在lightning 环境下,本来send email / create task是通过标准的lightning action来实现的。在action里面可以定义predefined value. 然而,predefined value如果想重新设置whatId / relatedTo,保存ok,但是实际运行一下就会报错,说不允许改parent.
我试了process builder / workflow, 发现field update里面根本就没有这whatId / relatedTo的字段选项。此路不通。
由此我意识到,salesforce是根本不想你修改这两个字段,所以标准功能里它们都没放出来。
所以只能coding了。
不过action的predefined value报错也给我一些误导,我想当然的以为before trigger里设置whatId / relatedTo也会同样报错,于是又走了一些弯路,在after trigger里奋战了一会。
EmailMessage在after trigger中一直报错“RelatedToId is not writeable”, 于是我开始尝试before trigger。 成功!
最终Task/EmailMessage都是在before trigger中设置并成功。