UiPath Documentation
maestro
latest
false
Maestro ユーザー ガイド
重要 :
このコンテンツの一部は機械翻訳によって処理されており、完全な翻訳を保証するものではありません。 新しいコンテンツの翻訳は、およそ 1 ~ 2 週間で公開されます。

ループ

コレクションを反復処理するためのループ ノードで、[並列] オプションと [中断] オプションを使用します。

機能

コレクションを反復処理し、項目ごとにループ本体内のノードを 1 回ずつ実行します。

使用すべき状況

ループは、API によって返されるレコードのリスト、ファイルのリスト、ID のリストなど、処理する項目のコレクションがある場合に使用します。ループは項目ごとに 1 回実行され、コレクションがなくなると停止します。

コレクションを使い果たす前に終了するには、[ 条件時を中断 ] または [繰り返しハンドル] を使用します。どちらも以下で説明します。

構成のリファレンス

フィールドRequired既定 (Default)説明
コレクションはいなし反復処理する配列です。配列に解決される式を入力します (例: $vars.listCustomers1.output)。
並列 (Parallel)いいえOffすべての反復処理を 1 つずつではなく同時に実行します。オフの場合、ループは順番に実行され、各反復処理が完了するまで待ってから次の反復処理を開始します。
条件一致時に中断いいえなし反復処理の完了後にループが true になったときに、ループを早期に終了する式。これはシーケンシャル ループに適用されます。
ブレーク ハンドルを表示いいえOffループに ブレーク ハンドルを追加して、本体内のノードがループを早期に終了できるようにします。ノードの出力をブレークハンドルに接続して、本体内からの反復処理を停止します。
注:

順次反復処理では順序が維持されます。これは、各反復処理の完了後に条件がチェックされるため、[ 条件で中断 ] が機能するために必要です。並列反復処理は、保証された順序で実行されません。

ループ本体

ループ境界の内側にノードをドラッグして、本体に追加します。本体内のノードは、現在の項目と反復処理、およびループ外のスコープ内の任意の変数を読み取ることができます。

現在の項目と反復処理

本体内で、以下の式でループの進行状況を参照します。

  • $vars.<loopName>.currentItem は、現在の反復処理の項目です。ドット表記を使用してフィールドにアクセスします (例: $vars.loop1.currentItem.id)。
  • $vars.<loopName>.currentIteration は、 1から始まる現在の反復処理番号です。

これらは、ループ本体内でのみ使用できます。

出力

すべての反復処理の完了後、ループの集計結果は $vars.<loopName>.outputで表示されます。ループの後、ノードから実行が続行されます。

currentItemcurrentIteration には、ループ本体の外ではアクセスできません。

例 1 — 各項目に対して API を呼び出す

ループは を反復処理 $vars.listCustomers1.output。ループ本体には、URL が の HTTP 要求ノードが含まれます。

https://api.example.com/customers/{{ $vars.loop1.currentItem.id }}
https://api.example.com/customers/{{ $vars.loop1.currentItem.id }}

例 2 — 複数の反復処理にまたがって結果の配列を構築する

ループ本体内のスクリプト ノードは、各項目の値を返します。ループは、各反復処理の結果を に収集します$vars.loop1.output

return { id: $vars.loop1.currentItem.id, processed: true };
return { id: $vars.loop1.currentItem.id, processed: true };

ループの後、 $vars.loop1.output はそれらの結果の配列です。

例 3 — 一致が見つかったら早期に停止する

ループ本体内の Decision ノードが現在の項目をチェックします。ブ レーク ハンドルの表示 が有効化されている場合、判断の一致する分岐はループのブレーク ハンドルに接続され、一致が見つかったらすぐに反復処理を停止します。

一般的な問題

ループ本体は実行されません。コレクションが空であるか、 undefinedです。実行トレースでアップストリーム ノードの出力を調べて、配列に項目が含まれていることを確認します。空のコレクションは本文をスキップし、ループの後に続行します。

[条件の完了時] は、並列ループではトリガーされません。[中断時の条件] は各反復処理が順番に完了した後に評価されるため、シーケンシャル ループに適用されます。実行中の状態で中断する必要がある場合は、[ 並列 ] をオフにします。

本体内でコレクションを編集しても、反復処理される内容は変更されません。コレクションはループの開始時にキャプチャされます。本体内の配列変数を変更しても、反復処理される項目は変更されません。これは仕様です。

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

接続

ヘルプ リソース サポート

学習する UiPath アカデミー

質問する UiPath フォーラム

最新情報を取得