maestro
latest
false
重要 :
このコンテンツの一部は機械翻訳によって処理されており、完全な翻訳を保証するものではありません。 新しいコンテンツの翻訳は、およそ 1 ~ 2 週間で公開されます。
UiPath logo, featuring letters U and I in white

Maestro ユーザー ガイド

最終更新日時 2025年11月24日

サブプロセス

概要

サブプロセスは他のタスクとサブプロセスの集合です。複雑なプロセスを、管理しやすくナビゲートしやすい複数の部分に分割する際に効果的です。
注:
  • 同じプロジェクトの中または他のプロジェクトから別のプロセスを使用する必要がある場合は、コール アクティビティを選択します。独自の値を持つこのようなエージェンティック プロセスを、自己完結型プロセスとして呼び出すか、他のプロセスで呼び出して、新しいインスタンスの作成を自動的にトリガーできます。
  • 特定のロジックをカプセル化することによって親プロセスをより簡潔にする必要がある場合にサブプロセスを使用します。同じインスタンスを部分的に継承しているサブプロセスは、オーケストレーション全体の効率化で効果を上げます。

BPMN のサポートについて詳しくは、「Maestro モデリングキャンバスへのアクセス」をご覧ください。



サブプロセスをまたいで変数を渡したり、変数にアクセスしたりする

サブプロセスは再利用可能なロジックをカプセル化しますが、多くの場合、親プロセスや他のサブプロセスとデータを交換する必要があります。Maestro では、変数のスコープと受け渡しの方法について明確なルールが提供されているため、レベル間でデータの一貫性が保たれます。



サブプロセス内の入力にアクセスする

同じサブプロセス内の前のアクティビティの出力にアクセスするために、追加の設定を行う必要はありません。

: アクティビティ foo によって foo_op という出力変数が設定されていて、後続のアクティビティ bar が同じサブプロセスに存在する場合、barfoo_op を直接参照できます。

重要なルール: アクティビティで定義された変数は、同じサブプロセス内の任意の下流のアクティビティ (入れ子になった要素を含む) からアクセスできます。サブプロセスの入力として明示的に渡す必要はありません

サブプロセスからの出力を公開する

親プロセスが、入れ子になったサブプロセス内のアクティビティからの出力データにアクセスする必要がある場合、次の 2 つのアプローチのいずれかを使用して、そのデータを公開できます。

アプローチ 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. これで親プロセスのアクティビティ quxee_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

マルチインスタンス マーカー

サブプロセスは、各要素が複数回実行されるマルチインスタンス マーカーをサポートします。マルチインスタンスとしてマークできる要素は、サブプロセスを除くすべての種類のタスクです。

ネストしたマーカー

ネストする反復子として、次の文字列変数がサポートされています。
カテゴリ (Category)属性利用方法/アクセス方法
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

このページは役に立ちましたか?

サポートを受ける
RPA について学ぶ - オートメーション コース
UiPath コミュニティ フォーラム
Uipath Logo
信頼とセキュリティ
© 2005-2025 UiPath. All rights reserved.