跳到主要内容

工作流节点--子流程节点


使用子流程的场景

  • 同一数据表,通过不同方式触发相同业务逻辑

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

  • 批量处理数据超过100条时,使用子流程

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

  • 批量处理数据时,需要根据数据内容走不同的分支逻辑

    从外部获取到50条数据,有的数据工作表里没有需要新增,有的数据已经存在只需要更新。此时不能直接使用更新节点批量更新,而是将多条数据传给子流程,在子流程中先查找是否存在,然后进行新增或更新的处理。

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

场景举例

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

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

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

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

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

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

  • 2、进入子流程

  • 3、配置子流程 

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

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

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

Tips 

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

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

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

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

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

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

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

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

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

有两种执行方式:

  • 并行  如果这些记录是各自处理各自的内容,则并行即可,当前示例就可以选择并行。
  • 逐条执行 每条子流程需要等前一条子流程通过后再开始触发;如果某条子流程运行终止,则后续的子流程都不再执行。

子流程的配置如下:

子流程处理逻辑:

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


文档问题反馈

文档中是否有错别字、内容过期、难以理解等问题? 点此给我们反馈吧