Loading
使用 Salesforce Flow 自动化业务流程
等待平台事件后创建任务示例

等待平台事件后创建任务示例

通过暂停流,直到平台事件确认发货,然后创建第二天的后续安装任务,创建可自动订购耗材的流。

所需的 Edition

查看支持的版本。

您购买耗材的供应商有一个平台事件供您订阅。平台事件称为供应商响应,包括订单号、订单状态和预期交货日期。

备注
备注 此流程是较大示例的一部分。此流程将由接收到打印机状态平台事件消息时启动的进程启动。有关进程的详细信息,请查看示例进程:打印机管理。

订购打印机耗材流程在打印机管理流程启动时开始。进程会填充流程中的以下变量。

  • {!assetId} — 资产 ID
  • {!assetOwner} — 资产所有人
  • {!inkManufacturer} — 打印机墨水的制造商
  • {!inkNeeded} — 打印机是否需要更多墨水
  • {!inkType} — 打印机使用的特定油墨类型
  • {!paperNeeded} — 打印机是否需要更多纸张
  • {!paperSize} — 打印机使用的纸张大小
  • {!serialNumber} — 资产的序列号

首先,流程会决定是否订购墨盒或纸张。基于该决定,它通过使用 Apex 操作向供应商提交墨水或纸张订单。然后暂停,直到供应商发送平台事件消息,表示订单已经发货。当 Salesforce 收到指定的事件消息时,流会恢复,并为资产所有人创建任务来安装新耗材。

此示例的完整行

决策元素

决策包含两种结果:墨盒和纸张。如果变量 {!inkNeeded} 为真,墨盒结果为真。如果变量 {!paperNeeded} 为真,则纸张结果为真。

此决策会决定是否需要订购墨盒
此决策会决定是否需要订购纸张

Apex 操作元素

该流包括两个 Apex 操作,它们向供应商提交供应订单,但根据流是运行墨盒结果还是纸张结果为其提供不同的信息。用于输入值的所有变量(例如{!serialNumber}和{!paperSize})将在进程启动流时设置。

第一个 Apex 操作会提供有关要订购哪款墨盒的信息。

Apex 类的输入会确定订购哪类耗材及适合哪款打印机。

第二个 Apex 操作会提供有关要订购哪款纸张的信息。

Apex 类的输入会确定订购哪类耗材及适合哪款打印机。

在两个 Apex 操作中,操作都返回一个订单编号。流将该值存储在{!orderNumber}变量中,以便在“等待”元素中引用。

Apex 类的输出变量会传输到稍后参考的流程变量

“等待”元素

在 Apex 操作提交供货订单后,流程会等待“订单已发货”确认。通过供应商响应平台事件收到该确认。

流程暂停,直到 Salesforce 收到具有特定值的供应商请求事件消息。订单号必须与 Apex 操作提供的订单号相同。订单状态必须是“已发货”。

如果包含特定订单号和订单状态,则事件条件仅会将流程订阅为供应商响应事件。

当收到正确的事件消息并且流恢复时,流会将事件消息的数据存储在记录变量中。这样,您才可以参考预期交货日期,以推算计划何时安装耗材。

将事件数据传输到供应商响应记录变量

创建记录元素

在流程继续时,该流程会创建任务,以便资产所有人安装新耗材。

通过变量和流程资源,设置任务的变量

对于任务的字段值,流使用这些资源。

  • {!installDate} — 计算事件预期交货日期之后一天的公式。
  • {!taskDescription} — 提供有关安装的更多详细信息的文本模板。
  • {!assetOwner} — 由启动流的进程提供
  • {!assetId} — 由启动流的进程提供
通过变量和流程资源,设置任务的变量
 
正在加载
Salesforce Help | Article