全部文档
文档中心工作流最佳实践自动完成

自动完成

常见业务场景中,填写表单后进行提交审批,但此时UX上的【提交】动作其实是【发起流程】的动作,真正的流程编排中并不存在【提交】节点,若后续审批人想要驳回至提交,只能终止此流程,提交人重新发起,重新发起的流程实例是新的流程实例,与第一次发起的流程实例无关联,因此也会丢失第一次发起的审批记录。

可以使用单人任务的自动完成功能,来规避以上问题。

设计思路:

1、在流程开始后编排【提交】节点,任务指派给流程发起人;

2、判断本次提交是否为【初始提交】,第一次提交时应当立即【自动完成】(轮询机制,不会真的立即完成,会稍微一会儿);

3、后续审批人可以驳回至【提交】节点;

4、只要第一次完成过【提交】(也就是自动完成的),就需要将自动完成的时间设置为非立即,例如100年后,以实现后续提交需要人为地手动提交。

DEMO地址:

DEMO_BP_subject_01

配置要点:





在多级审批流程中,某一级审批人可能与流程发起人是同一人。若仍要求发起人手工审批自己提交的流程,会增加无意义的待办操作;但直接删除该审批节点,又可能丢失审批轨迹或影响其他审批人正常处理。

可以先判断“当前审批人是否等于流程发起人”,再根据业务是否需要保留审批记录,选择【自动同意】或【自动跳过】。当审批人与发起人不同时,仍进入原有的人工审批任务。

DEMO 地址:

设计思路:

  1. 流程发起时,将当前用户写入【编制人】;DEMO 中【编制人】即流程发起人。

  2. 各级审批节点从表单字段中取得审批人,并在进入任务前判断“本级审批人是否等于编制人”。

  3. 若两者不相等,进入普通审批节点,由对应审批人手工处理。

  4. 若两者相等,根据业务要求进入【自动同意】分支,或直接走【自动跳过】分支。

  5. 每一级审批结果后仍保留原有的同意、拒绝和驳回流转,避免自动处理影响正常审批路径。

两种处理方式的区别:

处理方式

流程行为

待办与记录

适用场景

自动同意

先创建审批任务,再通过辅助工作流和数据流自动完成任务

短时间内可能看到待办;自动完成后可在已完成任务中查询到记录

需要保留该审批节点及审批轨迹

自动跳过

判断相等后直接进入下一节点,不创建本级审批任务

不产生待办,也不产生本级操作记录

该审批节点仅用于他人审批,发起人本人无需留下审批记录

配置步骤:

  1. 在发起表单中准备【编制人】和各级审批人字段,并确保流程启动时【编制人】取当前用户。

  2. 配置一级审批人为【编制人】;该节点使用【自动同意】方式,并通过辅助工作流和数据流完成当前任务,用于演示固定“审批人=发起人”的场景。

  3. 在二级审批前增加排他判断,比较【二级审批人】与【编制人】:相等时进入配置了自动完成能力的二级审批节点,不相等时进入普通二级审批节点。

  4. 在三级审批前增加排他判断,比较【三级审批人】与【编制人】:相等时直接连接到四级审批,实现自动跳过;不相等时进入普通三级审批节点。

  5. 四级审批固定由其他用户处理,用于验证“审批人≠发起人”时仍会正常产生人工待办。

  6. 对每个实际进入的审批节点保留审批结果判断;同意后继续流转,拒绝或驳回按原业务路径返回指定节点。

DEMO 验证方式:

  1. 使用当前用户发起流程,此时【编制人】与流程发起人相同。

  2. 一级审批固定等于【编制人】,流程会自动同意并继续流转。

  3. 二级审批选择当前用户时会自动同意;选择其他用户时会停留在二级审批,等待该用户处理。

  4. 三级审批选择当前用户时会直接跳过;选择其他用户时会创建三级审批待办。

  5. 四级审批人为其他用户,流程应停留在四级审批,等待人工处理。

注意事项:

  • 判断审批人是否相同时,应使用用户唯一标识,不要使用可能重名或发生变化的用户名称。

  • 审批人为空、失效或无法解析时,不应按“等于发起人”处理;应进入异常处理或人工兜底路径。

  • 【自动同意】依赖任务创建后的自动完成处理,并非页面点击后的绝对实时动作,短时间看到待办属于正常现象。

  • 自动完成逻辑应准确限定当前流程实例和当前任务,并做好重复调用保护,避免误完成其他任务。

  • 选择【自动同意】还是【自动跳过】,应以是否需要保留该节点的审计记录为准。

回到顶部

咨询热线

400-821-9199