# 流程开发进阶
# 从视图记录发起流程
在视图中可设置自定义按钮为发起流程,按钮触发代码事件,点击时打开发起流程页面,并将当前行数据传递进流程表单中,方便流程发起。
详细步骤如下:
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
,三个参数皆勾选回填。点击确定,保存流程即完成多子流程多任务配置。