全部文档
文档中心工作流DEMO案例库撤回示例

撤回示例

撤回需要配置流程跳转、业务状态恢复及必要的校验。

常见的撤回包括:

  • 用户提交任务之后基础撤回:目前已经支持,下方将进行演示

  • 用户发起流程之后撤回:配置与上述类似,但是需要在流程全局设置齿轮中配置(暂未开发完成)

  • 其他情况:多人任务单实例的撤回、平行网关内任务的撤回等复杂场景的撤回,暂不支持

撤回依靠流程引擎中的边界事件实现,可以这样理解:

  • 后置的审批节点需要配置边界事件订阅撤回,在未完成之前,只要接收到撤回消息,就会终止当前节点并触发跳转事件,例如跳转回提交节点。

  • 前置的提交节点需要配置撤回动作,例如在本节点完成后,展示撤回动作的按钮,点击后会发送撤回消息至后置的审批节点。审批节点接收到撤回消息,终止当前节点并触发跳转。

基础的撤回示例如下,需要在提交节点配置撤回动作,在将要撤回的审批节点配置撤回的边界事件,当提交节点完成、审批节点还未完成时,可以进行撤回操作

  • 流程图

    1689319551027-075c9828-c64c-46db-ae87-f6f424a13e34

  • 审批节点配置

    1689319612915-8d29e2e9-691f-45ce-9a7b-54934ff3a0e1

  • 提交节点配置:在任务完成后展示撤回按钮,点击可以撤回进行到审批节点的流程

    1689319584727-1ddeb211-fd0a-42d8-98be-5165fa2d1e64

背景: 提交后,流转到多人任务-审核节点(选择了3位用户并行审核),然后流转到单人任务-复核节点。

**要求: **流转到多人任务节点和单人任务节点时,只要该节点还未完成,都可以由提交节点触发撤回,撤回到提交节点。

  • 流程图

    1703835404740-6a393e1e-bf08-41c5-bc0b-d0cf0f732491

  • 审批节点配置:都在监听中配置订阅撤回,一旦接收到撤回消息,执行goto提交节点,goto提交节点则跳转回提交节点

    1703835806196-a06794fd-6438-479b-ab84-5fe01ac7f610

    1703835828940-4d8a2dc9-7893-4a01-b933-1ba55d3f600e

  • 提交节点配置:在任务完成后展示撤回按钮,用于对目标审批节点发送撤回消息,目标节点接收到订阅的撤回消息后,触发goto提交节点,撤回进行到提交节点(与审批节点配置形成闭环)

    1703835911879-067d1b64-f652-415d-b426-6bd570eefba1

  • 针对可撤回多人任务节点的特殊说明:

    • 如果撤回的执行条件为【无条件】:只要多人任务整体节点未完成,都可以撤回

    • 如果撤回的执行条件为【自定义】:条件中选择了多人任务节点,仅当多人任务中没有任何一个任务实例被完成,该条件才为true(满足撤回条件),否则为false(不满足撤回条件)

      1703836153486-168421c0-0080-4762-8187-1fd6eee0f17d

**举例说明: **多人任务为会签,需要三个人处理

  1. 撤回的执行条件为【无条件】

  • 提交后,多人任务还未开始:允许撤回

    1704787573561-a79ceb47-0796-4465-b8bf-030d0fe182db

  • 提交后,多人任务中已有一人处理、还有两人未处理:允许撤回

    1704784916205-255cbfa2-7532-4c07-9827-8515e37e4a57

  1. 撤回的执行条件为【自定义】,执行条件中配置了**多人任务**节点

  • 提交后,多人任务还未开始:允许撤回

  • 提交后,多人任务中已有一人处理、还有两人未处理:不允许撤回

    1704785853473-e244a6ac-dda3-4971-9221-9bd2677a0828

回到顶部

咨询热线

400-821-9199