节点类型:子流程

小明 发表于:2020年06月14日 22:06:09更新于:2020年07月07日 17:49:30

  • 当流程中需要处理的批量数据太多(超过100条),则可以通过子流程处理,子流程可批量处理的数据量为1万行以内。

  • 当一个流程是可复用流程时,可以配置为子流程,这样,其他工作流就可以直接引用它减少重复的配置工作。

    例如,一个报销审批流程,  可以在新增记录时触发,也可以先保存为草稿,后面再点击按钮触发。虽然触发方式不同,但是审批流程确实相同的,因此可以将开始审批的流程作为子流程,当作通用流程,无论是新增记录还是点击按钮触发,直接执行此流程即可。

传给子流程的数据可以是单条记录,也可以多条表记录或多行数据(Wehook、代码块的数组,人工节点的操作详情)

场景举例

示例一:可重复使用的流程如何作为子流程被复用  

新增记录时触发审批流程,点击按钮时也出发审批流程,如何配置子流程。

1、新增记录时,只需配置触发器节点,第二个节点即可直接添加一个子流程 


image.png

A: 选择 将哪个节点对象记录的数据 传给 子流程

B:点击下方的 保存按钮后,会自动生成一个 子流程。

C:如果勾选, 那么会等待子流程执行完毕后,才会执行后面的节点(发送站内通知);如果不勾选, 那么子流程和后续的节点同时进行,子流程的执行结果对当前流程没有任何影响了。

 2、进入子流程

image.png

3、配置子流程 

将审批的全流程配置在此流程中, 最后发布流程。

image.png

4、自定义动作的流程,如何引用 已经建好的流程。

在按钮点击触发后,直接添加子流程节点,选择 已有的子流程 即可。

image.png

Tips 

  • 选择子流程时,  只能选择  【子流程】类型,  不能选择  工作表时间触发、按日期字段触发、定时触发、Webhook触发和自定义按钮触发的流程。

image.png

  • 子流程不能 独立创建,而在主流程中才能创建并使用

  • 工作流消耗次数: 根据示例的流程配置,主流程执行1次,子流程执行1次 ,共消耗2次。

示例二 、 大量数据批量处理  

当项目被标记完成后,将项目所关联的任务 自动标记为 已完成。

当获取到任务 一般小于100个记录时,在当前流程中可以直接进行处理(后面跟更新节点)

image.png

但是,如果获取到的任务大于100,小于1万时,就需要使用子流程了,将批量更新任务状态的功能放在子流程中。 配置如下:

image.png

A: 选择将哪个节点的数据传给子流程 : 这里我们选择的是获取批量数据节点

B: 由于是批量数据源,那么可能会有执行顺序的设定。 

有两种执行方式:

  • 并行    如果这些记录时各自处理各自的内容,则并行即可,当前示例就可以选择并行。

  • 逐条执行   每条子流程需要等前一条子流程通过后再开始触发;如果某条子流程运行终止,则后续的子流程都不再触发。

子流程的配置如下:

0015ee99aa1967ddb85b376a8d45b6e

子流程处理逻辑:

例如,主流程传过来了500条记录, 每条记录都会执行一遍子流程, 即更新自己的任务状态字段,互补影响。 子流程也就执行了500次,消耗500条。

错误配置 :不要再子流程中再重复的使用一次获取批量数据的操作了,这样的话会执行500*500次。


明道云