maestro
latest
false
重要 :
新发布内容的本地化可能需要 1-2 周的时间才能完成。
UiPath logo, featuring letters U and I in white

Maestro 用户指南

上次更新日期 2025年11月21日

子流程

概述

子流程是其他任务和子流程的集合,有助于将复杂流程分解为更易于管理和导航的多个部分。
备注:
  • 当您需要在同一项目或一个单独项目中使用其他流程时,请选择“调用”活动。此类具有独立值的智能体流程既可以作为独立流程调用,也可以由其他流程调用,从而自动触发新实例的创建。
  • 在需要封装特定逻辑时使用子流程,从而简化父流程。作为同一实例的固有部分,子流程有助于简化整个编排过程。

有关 BPMN 支持的其他详细信息,请参阅“流程建模”。



在子流程之间传递和访问变量

子流程封装可重用的逻辑,但它们通常需要与父流程或其他子流程交换数据。Maestro 就变量的作用域和传递方式提供了明确的规则,以便您的数据在各个级别保持一致。



访问子流程中的输入

要访问同一子流程中先前活动的输出,无需额外配置。

示例:如果活动 foo 设置了名为 foo_op 的输出变量,并且同一子流程中存在后续活动 barbar 可以直接引用 foo_op

关键规则:活动中定义的变量可以被同一子流程中的任何下游活动访问,包括嵌套元素。您需将其明确传递为子流程的输入。

公开子流程的输出

当父流程需要访问嵌套子流程中一个活动的输出数据时,您可以使用两种方法的其中之一公开该数据。

方法 1:使用输出变量
  1. 在内部子流程中,定义一个输出变量(例如 inner_sp_op),并为其分配内部活动输出值 (bar_op)。
  2. 在外部子流程(或父流程)中,定义另一个输出变量(例如 outer_sp_op),并为其分配内部子流程输出值 (inner_sp_op)。
  3. 现在,父流程中的下游活动(例如 qux)可以引用 outer_sp_op
方法 2:使用结束事件变量
  1. 在内部子流程中,配置结束事件,以声明输出变量(例如 ee_inner_op),并为其分配 bar_op 的值。
  2. 在外部子流程中,配置相应的结束事件,以声明输出变量(例如 ee_outer_op),并为其分配 ee_inner_op 的值。
  3. 现在,父流程中的活动 qux 可以引用 ee_outer_op
提示:结束事件变量会自动传播到父作用域,无需单独配置输出变量。

检查子流程变量

您可以在设计期间(通过调试 API)或运行期间(通过实例 API)检查变量值,以验证作用域和数据传输。

调试 API - 查看变量
GET /v1/debug-instances/{instanceId}/variables?parentElementId=outer_subprocessGET /v1/debug-instances/{instanceId}/variables?parentElementId=outer_subprocess
可用变量:
  • foo_op
  • inner_subprocess_op
  • ee_outer_op
GET /v1/debug-instances/{instanceId}/variables?parentElementId=inner_subprocessGET /v1/debug-instances/{instanceId}/variables?parentElementId=inner_subprocess
可用变量
  • bar_op
  • ee_inner_op
运行时 API – 查看变量
GET /v1/instances/{instanceId}/variables?parentElementId=outer_subprocessGET /v1/instances/{instanceId}/variables?parentElementId=outer_subprocess
可用变量
  • foo_op
  • inner_subprocess_op
  • ee_outer_op
GET /v1/instances/{instanceId}/variables?parentElementId=inner_subprocessGET /v1/instances/{instanceId}/variables?parentElementId=inner_subprocess
可用变量
  • bar_op
  • ee_inner_op

多实例标记

子流程支持多实例标记,其中每个元素都会执行多次。除了子流程以外,可以标记为多实例的元素都是任务类型。

嵌套标记

支持将以下字符串变量字符串作为嵌套迭代器:
类别属性如何使用/访问
OuterSP - 获取每个用户的联系信息 InputCollectionvar.GetUsers
OuterSP - 获取每个用户的联系信息 迭代器项目iterator.item.gid
InnerSP - 获取每个联系人的所有电子邮件 InputCollectioniterator[0].item.contactArray
InnerSP - 获取每个联系人的所有电子邮件 迭代器项目iterator[1].item.ContactId
发送电子邮件InputCollectioniterator[1].item.EmailArray
发送电子邮件迭代器项目iterator[2]item.emailAddress

此页面有帮助吗?

获取您需要的帮助
了解 RPA - 自动化课程
UiPath Community 论坛
Uipath Logo
信任与安全
© 2005-2025 UiPath。保留所有权利。