常见业务场景中,填写表单后进行提交审批,但此时UX上的【提交】动作其实是【发起流程】的动作,真正的流程编排中并不存在【提交】节点,若后续审批人想要驳回至提交,只能终止此流程,提交人重新发起,重新发起的流程实例是新的流程实例,与第一次发起的流程实例无关联,因此也会丢失第一次发起的审批记录。
可以使用单人任务的自动完成功能,来规避以上问题。
设计思路:
1、在流程开始后编排【提交】节点,任务指派给流程发起人;
2、判断本次提交是否为【初始提交】,第一次提交时应当立即【自动完成】(轮询机制,不会真的立即完成,会稍微一会儿);
3、后续审批人可以驳回至【提交】节点;
4、只要第一次完成过【提交】(也就是自动完成的),就需要将自动完成的时间设置为非立即,例如100年后,以实现后续提交需要人为地手动提交。
DEMO地址:
配置要点:


在多级审批流程中,某一级审批人可能与流程发起人是同一人。若仍要求发起人手工审批自己提交的流程,会增加无意义的待办操作;但直接删除该审批节点,又可能丢失审批轨迹或影响其他审批人正常处理。
可以先判断“当前审批人是否等于流程发起人”,再根据业务是否需要保留审批记录,选择【自动同意】或【自动跳过】。当审批人与发起人不同时,仍进入原有的人工审批任务。
DEMO 地址:
设计思路:
流程发起时,将当前用户写入【编制人】;DEMO 中【编制人】即流程发起人。
各级审批节点从表单字段中取得审批人,并在进入任务前判断“本级审批人是否等于编制人”。
若两者不相等,进入普通审批节点,由对应审批人手工处理。
若两者相等,根据业务要求进入【自动同意】分支,或直接走【自动跳过】分支。
每一级审批结果后仍保留原有的同意、拒绝和驳回流转,避免自动处理影响正常审批路径。
两种处理方式的区别:
|
处理方式 |
流程行为 |
待办与记录 |
适用场景 |
|---|---|---|---|
|
自动同意 |
先创建审批任务,再通过辅助工作流和数据流自动完成任务 |
短时间内可能看到待办;自动完成后可在已完成任务中查询到记录 |
需要保留该审批节点及审批轨迹 |
|
自动跳过 |
判断相等后直接进入下一节点,不创建本级审批任务 |
不产生待办,也不产生本级操作记录 |
该审批节点仅用于他人审批,发起人本人无需留下审批记录 |
配置步骤:
在发起表单中准备【编制人】和各级审批人字段,并确保流程启动时【编制人】取当前用户。
配置一级审批人为【编制人】;该节点使用【自动同意】方式,并通过辅助工作流和数据流完成当前任务,用于演示固定“审批人=发起人”的场景。
在二级审批前增加排他判断,比较【二级审批人】与【编制人】:相等时进入配置了自动完成能力的二级审批节点,不相等时进入普通二级审批节点。
在三级审批前增加排他判断,比较【三级审批人】与【编制人】:相等时直接连接到四级审批,实现自动跳过;不相等时进入普通三级审批节点。
四级审批固定由其他用户处理,用于验证“审批人≠发起人”时仍会正常产生人工待办。
对每个实际进入的审批节点保留审批结果判断;同意后继续流转,拒绝或驳回按原业务路径返回指定节点。
DEMO 验证方式:
使用当前用户发起流程,此时【编制人】与流程发起人相同。
一级审批固定等于【编制人】,流程会自动同意并继续流转。
二级审批选择当前用户时会自动同意;选择其他用户时会停留在二级审批,等待该用户处理。
三级审批选择当前用户时会直接跳过;选择其他用户时会创建三级审批待办。
四级审批人为其他用户,流程应停留在四级审批,等待人工处理。
注意事项:
判断审批人是否相同时,应使用用户唯一标识,不要使用可能重名或发生变化的用户名称。
审批人为空、失效或无法解析时,不应按“等于发起人”处理;应进入异常处理或人工兜底路径。
【自动同意】依赖任务创建后的自动完成处理,并非页面点击后的绝对实时动作,短时间看到待办属于正常现象。
自动完成逻辑应准确限定当前流程实例和当前任务,并做好重复调用保护,避免误完成其他任务。
选择【自动同意】还是【自动跳过】,应以是否需要保留该节点的审计记录为准。
回到顶部
咨询热线
