用于在某个节点打开表单、提交表单的时候对业务数据进行赋值
初始化动作不会判断是否已经存在值,均会对字段进行赋值,如果已存在值不希望二次赋值,则需要自行判断!
配置页
提示流程插件中只有节点初始化插件才能更新业务对象的数据,其他时机的修改赋值都是无效的。
初始化节点
必填字段,指定业务数据初始化执行的节点
如果选择“开始节点”则表示在流程启动时执行初始化动作
脚本描述
用于描述该初始化配置,推荐尽量使用简洁语言描述清晰该条配置的功能以及影响
展示前脚本
流程打开表单前执行,如果表单多次打开、则会多次执行,常用于当前用户信息的赋值,
可以使用以下插件变量
task
任务对象(任务节点才有)instance
实例对象(启动时没有)
如: 对当前用户ID、名字赋值、对当前用户的当前组织 字段进行赋值
//展示前初始化一些字段信息(更多方法参考ContextUtil API) |
保存后脚本
流程提交表单后执行,保存草稿、提交任务均会执行,所以在某些场景需要判断提交的动作,或者是否已经存在值(比如启动时不存在bpmTask 可以通过isTask判断),然后再执行赋值动作。
后置脚本可以使用 插件变量( 但是 不支持 variableScope
变量操作)
- 如配置在流程开始节点,初始化订单编号的脚本:
import com.dstz.base.core.util.StringUtil; |
- 某节点,点击同意按钮,更新业务对象某业务字段
if("agree" == actionCmd.getActionName()) { |
提示展示前置脚本与保存后置脚本 是 Groovy 脚本
如果涉及比较多字段的赋值、建议抽出业务脚本来做初始化处理,尽量避免写太多Groovy脚本
这样可以借助IDE的语法检查,也有利于业务逻辑归纳管理