页面树结构
转至元数据结尾
转至元数据起始

子流程实例启动数量约束设置项决定了子流程的实例数与实例的发起人是谁。当选择【按首节点用户数发起】时,子流程的首个节点有多少个处理人就发起多少个子流程实例,每个处理人是对应实例的发起人;当选择【按首节点用户组发起】时,先计算出首点节的所有处理人所属的用户组的总组数,根据总组数发起子流程,每个用户组是对应实例的发起人,同一个组的处理人被分在同一个实例中。

示例演示

子流程按首节点用户数发起


如果子流程按首节点用户数发起,首节点的每个处理人存在各自的流程实例中,是互不干扰的,此时流程实例的隔离单位是【用户】。

由于每个处理人处于各自的流程实例中,对于每个流程实例来说,首节点的处理人就只有发起人本身,所以首节点的多处理人流转方式是不起效的。只要首节点处理人提交待办,自己的实例就会流向下一个节点,而没有提交待办的流程实例仍处于首节点

流程定义

新建流程“员工请假示例”,使用报表“员工请假表”,拖入子流程,在子流程中追加“用户任务节点”:子流程A和子流程B;子流程后追加“用户任务节点”:父流程A。


节点设置

子流程:

子流程实例启动数量约束:按首节点用户数发起

子流程A:

处理人:王组长、李组长;

多处理人流转方式:会签;


子流程B:

处理人:陈组长、赵组长;

多处理人流转方式:会签;


父流程A:

处理人:管理员;


流程流转

(1)小张发起流程后,流程流向子流程;根据首节点(子流程A)的处理人是王组长、李组长,则共发起两个子流程实例。

子流程实例1:

发起人:王组长;

子流程A处理人:王组长;

子流程B处理人:陈组长、赵组长;


子流程实例2:

发起人:李组长;

子流程A处理人:李组长;

子流程B处理人:陈组长、赵组长;

(2)王组长、李组长分别接收到对应的代办。

(3)王组长审批代办后,王组长的流程实例流向子流程B,陈组长、赵组长收到代办;当前处理人为李组长、陈组长、赵组长。

(4)陈组长、赵组长审批代办后,王组长的流程实例(子流程实例1)结束。

(5)由于李组长还未审批,流程仍处于子流程A环节,当前处理人为李组长。

(6)李组长审批代办后,李组长的流程实例流向子流程B,陈组长、赵组长收到代办;

(7)陈组长、赵组长审批代办后,李组长的流程实例(子流程实例2)结束;至此子流程结束,返回父流程,流程流向父流程A。

(8)管理员审批代办后,父流程A结束,员工请假示例流程完成。


子流程按首节点用户组数发起


如果子流程按首节点用户组数发起,处于同一个用户组的处理人在同一个流程实例中。不同用户组的处理人的流程实例是互不干扰的,此时流程实例的隔离单位是【用户组】。

由于同一个用户组的用户处于同一个流程实例中,首节点的处理人就是同一个组的用户,所以首节点设置会签时,当同一个组的处理人都提交待办,该流程实例流向下一个节点。而没有提交全部待办的组的流程实例仍处于首节点。

用户组织架构

流程定义

新建流程“经费申请示例”,使用报表“经费申请表”,拖入子流程,在子流程中追加“用户任务节点”:子流程A和子流程B;子流程后追加“用户任务节点”:父流程A。

节点设置

子流程:

子流程实例启动数量约束:按首节点用户组数发起

子流程A:

处理人:王组长、李组长(B组);陈组长、赵组长(C组);

多处理人流转方式:会签;

子流程B:

处理人:邓组长;

多处理人流转方式:会签;

父流程A:

处理人:管理员;


流程流转

(1)小张发起流程后,流程流向子流程,首节点(子流程A)的处理人分别处于B组、C组;用户组数为2,则共发起两个子流程实例。

子流程实例1:

发起人:B组;

子流程A处理人:王组长、李组长;

子流程B处理人:邓组长;


子流程实例2:

发起人:C组;

子流程A处理人:陈组长、赵组长;

子流程B处理人:邓组长;

(2)王组长、李组长、陈组长、赵组长同时收到代办。

(3)王组长、李组长审批代办后,子流程实例1中的子流程A完成,流向子流程B,邓组长收到代办;子流程实例2未开始,当前处理人为:邓组长、陈组长、赵组长。

(4)邓组长审批代办后,B组的流程实例(子流程实例1)结束。

(5)由于子流程实例2未开始,流程仍处于子流程A环节,当前处理人为:陈组长、赵组长。

(6)陈组长、赵组长审批后,子流程实例2中的子流程A完成,流向子流程B,邓组长再次收到代办。

(7)邓组长审批代办后,C组的流程实例(子流程实例2)结束;至此子流程结束,返回父流程,流程流向父流程A。

(8)管理员审批代办后,父流程A结束,员工请假示例流程完成。

示例中流程的发起及审核具体操作,可参见:使用流程

  • 无标签