全部文档
文档中心工作流UX 配合使用消息交互与批量发起

消息交互与批量发起

本章适用于需要从 UX 唤醒等待中的流程,或一次发起多笔业务的场景。先完成单笔流程的参数验证,再扩展到批量或消息交互。

工作流先定义消息及消息参数,在对应节点配置等待或订阅逻辑。UX 的“发起消息事件”动作需要与其配套。

  1. 在 UX 事件中添加“发起消息事件”动作,选择关联工作流。

  2. 选择该工作流定义的消息。

  3. 为消息体参数赋值,类型与消息定义一致。

  4. 选择接收范围。只通知某一次流程时,明确提供该流程实例 ID。

  5. 保存后,让测试流程先到达目标等待位置,再发送消息。

  6. 检查实例是否继续运行、消息参数是否按节点的数据映射传入后续变量。

当前动作支持把单个流程实例 ID 或实例 ID 数组作为指定范围的取值。若页面传入 $urlQuery.proc,先确认该值确实来自目标流程,而不是任务 ID 或业务编号。

消息发送成功与业务处理完成是两件事。 接收范围、消息定义或等待位置不匹配时,应检查流程中的接收条件,不能只凭 UX 的发送成功提示认定后续业务已经完成。

待补截图 UX-07:“发起消息事件”动作中展示消息选择、指定流程实例范围和消息参数。

“发起流程”动作选择批量方式后,参数表达式应返回 对象数组,每个对象表示一条流程实例的启动参数。

下面是数据结构示例,不是固定业务数据:

Copy
[
  { "contract_id": "HT-2026-001", "amount": 1200.5 },
  { "contract_id": "HT-2026-002", "amount": 3600 }
]

对象的属性名对应工作流启动参数编码。不要使用 wfi$contract_id 作为属性名,也不要返回一段包含上述 JSON 的字符串。

  1. 确定批量来源,例如业务列表中已选中的、已保存的合同。

  2. 在事件表达式中取出这些记录,为每条记录构造启动参数对象。

  3. 对空选择、缺少主键、金额类型错误和重复业务先进行校验。

  4. 选择批量发起,将对象数组作为批量参数;按需配置备注。

  5. 使用两条测试数据运行,并在流程监控中逐一核对实例与业务的对应关系。

批量操作发生异常时,先查询哪些业务已经成功发起,再处理失败部分。不要在未核对结果时直接重复提交整批数据;尤其要检查业务键唯一规则和重复记录。

批量发起用于生成多个独立的流程实例;若业务要求父流程等待各部门办理并汇总结果,应阅读 多实例子流程,按父子流程的控制关系设计。

回到顶部

咨询热线

400-821-9199