如何用业务流程的方式实现动态流程的效果
应用场景:在单据流程中,一部分审批人固定,一部分审批人不固定的情况。例如:发起人发起流程后,中间审批人的人员以及审批人个数都不固定,但中间审批人审批完成之后,后续的流程都是给上级领导审批。
实现方式:
一、模板设计
1、数据项设计:
主键(单据主键,后续流转需要用到,根据实际需求设计)
选择审批人(填写规范调用未禁用用户列表,勾选可多选,可以一次选择多个审批人)
当前序号(辅助字段,如不需要可隐藏,定义数据类型为整数)
当前执行人(辅助字段,如不需要可隐藏)
总行数(辅助字段,总执行人数,如不需要可隐藏,定义数据类型为整数)
执行人明细(辅助明细表,运行时可隐藏,包含两个字段,分别是序号以及执行人,序号定义数据类型为整数)
2、数据接口设计:
数据接口1:统计行数,数据项包含明细表中的账号,调用计数函数对账号进行计数,设置一个参数为单据主键,使用单据主键进行过滤
数据接口2:当前执行人,数据项包含明细表中的账号以及序号,过滤参数设置两个,分别是单据主键以及明细的序号
3、填表公式设计:
填表公式1:在表单激活下面设置填表公式,选择控件属性设置,设置表格2的可视化为常量.否
填表公式2:设置值变化事件下面的填表公式,值变化数据项为明细的账号,添加保存公式
填表公式3:设置值变化事件下面的填表公式,值变化数据项为选择审批人,调用文本列表函数,对明细进行插入操作,勾选插入时删除所有行
4、业务公式设计:在保存表单后事件中,设置新建时和更新时下面的公式,对本表单进行更新操作,匹配条件为单据主键,调用数据接口1,对总行数进行赋值接口中的账号字段,绑定参数为单据主键
二、流程设计
1、流程图如下:
2、流程内公式设计:
a、在流程开始节点,设置业务公式,目标模板为单据模板,调取数据接口2,绑定参数为单据主键,序号参数写1即可
b、在循环节点,在任务完成时节点设置公式,目标模板为单据模板,
情况1:对序号进行赋值,赋值为本表单.当前序号+1;(这一步为判断使用,对序号赋值,当前公式运行结果需要通过接口才能取出,所以下一个公式运行时,不会获取当前公式运行结果)
情况2:调取数据接口2,绑定参数为单据主键,需要参数为本表单.当前序号+1,对当前执行人以及当前序号赋值为接口中的账号以及序号
3、流程变量设计:
流程变量1:在开始节点设计一个流程变量,为总执行人,赋值为单据模板的总行数字段
流程变量2:在循环节点设计一个流程变量,为已执行人,赋值为单据模板的当前序号字段
4、判断条件设计
判断条件1:流程变量.总执行人>=流程变量.已执行人,则继续进行循环任务
判断条件2:流程变量.总执行人<流程变量.已执行人,则往后进行审批任务
5、其他设计:
单据其他字段、审批人、任务类型、退回节点等等按需设计即可。
页:
[1]