分支节点
分支节点
分支节点用于控制流程在不同路径之间如何流转。当前常用的分支节点主要有两类:排他分支和并行分支。
排他分支用于“多条路选一条”,并行分支用于“多条路同时走”。

排他分支

排他分支表示流程到达该节点后,会根据条件判断选择其中一条路径继续执行。
它适合处理“根据不同业务情况走不同审批路径”的场景,例如:
-
金额超过一定数值,走财务复核;
-
特定客户,走销售总监审批;
-
特定部门提交,走部门负责人审批;
-
不同单据类型,走不同审批流程。
排他分支的核心特点是:
多条路径中,只会选择一条继续执行。

默认流

排他分支必须设置默认流。
默认流的作用是兜底。当所有条件都不满足时,流程会走默认流继续向下执行。
例如:
-
金额大于
10000,走销售总监审批; -
否则,走默认流,进入普通审批路径。
这里的“否则”就是默认流。
需要注意的是,默认流不是普通条件线,而是没有条件命中时的兜底路径。如果排他分支没有默认流,就可能出现所有条件都不满足,流程不知道下一步去哪的情况。
并行分支
并行分支表示流程到达该节点后,会同时开启多条路径。
它适合处理“多个任务需要同时进行”的场景,例如:
-
销售负责人和售前负责人同时评审;
-
财务和行政同时确认;
-
法务和业务负责人同时审核;
-
多个部门同时完成各自检查。
并行分支的核心特点是:
多条路径会同时执行。
并行拆分和并行汇聚必须成对使用
并行节点通常要成对出现:
-
前面的并行节点负责拆分,把流程拆成多条同时执行的路径;
-
后面的并行节点负责汇聚,等待这些路径全部完成后再继续。
可以理解为:
并行拆出去几条确定会执行的路,后面就要把这些路收回来。
如果只拆分不汇聚,后续流程可能会重复向下执行;如果只汇聚没有对应拆分,流程可能会一直等待。
并行汇聚节点前面不能直接接排他分支的互斥路径。
原因是,排他分支只会选择其中一条路径执行,其他路径不会产生流程 token。
而并行汇聚节点会等待所有进入它的路径都完成。
如果把排他分支的几条互斥路径都接到同一个并行汇聚节点,就会出现:
实际只走了一条路,但并行汇聚还在等待其他没有执行的路。
结果就是流程可能卡在并行汇聚节点,无法继续。
所以:
-
二选一、多选一,用排他分支;
-
多条路同时执行,用并行分支;
-
排他路径不要直接接进并行汇聚节点。