流程定义
进行流程定义、关联业务配置、流程变量等设置。
1. 功能介绍
V-AppBase配置流程业务,有2种方式:
(1)流程定义配置流程
(2)流程应用配置流程
因此,流程定义是配置流程管理过程中必须的步骤。
2. 流程定义
根据业务需求,定义流程目录、新增流程、导入导出流程等。
(1)选择对应的流程目录,点击“新增流程”,在编辑窗体中,输入流程基本信息,保存即可。
(2)首次新增流程,会直接跳转到【流程定义】页面,可进行了流程修改、删除、活动定义、启用、存为模版等操作。
注意:如果流程已创建了流程实例,将不允许删除。
(3)在流程定义页面,可以进行流程复制、批量启用/停用、调整目录,导入/导出操作。
在新服务中,若不想重新定义流程相关信息,可以将旧服务中流程数据导出,在新服务中导入即可。
活动定义,主要设计流程图,并且定义相关活动节点的属性。
活动定义页面,通过图形化的控件,根据业务需求制作流程图。
注意:任何流程图必须同时包含开始和结束环节,若使用分支和汇聚节点,也是成对使用。
下面将简单讲解流程图的制作步骤:
(1)拖拽流程节点控件
首先,在“活动定义”页面中,拖拽需要的控件到活动定义面板上(右上角)。
下面根据请假申请流程审批要求,依次拖开始、人工1、人工2、判断、结束活动节点到画板中,如下图:
(2)连接节点
将控件拖到活动定义面板后,需要将各节点连接起来。
连接方式:单击需要连接的节点控件,将鼠标移至控件中心,指针变成手指指针👆后,即可按住鼠标左键进行连接。
(3)配置节点信息
每种活动节点都有不同的属性设置,分别如下:
- 开始:包含了基础属性、事件属性和菜单属性,每个流程定义中必须存在的节点。
- 人工:需要用户审批的环节,也是执行人设置的环节。
- 机器:该环节仅有基本属性和事件属性(活动执行前、活动执行后和活动完成后),不需要人工审批,可通过事件控制流程的下一步执行,在配置中,需结合实际的业务场景。
- 判断:主要用于判断,选中分支后,可以进行条件的编辑。
- 分支和汇聚:分支与汇聚需成对使用,一个流程中若使用了分支节点,则必须存在汇聚节点,如上图。
- 子流程:主要用于嵌套另外一个流程,作为本流程的子流程。在配置过程中,又分为静态关联和动态关联。
- 结束:只有活动id和活动名称两个属性,每个流程定义中必须存在的节点。
- 动态关联:在子流程活动执行时通过传入上下文变量调用指定的活动集,通过获取活动集约定的输出变量,在运行期得到主子流程关联数据。
- 静态关联:选定一个流程做为子流程。
活动节点 | 基础属性 |
---|---|
开始 | 活动名称、活动id |
人工 | 活动名称、活动id、活动编号、执行人选择、传阅设置、执行方法 |
机器 | 活动名称、活动id |
判断 | 活动名称、活动id |
分支 | 活动名称、活动id |
汇聚 | 活动名称、活动id |
子流程 | 活动名称、活动id、子流程编码、子流程属性 |
结束 | 活动名称、活动id |
1. 活动编号:一般情况用不到,预留后期使用的字段。
2. 活动名称:该环节名称。
3. 活动id:在流程图面板中,根据拖拽节点到面板的先后顺序产生的id序号。
4. 传阅设置:可设置成手动模式和自动模式,人工环节才有的属性,定义人工节点在审批任务时,进行任务“传阅”的操作,具体使用参考:流程任务。
5. 执行方式:分为单人审批、串行审批和并行审批(默认是单人审批)。人工环节才有的属性,人工在审批待办任务的时,进行任务的“添加环节审批人”操作,具体使用参考:流程任务。
6. 执行人选择:定义该环节的执行人,也就是提交流程后,流程流转到具体活动节点时对应待办任务的执行人。
可以根据业务的实际需求进行节点的配置:
- 选择机构、岗位、职务、用户组类型时,只要准备了基础数据,直接选择即可。基础数据配置具体使用参考案例-请假申请。
- 执行人函数,具体使用参考:执行人设置。
执行人函数释义:
执行人函数 | 释义 |
---|---|
取上一步执行人的直接上级 | 启动环节不能设置此函数。使用该函数应先在“流程高级设置->上下级管理”模块中定义上下级关系。 |
取其他活动的实际执行人 | 该函数需要获取其他活动的实际执行人作为当前活动的执行人,那么需要获取其他活动的ID数据。 指定的活动必须要比当前活动先执行,系统会自动读取指定活动的最近一次实例的实际执行人作为当前活动执行人(可能有多个)。 |
获取其他活动的实际执行人的直接上级 | 获取“其他活动的实际执行人”数据,与“取其他活动的实际执行人”函数配置一样; 然后,在“流程高级设置->上下级管理”中设置层级关系,那么流程提交时会跳转到其他活动的实际执行人的直接上级待办任务中。 |
由外部指定的执行人执行 | 该函数需要和开发平台结合。首先,在开发平台中通过配置业务获取用户的userId数据,并赋值给对应的表单字段; 然后,在流程定义中需要设置流程变量,并且设置流程变量和业务表的映射字段userId; 最后,在流程执行过程中,该环节会流转到对应userId用户的待办任务中。 |
由外部指定的执行人的直接上级执行 | 首先,获取“由外部指定的执行人”数据,与“由外部指定的执行人执行”函数配置获取userId的方式一样; 然后,在“基础设置 → 上下级管理”中设置层级关系,那么流程提交时会跳转到由外部指定的执行人的直接上级待办任务中。 |
活动节点 | 流转属性 |
---|---|
开始 | 对回退单处理 |
人工 | 活动流转属性、活动自循环配置、对回退单处理 |
1. 活动流转属性:指定活动的流转方式。
(1)活动回退配置
回退方式 | 场景 |
---|---|
① 回退到实际运行的上一步骤(回退到实际任务执行人) | 直接回退到上一步,若上一步有多个执行人(例如:并行审批),可勾选回退到实际执行人。 |
② 回退到开始 | 直接回退到开始节点。 |
③ 回退到顶层父节点开始 | 流程嵌套多层子流程时,勾选后,从子流程回退时,将直接回退到最顶层父流程的开始节点。 |
④ 回到到指定活动ID(回退到实际任务执行人) | 直接回退到指定活动节点,若该活动节点有多个执行人(例如:并行审批),可勾选回退到实际执行人。 |
(2)活动流转配置
流转处理方式 | 场景 |
---|---|
① 本活动实例执行人与上一步活动实例执行人为同一人时,自动往下执行 | ABC三个人工环节,A → B → C,B勾选了该属性。当AB 的执行人为同一人时,那么当A提交任务后,流程将略过了B环节,直接流转到C环节。 |
② 本活动实例执行人在已执行的活动实例执行人为同一人时,自动往下执行(可设置判断指定活动ID) | ABCD四个人工环节,C勾选了该属性。当AC 的执行人为同一人时,那么当任务流转到B,提交任务后,流程将略过了C直接流转到D。 |
③ 本活动实例变量直接继承于上一步活动实例变量 | 例如:本步下一步经过配判断节点,而判断条件刚好依赖于上一步提交时的流程变量值,这时需要勾选 |
④ 回退后,重新计算上述自动提交的回溯 | |
⑤ 本活动实例执行人只有1个时,自动往下执行 | ABC三个人工环节,A → B → C,B定义时只有一个执行人并且勾选了该属性。那么当A提交待办任务时,不需要选择下一步执行人,在B中会产生相应的待办任务 |
⑥ 本活动所有待办任务提交时,无需选择下一步执行人,自动往下执行 | ABC三个人工环节,A → B → C,A勾选了该属性。那么当A提交待办任务时,不需要选择下一步执行人,在B中会产生相应的待办任务 |
⑦ 只允许单人执行(自动流转不生效) | 指该审批环节选择执行人时,只能单选(默认多选) |
⑧ 本步活动待办允许批量审批 | 批量审批满足以下条件之一: 1.活动自动流转。 2.下一步有且只有一个活动,并且活动执行人有且只有一个。 |
2.活动自循环配置
人工环节中自循环的设置,可分为:人工判断和表达式自动判断。
假设:开始 → 人工A → 结束,流程单流转到A的待办任务时,若人工A环节设置了“人工判断”的自循环方式,那么在A的执行人张三提交任务时,会提示用户继续自循环,还是执行下一步活动。
①如果选择执行下一步活动,那么直接提交任务,流转到结束节点;
②如果选择自循环,那么A的执行人张三,在该审批环节可选择其他用户继续审批(其他用户作为执行人,在A环节会重复张三的操作,以此类推),直到选择“执行下一步活动”之后才结束流程。
3.对回退单处理
主要针对人工环节中对回退单的处理方式,有三种方式:
事件属性构件方法一起使用,根据实际的业务需求配置对应的业务逻辑和设置该节点需要执行的方法。
各种事件触发点如下:
事件 | 触发点 |
---|---|
活动执行前 | 当用户启动流程后,该事件已触发; |
活动执行后 | 当用户启动流程后,该事件已触发; |
活动完成后 | 活动提交后,该事件触发;比如业务单据中,审批状态等的变更。 |
任务产生后 | 当用户启动流程后,该事件已触发; |
任务取消后 | 在流程监控中,取消该任务之后,该事件触发; |
任务暂停后 | 在流程监控中,暂停该任务之后,该事件触发; |
任务激活后 | 在流程监控中,对已暂停的任务,启动“唤醒”后,该事件触发; |
任务完成后 | 当“人工1”环节审批对应的待办任务后,该事件触发; |
任务暂停后恢复 | 在流程监控中,对已暂停的任务,启动“唤醒”后,该事件触发; |
回退源头执行后 | 回退源头执行后,该事件触发; |
回退目标执行后 | 参考“回退源头执行后”的解释; |
取回源头执行后 | 从已办任务中取回发出的任务后,该事件触发。 |
取回目标执行后 | 参考“取回源头执行后”的解释。 |
上述事件属性中,只针对具体活动节点的事件。对于整个流程级别而言,同样可以设置流程名称、事件、流转属性、菜单属性等。
在实际项目中,事件一般设置在流程事件中,而不是具体活动节点的事件属性中配置。
流程定义好后,需要启用流程,流程才生效。
info
- 启用后,该流程信息不允许修改,活动定义也不允许修改。
- 同时,启用按钮会变成“停用流程”按钮,点击后流程会变成“已停用”状态,这时才可修改流程的相关信息
3. 流程变量
在流程变量中,可以查看对应流程定义在关联业务配置中同步的流程变量,也可以自定义流程变量。
4. 关联业务配置
把“流程定义”中定义好的流程,通过关联业务设置,将流程定义与构件窗体进行关联。
其中,关联窗体作为对应的流程表单,并且结合流程定义中设置的流程变量,与业务主表进行变量映射的配置。
- 关联业务设置与流程定义的操作步骤没有前后之分。
- 若先进行流程定义,那么在流程定义中使用的流程变量,在关联业务设置时需要一一对应(例如:在流程定义中使用了days作为天数的判断条件,那么需要设置days与业务主表中对应的字段进行映射)。
5. 流程菜单
在流程菜单中,可以设置流程环节是否显示对应流程动作,并且设置相关菜单对应的意见。
同样,Vbase支持由用户自定义流程动作。
6. 执行人函数管理
在执行人函数管理中,可以查看系统默认提供的执行人函数。
同样,Vbase支持由用户自定义执行人函数,具体使用参考:自定义执行人函数。