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

Maestro 用户指南

上次更新日期 2026年3月13日

子流程与模块化

子流程通过将相关活动分组到单个可重用的结构中,有助于构建清晰的模型。它们有助于降低图表复杂性,分离业务逻辑,并鼓励重用。

在 BPMN 中,子流程既可以内联建模(在同一图表中折叠或展开),也可以建模为可重用的调用活动。

在 Maestro 中:

  • 支持内联子流程(折叠或展开),以便在同一图表中对逻辑进行分组和结构化。
  • 支持调用活动,以便调用单独的智能体流程(项目)。
  • 不支持从同一项目调用不同的 BPMN 文件。对于可重用的跨流程逻辑,请创建一个单独的智能体流程,并使用 “调用”活动来调用。
  • 使用调用活动时,调用流程通过显式定义的参数传递输入并接收输出。

为什么使用调用活动?

调用活动引用在项目或环境中的其他位置定义的子流程。它的行为类似于可重用的函数。 调用活动通过以下方式改进流程建模:

  • 减少图表之间的重复内容
  • 隔离可重用的逻辑(例如,审批、验证、调度)
  • 将主图表保持简洁
  • 支持跨流程变体的一致行为。

如何对子流程进行建模

在 Maestro 中,您可以通过两种方式为子流程建模:

  • 作为内联子流程(在同一图表中折叠或展开)
  • 使用调用活动作为可重用的子流程

为内联子流程建模

要在同一流程实例中对相关步骤进行分组时,请使用内联子流程。

  1. 在 BPMN 图中插入一个“子流程”元素。
  2. 选择是在折叠视图还是展开视图中显示。
  3. 直接在子流程中为内部逻辑建模。
  4. 使用子流程对相关步骤进行分组,同时保持主图的可读性。

内联子流程在同一个流程实例中执行,并共享相同的执行上下文。

Variables in subprocesses

When working with subprocesses, variables behave differently depending on whether the subprocess is collapsed or expanded:

Collapsed subprocesses: Elements inside are hidden, but their output variables are accessible in the parent scope through the variable picker. This allows downstream tasks to reference subprocess outputs without expanding the subprocess.

Expanded subprocesses: All elements and variables are visible. Variables remain scoped to the subprocess level but are still available to parent and sibling scopes.

Moving nodes between scopes: When you move a node containing outputs into or out of a subprocess, Maestro preserves variable IDs and manages scope transitions automatically. Variable references remain valid across scope boundaries, and orphaned entries are automatically removed.

If you encounter validation errors after moving nodes between scopes, use the Fix variables dialog to identify and update any broken references.

使用“调用”活动构建可重用子流程的模型

要在多个流程之间重用逻辑时,请使用“调用活动”。

  1. 创建一个包含可重用逻辑的单独智能体流程(项目)
  2. 在父图表中,插入一个“调用活动”
  3. 选择要调用的目标智能体流程。
  4. 配置输入和输出变量,以便在父流程和被调用流程之间交换数据。

调用活动调用单独的智能体流程实例。数据必须在父流程和被调用流程之间显式映射。

建模示例

用例:入职/入驻工作流在员工入职和供应商入驻流程中使用相同的Collect Documents子流程。为避免步骤重复,将在每个父流程中添加引用同一个子流程的调用活动。

子流程示例

用例:此子流程示例展示了 Maestro 中的条件文件下载和上传工作流。此流程以消息开始事件开始,使用排他网关进行分支。根据条件的不同,它会从记录字段中下载电子邮件附件或文件。这两条路径会汇总到“上传文件”任务中,后跟一个名为“子流程 1 ”的子流程元素。 此子流程整合了与上传后操作相关的额外步骤,在结束事件处完成工作流。

子流程

命名约定

子流程和调用活动名称应:

  • 使用业务语言,而非技术术语
  • 描述结果(例如,Collect Customer Data,不是 Form Step 2
  • 反映子流程达成的结果,而非达成的方式。
  • 子流程中不支持参与者通道。

不支持

  • 不支持在同一项目中调用单独的 BPMN 文件。
  • 对于多个流程之间的可重用逻辑,请创建一个单独的智能体流程(项目),并使用 “调用”活动来调用。
  • 不支持临时子流程。
  • 不支持跨流程边界隐式共享变量。数据必须通过输入/输出绑定进行显式映射。
  • 子流程中不支持参与者通道。

多实例标记

内联子流程支持多实例执行。

在调用单独的智能体流程时,“调用”活动也支持多实例执行。

不支持临时子流程和事件子流程。

嵌套标记

支持将以下字符串变量作为嵌套迭代器:

类别属性如何使用/访问
OuterSP - 获取每个用户的联系信息InputCollectionvar.GetUsers
OuterSP - 获取每个用户的联系信息Iterator Itemiterator.item.gid
InnerSP - 获取每个联系人的所有电子邮件InputCollectioniterator[0].item.contactArray
InnerSP - 获取每个联系人的所有电子邮件Iterator Itemiterator[1].item.ContactId
发送电子邮件InputCollectioniterator[1].item.EmailArray
发送电子邮件Iterator Itemiterator[2]item.emailAddress

有关 Maestro 支持的 BPMN 元素的更多详细信息,请参阅“BPMN 支持”

此页面有帮助吗?

连接

需要帮助? 支持

想要了解详细内容? UiPath Academy

有问题? UiPath 论坛

保持更新