全部文档
文档中心工作流最佳实践如何实现撤回

如何实现撤回

撤回在工作流中需要通过一系列的配置实现,主要是因为在财务场景中,经常涉及到对业务数据状态的变更,有时候也需要做一些业务数据的校验和其他操作,因此会比简单的OA等场景中的撤回复杂一些。

常见的撤回包括:

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

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

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

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

  • 后置的审批节点需要配置边界事件订阅撤回,在未完成之前,只要接收到

    撤回消息
    ,就会终止当前节点并触发跳转事件,例如跳转回提交节点

  • 前置的提交节点需要配置撤回动作,例如在本节点完成后,展示撤回动作的按钮,点击后会发送

    撤回消息
    至后置的审批节点审批节点接收到
    撤回消息
    ,终止当前节点并触发跳转。

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

  • 流程图



  • 审批节点配置



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



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

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

  • 流程图



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





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



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

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

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



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

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

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



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



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

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

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

    不允许撤回


回到顶部

咨询热线

400-821-9199

我们使用 ChatGPT,基于文档中心的内容以及对话上下文回答您的问题。

ctrl+Enter to send