# 启动子流程

在流程设计中,子流程是一种常见的需求,用于将复杂的业务流程拆分为多个独立的子流程。本文将详细介绍如何配置子流程,并说明子流程与主流程之间的数据传递和执行模式。

# 一、 子流程的基本概念

# 什么是子流程?

  • 定义:子流程是一个独立的流程,可以在主流程中被调用和执行。
  • 适用场景:将复杂的业务流程拆分为多个独立的子流程,便于管理和维护。

# 子流程的特点

  • 独立性:子流程可以独立运行,拥有自己的流程逻辑和数据。
  • 数据传递:主流程和子流程之间可以通过参数传递数据。
  • 执行模式:子流程可以是同步(等待子流程完成)或异步(发射后不管)。

# 二、 配置子流程的步骤

# 1. 添加子流程节点

  • 添加任务节点

    • 在流程设计器中,拖拽一个任务节点到画布中。
    • 将任务节点类型改为 调用子流程

    添加任务节点 ▲ 添加任务节点

  • 选择子流程

    • 在节点属性中,选择要调用的子流程。

    选择子流程 ▲ 选择子流程

# 2. 传递数据到子流程

  1. 进入呼叫子流程页签

    • 在节点属性中,进入 呼叫子流程 页签。
  2. 连线表单数据

    • 将主流程的表单数据与子流程的参数连线。

    传递数据到子流程 ▲ 传递数据到子流程

# 3. 指定子流程发起人

  1. 进入子流程发起人页签

    • 在节点属性中,进入 子流程发起人 页签。
  2. 设置发起人

    • 选择表单内的账号或角色(如采购专员)作为子流程的发起人。

    指定子流程发起人 ▲ 指定子流程发起人

# 4. 记录子流程 ID

  1. 进入子流程创建页签

    • 在节点属性中,进入 子流程创建 页签。
  2. 连线子流程 ID

    • 将子流程的 ID 连线到主流程的表单字段上。

    记录子流程 ID ▲ 记录子流程 ID

# 5. 回填子流程数据

  1. 进入子流程结束页签

    • 在节点属性中,进入 子流程结束 页签。
  2. 连线子流程数据

    • 将子流程的表单数据连线到主流程的表单字段上。

    回填子流程数据 ▲ 回填子流程数据

# 6. 设置执行模式

  1. 进入常规页签

    • 在节点属性中,进入 常规 页签。
  2. 选择同步/异步

    • 勾选 同步:主流程等待子流程完成后再继续。
    • 不勾选 同步:主流程和子流程各自独立运行。

    设置执行模式 ▲ 设置执行模式

# 7. 发起多个子流程

  1. 进入子流程发起人页签

    • 在节点属性中,进入 子流程发起人 页签。
  2. 设置多个发起人

    • 选择包含多个人的角色(例如“保安巡检组”)。
    • 选择 为列表中的所有人发起流程

    发起多个子流程 ▲ 发起多个子流程

# 三、 子流程的总结

# 数据传递的三个阶段

  1. 发起时:主流程向子流程传递数据。
  2. 发起后:子流程立即向主流程传递数据(例如子流程 ID)。
  3. 审结时:子流程向主流程回填数据(例如签核意见)。

# 执行模式

  • 同步:主流程等待子流程完成后再继续。
  • 异步:主流程和子流程各自独立运行。

# 发起多个子流程

  • 通过设置多个发起人或包含多个人的角色,可以一次发起多个子流程。

# 四、 示例场景

# 场景 1:同步子流程

  • 需求:主流程需要等待子流程完成后才能继续。
  • 设置
    1. 在子流程节点的 常规 页签中,勾选 同步
    2. 配置数据传递和回填。

# 场景 2:异步子流程

  • 需求:主流程和子流程各自独立运行。
  • 设置
    1. 在子流程节点的 常规 页签中,不勾选 同步
    2. 配置数据传递和回填。

# 场景 3:发起多个子流程

  • 需求:一次发起多个子流程。
  • 设置
    1. 在子流程节点的 子流程发起人 页签中,选择包含多个人的角色。
    2. 选择 为列表中的所有人发起流程

# 五、 总结

  • 子流程:用于将复杂的业务流程拆分为多个独立的子流程。
  • 数据传递:主流程和子流程之间可以通过参数传递数据。
  • 执行模式:子流程可以是同步或异步。
  • 发起多个子流程:通过设置多个发起人或角色,可以一次发起多个子流程。

通过熟练掌握子流程的配置方法,可以灵活设计流程,满足复杂的业务需求。