前言
项目中业务需要会签功能,而项目使用的工作流是camunda,网上配置多实例资料偏少,官网也没有找到,又加上bpmnjs配置面板上关于多实例部门有没有汉化,一寻思,既然camunda是从activiti拉出来的分支,那直接查了activiti的资料也行呀,下面的配置说明只是我用到的分部。
配置说明
多实例包含的默认变量
可以通过execution.getVariable(key)方法获取:
nrOfInstances:创建的实例总数
nrOfActiveInstances**:**当前活动的实例数,针对顺序类型的多实例,该变量值等于1
nrOfCompletedInstances:已执行实例数
loopCounter:表示多实例流程循环的下标
循环基数(Loop Cardinality)
定义多实例生成的实例数。当结合集合方式生成多实例时,该基数只能小于或等于集合的size,否则执行过程中将发生系统错误 NoSuchElementException;当基数小于集合的size时,则按照集合中元素的顺序生成等于基数指定数量的实例。如果不配合使用集合方式,也可以直接指定基数,则系统会同时生成指定数量的相同实例。
集合(Collection)
设置的是存储办理人员集合的变量名,注意:此处不需要${},并且 变量的值必须是 Collection的子类,即List、Set等
元素变量(Element variable)
设置的是集合(Collection)每遍历一次设置的变量值的变量名,即迭代集合时存储集合里面单个元素的变量名,集合遍历时会根据内容创建任务
完成条件(Completion Condition)
是一个表达式,如果返回值为true则该多实例自动结束。例如 ${nrOfCompletedInstances/nrOfInstances >= 0.6 }
只要所有流程实例完成了60%即该多实例任务结束。
我的配置
整合转载: