问题描述
我正在使用Salesforce Lightning模式,并希望使用配置而非代码方法。我定义了外部服务。
我要实现的方案如下:
我的第一个尝试是创建一个记录触发流程,该流程在创建新的联系人实体时被激活。然后,该流程能够在触发一个调用我的外部服务的Action之前分配相关的变量。我遇到的问题是,出现了错误“'您有未提交的工作待处理。请先提交或回滚,然后再调用'错误”,这引起了我这篇文章:https://help.salesforce.com/articleView?id=000328873&type=1&mode=1
所以据我所知,问题是我无法在由联系人创建触发的流中调用外部服务。
好
因此,然后我研究了创建一个将调用流程的流程。该过程是从“记录更改时”开始的过程,该记录被设置为已创建的联系人记录。然后,该过程应该调用我的Flow,它将执行实际的外部服务调用。
- 我采用这种方法是否正确?
- 如何将变量信息从流程传递到流程?
感谢您的见识
解决方法
之所以存在限制,是因为您要创建一条新记录=您正在临时锁定数据库表(或者可能不是整个表,可能只是1行)。但是您无法控制数据库,要让操作等待120秒才能成功/失败/超时。外部系统调用必须是独立的异步操作。
在流程构建器中,有立即和基于时间的操作。尝试将流程设置为基于时间的,即使将其设置为联系人创建后的0分钟也是如此。或者也许在流程中,还有一些方法可以做类似的事情,因为我将它们用于严肃的东西已经有一段时间了。