# 1 单工作项
默认情况下一个人工活动的活动实例会产生一个工作项。如果这个工作项的参与者是多个人的话,则是这几个人共同完成此工作项,只要一个人完成即可。
# 1.1 任务多参与者分配

在但工作项多参与者情况下,我们提供了多参与者任务分配策略,具体策略介绍如下:
领取方式 | 描述 |
---|---|
用户领取 | 参与者列表中用户都会看到该任务,只有一个人能够领取 |
随机分配 | 任务会随机分配给参与者列表的某一个人,只有该人员能看到和领取 |
顺序分配 | 参与者列表中的人员按照顺序自动领取任务,例如张三、李四两人,流程实例1张三领取了,流程实例2就会分配给李四,流程实例3又会分配给张三。 |
注:多参与者分配策略不能和多工作项功能同时使用。
# 2 多工作项
多工作项必须和参与者结合起来使用,默认情况下一个人工活动的活动实例会产生一个工作项。如果启用多工作项,则流程引擎会为该活动实例创建多个工作项。用户可以设置多工作项的个数、分配方式及完成规则。
# 2.1 多工作项完成策略
完成策略是指在同一个人工活动实例所产生的多个工作项中,设置需要完成多少个工作项时该活动实例才完成的规则。共有三种规则,只能选取其中一种。
# 2.1.1 全部完成
当一个人工活动实例所产生的所有工作项都完成时,该活动实例才完成。
# 2.1.2 完成个数
当一个人工活动实例所产生的所有工作项中,有设定数目的工作项完成时,该活动实例才完成。
# 2.1.3 完成百分比
当一个人工活动实例所产生的所有工作项中,有设定比例的工作项完成时,该活动实例才完成。
# 2.1.4 未完成工作项自动终止
这是针对第2和第3两种完成规则的一项配置,单选"是"或"否"。
- 是:当活动实例结束时,流程引擎对于剩余未完成的工作项做"停止"处理。
- 否:当活动实例结束时,剩余未完成的工作项仍然处于"运行"状态。此时无论是否处理这些工作项,对运行的流程实例都不会造成任何影响,只有当流程实例结束时,引擎才会将这些工作项终止 。
# 2.2 多工作项分配策略
分配策略是指流程引擎根据所设置的人工活动的参与者来分配工作项的策略。
# 2.2.1 按参与者设置个数领取工作项
根据该活动的参与者个数产生相应数量的工作项。如果参与者设置了多个,比如设置了一个人员a和设置了一个机构a作为该活动的参与者,那么参与者就是2个,如果选择了按照参与者个数领取工作项,则该活动被启动后会产生两个工作项,一个分配给人员a,另外一个分配给机构a。
# 2.2.2 按操作员个数分配工作项
根据参与者中的人员个数产生工作项,比如设置了一个人员a以及一个机构a作为该活动的参与者,该机构a下有5个人员并且这个5个人中不包含人员a,那么当该活动被启动时会产生6个工作项,这6个人都可以去领取任务。但是如果机构a下面包含人员a,则只会产生5个工作项。
# 2.2.3 按变量迭代创建工作项
根据相关数据设定的数据产生多个工作项。
- 被迭代元素:可填写相关数据的XPath,要求所表示的相关数据对象为数组或java.util.List对象。
- 迭代变量:为被迭代元素中每个迭代对象配置一个变量名。该变量名可在以下地方使用:
- 在"参与者"Tab页的"相关数据"中使用:如果在此处使用了迭代变量,则会循环每个迭代对象,并得到每个迭代对象对应的参与者,为所有计算出的参与者创建工作项。如果此处没使用迭代变量,则产生的多工作项个数等于被迭代元素的长度。
- 在"引擎事件"Tab页,类型为"工作项创建后的"触发事件中使用。
# 2.2.4 顺序执行工作项
当开启顺序执行工作项后,流程引擎每次只会创建一个工作项,等前一个工作项完成后,才会创建下一个工作项;在未开启顺序执行工作项的情况下,一次性创建所有的工作项。
# 3 表单
# 3.1 低开表单
双击"人工活动"图元,弹出"人工活动属性设置"对话框,点击"表单"Tab页,即显示表单设置页面。 表单是环节参与者参与处理的业务内容,该表单可以选择在线表单,URL。
URL为自定义URL。

在线表单是在构建包中创建的表单。

# 3.1.1 表单状态
选中表单后,可以修改表单的操作状态。 状态有以下几种:
状态 | 说明 |
---|---|
create | 表单创建状态 |
edit | 表单编辑状态 |
view | 表单查看状态 |

# 3.1.2 表单参数
pkId和pkId_path作为业务主键的直接和间接指引,场景多用于查询业务表数据或者根据业务主键查询相应流程实例相关信息。具体使用请参考低开表单参数
参数 | 解释 |
---|---|
pkid | pkId的使用在发起暂存配置保存进业务表中章节中有讲解,用于在业务数据列表中针对某一行数据做发起、查看已发起的流程视图等场景。 |
pkpath | pkId_path的值是业务主键在相关数据中的key,使用场景多在父子流程之间业务数据的传递。以下将从父子流程同表单场景和父子流程非同表单场景下讲解。 |
# 3.2 高开表单
使用微前端项目进行高开表单的开发和测试使用。详情查看高开表单开发
# 3.3 外部url
三方应用开发部署完成后提供具体三方表单页面url,流程引擎中创建流程环节绑定对应url以实现表单数据三方保存场景。参阅三方应用开发
# 3.4 多表单
多表单流程主要是指流程审批时,根据场景需要在不同的节点填写不同的表单,流程里的活动创建后默认使用流程表单(主表单),活动的表单可以修改。具体使用案例可参考参阅流程多表单。
注:流程绑定的主表单实体在发起流程后会存入相关数据,key为__bfp_entity。 使用多表单时,子表单存在相关数据中的key将是__bfp_entity_{entityName},其中entityName为实体名称。例:子表单绑定实体名称为:zhaoel.demo1.llStudent,则存在相关数据的key就是__bfp_entity_zhaoel.demo1.llStudent。