工作流节点--子流程节点
使用子流程的场景
-
同一数据表,通过不同方式触发相同业务逻辑
例如,一个报销审批流程,新增记录时触发审批流,也可以先保存为草稿,后面再点击按钮触发审批流程。虽然触发方式不同,但是审批流程相同的,因此可以将开始审批的流程作为子流程,当作通用流程,无论是新增记录还是点击按钮触发,都可以直接调用子流程,开始审批。
-
批量处理数据超过100条时,使用子流程
当流程中需要处理的批量数据太多(超过100条),则可以通过子流程处理,子流程可批量处理的工作表数据量为100万行以内。
-
批量处理数据时,需要根据数据内容走不同的分支逻辑
例如从外部获取到50条数据,有的数据工作表里没有需要新增,有的数据已经存在只需要更新。此时不能直接使用更新节点批量更新,而是将多条数据传给子流程,在子流程中先查找是否存在,然后进行新增或更新的处理。
传给子流程的数据可以是单条数据,也可以多条记录或多行数据,单次执行子流程时不计费,即不累加组织内工作流执行次数。
场景举例
示例一:可重复使用的流程如何作为子流程被复用
新增记录时触发审批流程,点击按钮时也触发审批流程,如何配置子流程。
-
1、流程触发后,直接添加一个“子流程”节点
A:选择将哪个节点对象记录的数据传给子流程
B:点击下方的保存按钮后,会自动生成一个子流程。
C:流程参数,向子流程的流程参数传递一个值,供子流程执行时使用。参考流程参数
D:如果勾选"子流程执行完毕后,再开始下一个节点", 那么会等待子流程执行完毕后,才会执行子流程节点后面的节点;如果不勾选,那么子流程和后续的节点同时进行,子流程的执行结果对当前流程没有任何影响了。
F:传递触发者, 勾选"将子流程的触发者设置为本流程的触发者"后,子流程的触发者就等于本流程的触发者;若不勾选,子流程触发者是“工作流”。
-
2、进入子流程
-
3、配置子流程
将审批流程配置在子流程中,最后发布流程。
-
4、自定义动作的触发流程,如何引用已经建好的流程。
在按钮点击触发后,直接添加子流程节点,选择 已有的子流程 即可。
Tips
-
选择子流程时,只能选择【子流程】类型,不能选择工作表时间触发、按日期字段触发、定时触发、Webhook触发和自定义按钮触发的流程。
-
子流程不能独立创建,而在主流程中才能创建并使用
-
工作流消耗次数: 根据示例的流程配 置,主流程执行1次,子流程执行1次 ,共消耗2次。
示例二 、批量数据处理
每天定时清理某个中间表数据,获取表中数据后进行删除。但是如果获取到的记录大于1000时,无法通过"查询并批量删除”节点删除(最大支持1000行)。 此场景需通过子流程逐条删除。如下图:在获取批量数据后,传递给子流程执行。
选择数据对象
选择将哪个节点的数据传给子流程,这里我们选择的是获取多条数据节点。
最大数据上限
当数据源是工作表数据时,会有此配置。
勾选"获取工作表所有记录"后,最大支持获取100万行数据。也可以自定义获取记录的上限,默认5万。
如果数据源不是工作表,如代码块、PBP、发送API请求节点的数组数据,最大接收处理1万行。