自定义流程函数
功能说明
平台默认提供的流程函数都是单个的原子函数,对于需要多个函数联合使用需要每次都手动设置,通过自定义函数可以组合原子函数,使用时可以直接选择需要的复合函数。
实现原理
通过自定义流程函数,可以配置哪些原子函数(原子函数不够可以用自定服务函数扩展)组合进入可视化配置。
原子函数必须是默认提供的流程函数。
具体使用
在工作流应用中提供的“自定义流程函数”功能,在此功能中可以创建函数,目前支持了执行者和子流程两类函数的创建。
执行者函数会在设置处理人的函数列表中显示,子流程函数在动态子流程函数中显示。
如下把“流程发起人的主管”这个执行者类型的复合表达式创建为可以配置的表单式
名称设置为:流程发起人的主管
函数类型为:执行者函数
函数模版:findDirectorWF(firstOrgUnitFID(findActivityExecutor('START')), {level})
函数模版就是最终需要的多个原子函数的组合函数,如果原子函数中有参数需要设置,在函数模版中通过{}设置参数,如上{level},然后在添加参数列表中添加参数
点击“添加参数”弹出的“函数参数”对话框设置参数的类型、默认值、编辑器等
参数类型有“文本、数字和布尔”三个选项,如本案例中的level参数就是数字类型的。
参数编辑器有“组织选择器、表单选择器、环节选择器、角色选择器、枚举、输入”
组织选择器:在流程定义中设置此参数值时可以直接打开组织树进行选择
表单选择器:在流程定义中设置此参数值时可以直接列出当前流程定义关联的业务数据集的字段进行选择
环节选择器:在流程定义中设置此参数值时可以直接列出当前流程定义中的环节列表进行选择
角色选择器:在流程定义中设置此参数值时可以直接打开已有的角色列表进行选择
组织类型选择器:在流程定义中设置此参数值时可以直接打开组织类型列表进行选择
枚举:在流程定义中设置此参数值时可以在函数定义中枚举的值进行选择
输入:在流程定义中设置此参数值时需要自己手动输入
如本例中level设置参数编辑器为枚举,在枚举列表中添加要选择的值
参数定义完成后就相当于复合函数已经定义完成,在ide中、流程定义和流程定制中设置流程表达式时都可以读取到自定义函数