# 流程开发进阶

# 从视图记录发起流程

在视图中可设置自定义按钮为发起流程,按钮触发代码事件,点击时打开发起流程页面,并将当前行数据传递进流程表单中,方便流程发起。

详细步骤如下:

1.视图设置中点击动作设置,行内操作中添加自定义按钮

2.编辑自定义按钮,动作中点击执行代码,使用代码助手,点击打开流程,选择你当前表单所绑定的流程,点击插入代码,即可看到打开流程的js方法插入代码块中。

3.修改自动生成的代码块,在代码块上一行创建一个pkId(固定)字符串,并赋值:

let pkId = formData.id

formData为当前行数据的对象实体。完整如下图:

# 多子流程多任务

多子流程场景为父流程中选配子流程发起人,传递参数进入子流程并同时发起多条子流程。

详细步骤如下:

1.父表单引入人员选择组件,并绑定实体字段,打开人员选择组件多选;高级中打开流程参与者按钮,点击右侧xpath链接将xpath复制粘贴板中。

2.创建子流程,双击流程页面空白处,打开属性设置,点击流程参数tab页,设置流程参数

如上图所示,id为父流程中所传递的父流程表单实体主键id,__bfp_entity为父流程中表单的formData对象实体,user为父流程中所选参与者对象,参数类型为com.eos.workflow.omservice.WFParticipant

双击打开流程发起环节人工活动,点击参与者tab页,选择相关数据选项,输入流程参数user作为发起环节参与者。点击确认,保存流程即完成子流程配置。

3.创建父流程,双击流程空白处,点击相关数据tab页,添加相关数据,将父流程表单中复制的xpath值粘贴在相关数据名称中,类型为string

点击确认,双击子流程组件打开子流程配置,点击子流程策略配置tab页,选择启动多子流程策略,被迭代元素输入框中粘贴进父流程表单中的xpath值,迭代元素可自定义,这里定义为p。切换至子流程参数配置页,选择刚刚创建的子流程,为子流程配置参数,子流程中的id赋值当前表单实体中id值,用__bfp_entity/id表示(__bfp_entity即为表单中的formData),子流程中的__bfp_entity赋值为__bfp_entity,子流程中参数user的值为p,三个参数皆勾选回填。点击确定,保存流程即完成多子流程多任务配置。

上次更新: 2023/3/20下午4:08:04