1、需求说明
用户流程提交后,发现有部分数据填写错误,但是审批人在审批过程中未发现,导致错误数据一直流转到归档,现需要将流程收回,把错误数据修改后重新审批归档。
2、实现方法
- 打开流程强制回收功能(【后端应用中心】-【流程引擎】-【路径设置】-【高级设置】,勾选“允许强制收回”功能)
- 打开归档节点的允许查看前收回、查看后收回功能(【后端应用中心】-【流程引擎】-【路径设置】-【高级设置】页面)
- 用户的“已办流程”页面的流程显示如下,点击查看流程详情,发现右上角的页面并没有“强制收回”功能。
- 这时通过管理员账号,进入流程监控(流程如下),右边扩展功能有“强制收回”,点击按钮,流程回收回到最后一个审批人的待办流程中。
- 申请人通过已办流程,找到需要收回的流程,点击右上角功能菜单中的“强制收回”按钮,流程回收,此时流程回到申请人的待办流程中。
3、扩展知识点 - 强制收回
3.1、基本设置
强制收回:可选“不可收回、查看前收回、查看后收回”3个选项
- 不可收回:用户提交流程之后在已办事宜中查看流程是没有收回按钮的;
- 查看前收回:用户提交流程之后,下一节点操作者未查看时,当前操作者在已办事宜中打开流程,右键菜单中有【强制收回】按钮,点击后可以将流程收回到操作者的待办事宜中,可以重新对流程表单内容进行编辑,如果下一节点操作者已经查看过流程的话就没有【强制收回】按钮了;
- 查看后收回:则不管下一节点操作者是否查看,当前操作者在已办事宜中打开流程,右键菜单中都有"强制收回"按钮,点击后可以收回流程。
3.2、收回逻辑
设置强制收回的时候需要理解以下几个概念,主要是针对允许【查看后收回】的一些概念:
- 节点是否可以收回是要看它的目标节点是否设置允许收回,举例说明流程的流转是:A节点–>B节点–>C节点,如果A节点允许用户收回流程,那么在设置的时候一定要设置A节点的目标节点B允许收回,也就是说只有B节点设置了允许收回,那么A节点的操作者才可以收回自己的流程,很多用户初次接触的时候习惯将允许收回设置在A节点上;
- B节点是多人会签,那么必须按提交顺序执行强制收回,即最后一个提交人可以执行强制收回,A节点操作者不能收回;
- B节点执行转发、传阅、抄送都不影响A节点用户的强制收回,B节点操作者执行意见征询和转办,也只有B节点操作者可以收回;
- B节点的批注人可以执行强制收回操作;
- B节点如果添加了自由流程节点,并已经提交了,那么实际上当前流程已经不停留在B节点了,所以A节点的用户也不能执行收回操作了;
- 如果出现了条件判断,即A节点提交流程根据条件判断可以提交到B节点或C节点,那么A节点要收回的话,B节点和C节点都要设置允许查看后收回,这样设置的结果就是A节点可以查看后收回,B节点也可以查看后收回了,因为B节点的目标节点C设置的允许查看后收回的;
- 分叉流程是流程中比较特殊的一类,分叉起始点是没有【强制收回】按钮的,也就是不能收回已经分叉了的流程,分叉合并点是不能被收回的,也就是说一旦流程被合并后,合并前节点的操作者也是没有【强制收回】按钮的;
- 已经提交【归档】节点类型的流程是不能被强制收回的。