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

Maestro 用户指南

上次更新日期 2025年10月4日

跨子流程访问变量

在 Maestro 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
  • 访问子流程中的输入
  • 公开子流程的输出
  • 检查子流程变量

此页面有帮助吗?

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