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

Maestro 用户指南

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

子流程

概述

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

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



Passing and accessing variables between subprocesses

Subprocesses encapsulate reusable logic, but they often need to exchange data with the parent process or other subprocesses. Maestro provides clear rules for how variables are scoped and passed so that your data remains consistent across levels.



访问子流程中的输入

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

示例:如果活动 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。保留所有权利。