1.业务场景

在流程审批过程中,有时需要启动子流程,我们可以在流程任务创建时,完成时,或者流程结束时,可以启动子流程。而且我们可以在启动流程时,可以将表单数据传递到子流程。

表单数据支持两种方式传递:

  • 启动一个子流程
    这种情况一般时,单据实现数据拷贝。
  • 启动多个流程
    这种情况时子表对应子流程的主表启动流程,会根据子表的数据启动多个流程

2. 操作步骤

2.1 启动多个流程

比如一个采集信息的流程,子表有多条数据,每条数据启动一个流程。配置方法如下:

这里我们将子流程的主表进行映射,数据可以来自当前流程的主表,当前流程的子表。

我们看到现在有两条子表记录,点击启动后,我们可以看到启动的流程情况。

在启动子流程时,我们还可以设置子流程的条件。

上下文参数为:

参数名 参数说明
vars 流程变量
row 当前子表的一行数据
data 整个表单数据

data 数据结构如下

比如只有数量大于3的才能启动流程。

int amount=row.getInteger("amount");
return amount>=3;

2.2 启动一个子流程

映射规则:

  • 主表对主表
  • 子表对子表
  • 主表对子表字段

我们也可以设置条件脚本,脚本上下文为:

参数名 参数说明
vars 流程变量
data 整个表单数据
文档更新时间: 2022-09-08 11:18   作者:zyg