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

ワークフローのアクティビティ

最終更新日時 2026年3月9日

サンプル ワークフロー

UiPath Studio の [スニペット] パネルには、ユーザーが追加した XAML ファイルが保存されています。サンプルの XAML ファイルはフォルダーに保存されています。長期実行のワークフローで使用される XAML ファイルを保存するフォルダーは Orchestration と呼ばれています。

サンプルの XAML ファイルは読み取り専用です。Studio で個別の プロセス を作成し、スニペット内のアクティビティや設定を複製する必要があります。

これらのスニペットは、Persistence アクティビティ パッケージで利用可能なアクティビティを使用して作成されたサンプル ワークフローを表します。

前提条件

  • [スニペット] パネルのワークフローを基にして長期実行のワークフローを開発するには、UiPath.Persistence.Activities パッケージがインストールされている必要があります。
  • オーケストレーション プロセス テンプレートを使用して、長期実行のワークフローの構築を開始することをお勧めします。

キュー アイテムを追加し完了するまで待機する

このスニペットは、キュー アイテムを作成し、そのキュー アイテムの処理が完了するまでワークフローを一時停止します。

  1. ワークフローに [キュー アイテムを追加し参照を取得] アクティビティをドラッグします。

    このアクティビティは、入力/出力パラメーターを使用して、Orchestrator にあるキュー コンテナーにキュー アイテムを追加します。次に、新しく作成されたキュー アイテム オブジェクトに関する対応するデータを QueueItemData 型の変数に取得し、キュー アイテムがキューに追加されるまでワークフローを一時停止します。詳しくは、「 キュー アイテムを追加し参照を取得する」をご覧ください

    キュー アイテムを Orchestrator のキューに追加すると、 QueueItemData 型のすべての変数に、Orchestrator から取得したデータが設定されます。

    1. [アイテム情報] コレクションで、[Direction] が [入力/出力] のパラメーターを作成し、キュー アイテムとして渡す変数として値を設定します。この例では、Test という名前の String 型変数を渡します。
    2. [キュー アイテム オブジェクト (出力)] プロパティ フィールドで、キーボードの CTRL + k を押して QueueItemData 型の変数を作成します。この変数には、Orchestrator でキュー アイテムが作成された後にそのデータを格納します。この例では、 QueueItemData 型変数を作成して QueueItemObject という名前を付けます。

    docs image

  2. ワークフローが中断される前に実行される、キュー アイテムに関するデータを取得するための任意のアクティビティをドラッグします。このスニペットでは、ワークフローを一時停止する前に実行すべきステップのセクションはコメント アウトされ、実行時に実行されないアクティビティを配置するためのコンテナーとして機能します。

  3. [ キュー アイテム完了まで待機し再開] アクティビティをワークフローにドラッグします。このアクティビティは、キュー アイテムが Orchestrator で追加および処理されるのを待機し、そのキュー アイテムに関するデータを取得してワークフローにマップし、 QueueItemData 型の変数内で実行します。詳しくは、「 キュー アイテム完了まで待機し再開」 をご覧ください。

    1. [ キュー アイテム オブジェクト (入力)] プロパティ フィールドで、 QueueItemObject 変数を渡して、Orchestrator に追加するキュー アイテムを正確に参照します。
    2. [ キュー アイテム オブジェクト (出力)] プロパティ フィールドで、キーボードの CTRL + k キーを押して QueueItemData 型の変数を作成し、キュー アイテムが処理および取得された後のキュー アイテムに関するデータを保存します。
  4. Orchestrator に追加したキュー アイテムを出力するために、ワークフローに [1 行を書き込み] アクティビティを追加します。この例では、[テキスト] プロパティ フィールドに Test 変数を渡します。

外部タスクを作成し、完了するまで中断する

このスニペットは外部アクションを作成し、ユーザーがアクションを完了するまでワークフローを中断します。

  1. ワークフローに [外部タスクを作成] アクティビティをドラッグします。このアクティビティは、指定した[タスク タイトル]、[ タスクの優先度]、[ タスク カタログ] (現在は[アクション カタログ] と呼ばれる)、および[タスク データ] の 外部アクション を Action Center 内に作成します。詳しくは、「 外部タスクを作成する 」をご覧ください。

  2. [TaskDataCollection] プロパティ ウィンドウに、入力出力、または入力/出力に情報を渡す引数を設定します。この例では、それぞれ方向 (InOutIn/Out) の 3 つの引数を作成します。[種類] を [String] に設定します。[ ] フィールドで、キーボードの CTRL + K キーを押して、情報を与える変数 ( In 型引数の場合) と情報を抽出する変数 ( Out 型引数の場合) の 3 つの変数を作成します。

    この例では、次の 3 つの String 型変数を作成します。

    • InVariable - [入力] 型の引数のです。
    • OutVariable - [出力] 型の引数のです。
    • InOutVariable - [入力/出力] 型の引数のです。

    docs image

    [タスク オブジェクト (出力)] プロパティ フィールドで、キーボードの CTRL + k を押して、 ExternalTaskData 型の変数を作成します。この例では、変数に TaskPersistData という名前を付けます。この ExternalTaskData オブジェクトは、特定のアクション タスクが完了するまでワークフローが中断されることをロボットに知らせることを目的として、データを Orchestrator に渡すために使用されます。

  3. ワークフローが中断される前に実行される、ExternalTaskData オブジェクトに関するデータを取得するための任意のアクティビティを追加します。

    1. この例では、[シーケンス] アクティビティをワークフローにドラッグ アンド ドロップし、[1 行を書き込み] アクティビティを 3 個設定します。各 [1 行を書き込み] アクティビティは、外部タスクに渡された 3 つの変数のデータを出力するためのものです。[テキスト] プロパティ フィールドに、InVariableOutVariableInOutVariable の各値を渡します。
  4. ワークフローに [ 外部タスクの完了を待機して再開] アクティビティをドラッグします。このアクティビティは、外部タスクが完了するまでワークフローを一時停止し、 外部タスクを ワークフローの ExternalTaskData 型の変数内でマッピングし直します。このアクティビティについて詳しくは、「 外部タスクの完了を待機して再開」 をご覧ください。

    1. [タスク オブジェクト (入力)] プロパティ フィールドに、作成した外部タスクを正確に参照するために作成した ExternalTaskData 変数を渡します。この例では、TaskPersistData 変数を渡します。
    2. [ タスク アクション ] プロパティ フィールドで、キーボードの CTRL + k キーを押し、 String 型の変数を作成して TaskActionという名前を付けます。このダッシュボードには、ユーザーがタスクを完了するために実行したアクションが格納されます。
    3. [ タスク オブジェクト (出力)] プロパティ フィールドで、キーボードの CTRL+ k キーを押し、ExternalTaskData 型の変数を作成して TaskDataという名前を付けます。この変数には、外部アクションの完了後に Orchestrator から取得した更新されたタスク オブジェクトが格納されます。
  5. ワークフローの再開後に実行するアクティビティを追加します。この例では、4 つの [1 行を書き込み] アクティビティを使用して、外部アクションの完了後に取得されたすべての値を [出力] パネルに出力します。[テキスト] フィールドに、TaskActionInVariableOutVariableInOutVariableの各変数を渡します。

    docs image

フォーム タスクを作成し、完了するまで中断する

このスニペットはフォーム アクションを作成し、ユーザーがアクションを完了するまでワークフローを中断します。

  1. ワークフローに [フォーム タスクを作成 ] アクティビティをドラッグします。このアクティビティは、指定した[タスク タイトル]、[ タスクの優先度]、[ タスク カタログ] (現在は[アクション カタログ] と呼ばれる)、および[タスク データ] の フォーム アクション を Action Center 内に作成します。詳しくは、「 フォーム タスクを作成する 」をご覧ください。

  2. [タスク データ収集] プロパティ ウィンドウに、入力出力、または入力/出力に情報を渡す引数を入力します。この例では、それぞれ方向 (InOutIn/Out) の 3 つの引数を作成します。[種類] を [String] に設定します。[ ] フィールドで、キーボードの CTRL + K キーを押し、情報を提供する ( In 型の引数の場合) または情報を抽出する ( Out 型の引数の場合) 3 つの変数を作成します。

    この例では、次の 3 つの String 型変数を作成します。

    • InVariable - [入力] 型の引数のです。
    • OutVariable - [出力] 型の引数のです。
    • InOutVariable - [入力/出力] 型の引数のです。

    docs image

    [タスク オブジェクト (出力)] プロパティ フィールドで、キーボードの CTRL + k を押して、 FormTaskData 型の変数を作成します。この例では、変数に TaskPersistData という名前を付けます。この FormTaskData オブジェクトは、特定のアクション タスクが完了するまでワークフローが中断されることをロボットに知らせることを目的として、データを Orchestrator に渡すために使用されます。

  3. ワークフローが中断される前に実行される、FormTaskData オブジェクトに関するデータを取得するための任意のアクティビティを追加します。この例では、[シーケンス] アクティビティをワークフローにドラッグ アンド ドロップし、そこに [1 行を書き込み] アクティビティを 3個設定します。各 [1 行を書き込み] アクティビティは、外部アクションに渡された 3 つの変数のデータを出力するためのものです。[テキスト] プロパティ フィールドに、InVariableOutVariableInOutVariableの各値を渡します。

  4. ワークフローに [ 外部タスクの完了を待機して再開] アクティビティをドラッグします。このアクティビティは、フォーム アクションが完了するまでワークフローを一時停止し、その後、 フォーム アクション をワークフローの FormTaskData 型の変数内でマッピングし直します。

    1. [ タスク オブジェクト (入力)] プロパティ フィールドで、 FormTaskData 変数を渡して、Action Center で作成したフォーム タスクを正確に参照できるようにします。この例では、 TaskPersistData 変数を渡します。
    2. [ タスク アクション ] プロパティ フィールドで、キーボードの CTRL + k キーを押し、 String 型の変数を作成して TaskActionという名前を付けます。このダッシュボードには、ユーザーがタスクを完了するために実行したアクションが格納されます。
    3. [タスク オブジェクト (出力)] プロパティ フィールドで、キーボードの CTRL + k を押して、FormTaskData 型の変数を作成し、TaskData という名前を付けます。この変数には、タスクの完了後に Orchestrator から取得する更新されたタスク オブジェクトが格納されます。
  5. ワークフローの再開後に実行するアクティビティをドラッグします。この例では、4 つの [1 行を書き込み] アクティビティを使用して、外部アクションの完了後に取得されたすべての値を [出力] パネルに渡します。[テキスト] フィールドに、TaskActionInVariableOutVariableInOutVariable の各変数を渡します。

タスクを作成しユーザーに割り当てる

このスニペットは、2 つの外部アクションを作成して、それらをユーザーに割り当て、失敗したアクションの割り当てのリストを表示します。

  1. 2 つの [外部タスクを作成] アクティビティをワークフローにドラッグします。

    1. 1 番目のアクティビティで、アクションにタイトルを付け、優先度を設定します。[タスク オブジェクト (出力)] プロパティ フィールドで、キーボードの CTRL + k を押して、 ExternalTaskData 型の変数を作成します。この例では、 Task1PersistData という名前を付けます。

    2. 2 番目のアクティビティで、アクションにタイトルを付け、優先度を設定します。[タスク オブジェクト (出力)] プロパティ フィールドで、キーボードの CTRL + k を押して、 ExternalTaskData 型の変数を作成します。この例では、 Task2PersistData という名前を付けます。

      docs image

  2. 2 つの [コレクションに追加] アクティビティをワークフローにドラッグします。

    注:

    [コレクションに追加] アクティビティはクラシック アクティビティです。 プロジェクトで [コレクションに追加] アクティビティを使用できるようにするには、以下の手順を実行します。

    • System.Activities パッケージの 22.4.1 以下のバージョンをインストールします。
    • [アクティビティ] パネルに移動します。
    • [オプションを表示] docs image アイコンをクリックします。
    • [クラシック アクティビティを表示] をクリックします。 このアクティビティは、[既定のアクティビティ] > [プログラミング] > [コレクション] 下にあります。
    1. [コレクション] プロパティ フィールドで、キーボードの CTRL + k を押して、 List<TaskUserAssignment> 型変数を作成して TaskAssignementsInput という名前を付けます。[変数] パネルに移動し、変数の [既定] フィールドを new List(Of TaskUserAssignment に設定して初期化します。

    2. [ 項目 ] プロパティ フィールドで、次のパラメーターを持つ TaskUserAssignmentのインスタンスを作成します。このインスタンスには、 ExternalTaskData 変数と、タスクを割り当てるユーザーのメール アドレスが含まれます。この例では、次のように入力します。

      • 最初の [コレクションに追加] アクティビティには式 new TaskUserAssignment(Task1PersistData.Id, "emailaddress") を入力します。
      • 2 番目の [コレクションに追加] アクティビティには式 new TaskUserAssignment(Task2PersistData.Id, "emailaddress") を入力します。

      docs image

    3. [TypeArgument] プロパティに System.Collections.Generic.List<UiPath.Persistence.Activities.Tasks.TaskUserAssignment> を設定します。

  3. ワークフローに [タスクを割り当て] アクティビティをドラッグします。

    1. [タスクとユーザーの割り当て (入力)] プロパティ フィールドに、 List<TaskUserAssignment> 変数を渡します。この例では、TaskAssignmentsInput 変数を渡します。

    2. [タスク割り当ての種類] プロパティ フィールドに、実行する割り当て操作 ( [割り当て] または [再割り当て]) を正確に入力します。この例では、「Assign」と入力します。

    3. [ FailedTaskAssignments (出力)] プロパティ フィールドで、キーボードの CTRL + k キーを押し、 List<TaskAssignmentResponse> 型変数を作成して「 FailedTaskAssignmentsOutput」という名前を付けます。

      docs image

  4. [ 1 行を書き込み ] アクティビティをドラッグして、失敗したタスクの割り当ての数を出力します。[ テキスト ] プロパティ フィールドで List<TaskAssignmentResponse> 型の変数を渡したうえで、[ .Count ] プロパティと [ .ToString ] プロパティを使用します。この例では、式 「 FailedTaskAssignemntsOutput.Count.ToStringを渡します。

ジョブを開始し、完了後に再開する

無人プロセスを開始し、特定のジョブが完了するまでワークフローを中断します。

  1. [ ジョブを開始し参照を取得 ] アクティビティをワークフローにドラッグします。このアクティビティは、入力された引数に基づいて Orchestrator でジョブを開始し、対応するジョブ オブジェクトを取得します。詳しくは、「 ジョブを開始し参照を取得 」をご覧ください。
    1. [プロセス名] プロパティ フィールドに、ジョブで使用するプロセスの表示名を渡します。この例では、名前を変数に格納します。キーボードの CTRL +k を押して、 String 型の変数を作成し、 ProcessName という名前を付けます。[値] フィールドに、プロセスの表示名を渡します (例: TestProcess_test)。

      注:

      表示名は、packageName _environmentの形式で記述する必要があります。

      docs image

    2. [ジョブの引数 (コレクション)] プロパティに、Orchestrator でジョブを呼び出すときに使用する引数を作成します。このプロパティは、Orchestrator のジョブから受け取った入力に基づいて引数の OutIn/Out の種類を変更し、それらをワークフローにマッピングします。この例では、方向 In/OutTestという名前の String 引数を作成します。[ ] フィールドで、キーボードの CTRL + k キーを押して、 String 型の変数を作成します。変数に Testという名前を付けます。

      docs image

    3. [ジョブ オブジェクト (出力)] プロパティ フィールドで、キーボードの CTRL + k キーを押して、「JobPersistenceData」という名前の JobData 型の変数を作成します。この変数には、Orchestrator でジョブが呼び出されたときに作成されるジョブ データ オブジェクトが格納されており、[ ジョブ完了まで待機し再開 ] アクティビティで使用できます。

  2. ワークフローが中断される前に実行される、JobData オブジェクトに関するデータを取得するための任意のアクティビティを追加します。
  3. ワークフローに [ジョブ完了まで待機し再開] アクティビティをドラッグします。 このアクティビティは Orchestrator で特定のジョブが完了するまで、ワークフローを中断します。ジョブが完了すると、ワークフローが再開されます。
    1. [ジョブ オブジェクト (入力)] プロパティ フィールドに、[ジョブを開始し参照を取得] アクティビティ用に作成された JobData 型の変数を渡します。この例では、JobPersistenceData 変数を渡します。これにより、Robot は、ワークフローを再開するのに完了する必要のある正確なジョブを参照します。
    2. [ジョブ オブジェクト (出力)] プロパティ フィールドで、キーボードの CTRL + k を押して、 JobData 型の変数を作成します。この例では、 JobDataObject という名前を付けます。
  4. ワークフローに再度マップされた引数を出力するには、[1 行を書き込み] アクティビティをドラッグします。[テキスト] プロパティ フィールドに、[Job Arguments (Collection)] で作成された引数の [値] として使用される変数を渡します。この例では、Test 変数を渡します。

中断し 1 時間後に再開する

このスニペットは、指定されたワークフローを中断し、1 時間後に再開します。

  1. ワークフローの中断前に実行するアクティビティを追加します。

  2. ワークフローに 時間差で再開] アクティビティをドラッグします。このアクティビティは、指定されたワークフローを中断し、指定した日時に再開します。 このアクティビティの詳細については、「時間差で再開」をご覧ください。

    1. [変数] パネルで、 System.TimeSpan 型の変数を作成します。この例では、変数に OneHour という名前を付けます。TimeSpan 変数の [既定値]New TimeSpan(1,0,0) に設定します。
    2. アクティビティの [ 再開時刻 ] プロパティ フィールドで、 DateTime.Now 式と TimeSpan 変数を渡します。この例では、式 「 DateTime.Now + OneHourを渡します。

    docs image

  3. ワークフローの再開後に実行するアクティビティを追加します。

中断し 5 分後に再開する

このスニペットは、指定されたワークフローを中断し、5 分後に再開します。

  1. ワークフローの中断前に実行するアクティビティをドラッグします。

  2. ワークフローに 時間差で再開] アクティビティをドラッグします。このアクティビティは、指定されたワークフローを中断し、指定された日時に再開します。

    1. [変数] パネルで、 System.TimeSpan 型の変数を作成します。この例では、変数に FiveMinute という名前を付けます。TimeSpan 変数の [既定値]New TimeSpan(0,5,0) に設定します。
    2. アクティビティの [ 再開時刻 ] プロパティ フィールドで、 DateTime.Now 式と TimeSpan 変数を渡します。この例では、式 「 DateTime.Now + FiveMinuteを渡します。

    docs image

  3. ワークフローの再開後に実行するアクティビティをドラッグします。

中断し 90 秒後に再開する

このスニペットは、指定されたワークフローを中断し、90 秒後に再開します。

  1. ワークフローの中断前に実行するアクティビティを追加します。

  2. ワークフローに 時間差で再開] アクティビティをドラッグします。このアクティビティは、指定されたワークフローを中断し、指定された日時に再開します。

    1. [変数] パネルで、 System.TimeSpan 型の変数を作成します。この例では、変数に NinetySeconds という名前を付けます。TimeSpan 変数の [既定値]New TimeSpan(0,0,90) に設定します。
    2. アクティビティの [ 再開時刻 ] プロパティ フィールドで、 DateTime.Now 式と TimeSpan 変数を渡します。この例では、式 「 DateTime.Now + NinetySecondsを渡します。

    docs image

  3. ワークフローの再開後に実行するアクティビティをドラッグします。

すべてのフォーム タスクの完了まで待機する

このスニペットは、データ テーブル内の請求書の数に基づいてループ内に複数のフォーム アクションを作成し、すべてのアクションが完了するまでワークフローを一時停止します。

  1. ワークフローに [データ テーブルを構築] アクティビティをドラッグします。

    1. [出力] プロパティ フィールドで、キーボードの CTRL + k を押して DataTable 型の変数を作成し、構築しているデータ テーブルを格納します。この例では、 DataTable 変数に HighValueInvoices という名前を付けます。
    2. [ docs image] をクリックします。[データ テーブルを構築] ウィンドウが開きます。
    3. Column1 の名前を「InvoiceNumber」に、Column2 の名前を「InvoiceAmount」に変更します。
    4. 表の行内にデータを追加し、[OK] をクリックします。

    docs image

  2. ワークフローに [代入 ] アクティビティをドラッグします。このアクティビティでは、 String 変数に格納されるデータ テーブルの名前が割り当てられます。

    1. [左辺の変数] プロパティ フィールドに、 DataTable 変数を渡します。この例では、HighValueInvoices 変数を渡します。
    2. [値] プロパティ フィールドで、キーボードの CTRL + k を押して、 String 型の変数を作成します。この例では、「DataTableName」という名前を付けます。 DataTableName 変数の [既定値] を "invoices" に設定します。
  3. ワークフローに [ 繰り返し (コレクションの各要素 )] アクティビティをドラッグします。[ 項目のリスト ] プロパティ フィールドで、 DataTableVariable.Rowsの形式の式を渡します。この例では、 HighValueInvoices.Rowsを渡します。これにより、データ テーブルのすべての行が反復処理されます。

  4. [繰り返し (コレクションの各要素)] アクティビティの [本体][フォーム タスクを作成] アクティビティをドラッグします。

    1. [タスク タイトル] プロパティ フィールドに、[繰り返し (コレクションの各要素)] アクティビティが取得し、String 変数に変換する請求書番号を入力します。この例では、式 item("InvoiceNumber").ToString を入力します。 InvoiceNumber は、各請求書のそれぞれの番号を保持する列の名前です。
    2. フォーム データ (コレクション) で、フォーム アクション内の各請求金額を渡す引数を作成します。String 型の引数を作成し、[方向] を Inに設定します。[ ] フィールドに各請求金額を入力し、String 型に変換します。この例では、式 item("InvoiceAmount").ToStringを入力します。 InvoiceAmount は、各請求書のそれぞれの金額を保持する列の名前です。
    3. [タスク オブジェクト (出力)] プロパティ フィールドで、キーボードの CTRL + k を押して、 FormTaskData 型の変数を作成します。この例では、変数に TaskPersistData という名前を付けます。

    docs image

  5. [繰り返し (コレクションの各要素)] アクティビティの [本体][コレクションに追加] アクティビティを追加します。

    1. [ コレクション ] プロパティ フィールドで、キーボードの CTRL + k キーを押し、 List<FormTaskData> 変数を作成して「 TaskList」という名前を付けます。[変数] パネルに移動し、[既定] フィールドの変数を New List(Of UiPath.Persistence.Activities.FormTask.FormTaskDataとして初期化します。
    2. [Item] プロパティ フィールドで、作成したフォーム アクションのデータを格納するために作成された FormTaskData 型変数を渡します。この例では、 TaskPersistData 変数を渡します。
    3. [TypeArgument] プロパティで、[UiPath.Persistence.Activities.FormTask.FormTaskData] を選択します。
  6. ワークフローに [並列繰り返し (コレクションの各要素)] アクティビティを追加します。

    1. [TypeArgument] プロパティで、[UiPath.Persistence.Activities.FormTask.FormTaskData] を選択します。
    2. [値] プロパティ フィールドに、 List<FormTaskData> 変数を渡します。この例では、TaskList 変数を渡します。
  7. [並列繰り返し (コレクションの各要素)]アクティビティの [本体] に [フォーム タスク完了まで待機し再開] アクティビティをドラッグします。

    1. [タスク オブジェクト (入力)] プロパティ フィールドに、[並列繰り返し (コレクションの各要素)] アクティビティで参照される item オブジェクトを入力します。この例では、 item オブジェクトは TaskList 変数に格納されているフォーム アクションを表します。
    2. [タスク アクション] プロパティ フィールドで、キーボードの CTRL + k を押して、 String 変数を作成します。この例では、 TaskAction という名前を付けます。
    3. [タスク オブジェクト (出力)] プロパティ フィールドで、キーボードの CTRL + k を押して、 FormTaskData 変数を作成します。この例では、 TaskData という名前を付けます。

    docs image

  8. [1 行を書き込み] アクティビティを、ワークフローにドラッグします。このアクティビティは、ユーザーがフォーム アクションを完了するために実行したアクションを [出力] パネルに表示します。[テキスト] の値に、TaskAction 変数を入力します。

いずれかのフォーム タスクの完了まで待機する

このスニペットは複数のフォーム アクションを順番に作成し、いずれかのフォーム アクションが完了するまでワークフローを一時停止します。

  1. シーケンス ワークフローに [フォーム タスクを作成] アクティビティをドラッグします。

    1. [タスク タイトル] プロパティ フィールドで、キーボードの CTRL + k を押して、 String 変数を作成します。TaskTitle1 と名前を付けます。[変数] パネルで、[既定値]"Task - " + "Approver 1" に設定します。
    2. [フォーム データ (Collection)] プロパティで、[Type]String[Direction]In の引数を作成します。引数に Approver と名前を付け、[Value]"Approver1" に設定します。
    3. [タスク オブジェクト (出力)] プロパティ フィールドで、キーボードの CTRL + k を押して、 FormTaskData 変数を作成します。この例では、変数に TaskPersistData1 という名前を付けます。
  2. ワークフローに 2 つ目の [フォーム タスクを作成] アクティビティをドラッグします。

    1. [タスク タイトル] プロパティ フィールドで、キーボードの CTRL + k を押して、 String 変数を作成します。TaskTitle2 と名前を付けます。[変数] パネルで、[既定値]"Task - " + "Approver 2" に設定します。
    2. [フォーム データ (Collection)] プロパティで、[Type]String[Direction]In の引数を作成します。引数に Approver と名前を付け、[Value]"Approver2" に設定します。
    3. [タスク オブジェクト (出力)] プロパティ フィールドで、キーボードの CTRL + k を押して、 FormTaskData 変数を作成します。この例では、変数に TaskPersistData2 という名前を付けます。
  3. ワークフローに 3 つ目の [フォーム タスクを作成] アクティビティをドラッグします。

    1. [タスク タイトル] プロパティ フィールドで、キーボードの CTRL + k を押して、 String 変数を作成します。TaskTitle3 と名前を付けます。[変数] パネルで、[既定値]"Task - " + "Approver 3" に設定します。
    2. [フォーム データ (Collection)] プロパティで、[Type]String[Direction]In の引数を作成します。引数に Approver と名前を付け、[Value]"Approver3" に設定します。
    3. [タスク オブジェクト (出力)] プロパティ フィールドで、キーボードの CTRL + k を押して、 FormTaskData 変数を作成します。この例では、変数に TaskPersistData3 という名前を付けます。
  4. ワークフローに [分岐を選択] アクティビティをドラッグします。

  5. [分岐を選択] アクティビティの本体に [分岐] アクティビティをドラッグします。アクティビティの名前を Pick Branch (Task1) に変更します。

  6. [フォーム タスク完了まで待機し再開] アクティビティを [分岐] アクティビティの [トリガー] の本体にドラッグします。

    1. [タスク オブジェクト (入力)] プロパティ フィールドに、フォーム アクションに関するデータを格納するために作成した FormTaskData 変数を渡します。この例では、TaskPersistData1 変数を渡します。
    2. [タスク アクション] プロパティ フィールドで、 CTRL + k を押して、 String 変数を作成します。TaskAction1 と名前を付けます。
    3. [タスク オブジェクト (出力)] プロパティ フィールドで、キーボードの CTRL+ k を押して、 FormTaskData 変数を作成します。TaskData1 と名前を付けます。
  7. [1 行を書き込み] アクティビティを、**[分岐 (Task1)]** アクティビティの [アクション] 本体にドラッグします。このアクティビティは、ユーザーがフォーム アクションを完了するために実行したアクションを [出力] パネルに表示します。[テキスト] の値に、 TaskAction1 変数を入力します。

    docs image

  8. [分岐を選択] アクティビティの本体に [分岐] アクティビティをドラッグします。アクティビティの名前を Pick Branch (Task2) に変更します。

  9. [フォーム タスク完了まで待機し再開] アクティビティを [分岐] アクティビティの [トリガー] の本体にドラッグします。

    1. [タスク オブジェクト (入力)] プロパティ フィールドに、フォーム アクションに関するデータを格納するために作成した FormTaskData 変数を渡します。この例では、TaskPersistData2 変数を渡します。
    2. [タスク アクション] プロパティ フィールドで、 CTRL + k を押して、 String 変数を作成します。TaskAction2 と名前を付けます。
    3. [タスク オブジェクト (出力)] プロパティ フィールドで、キーボードの CTRL+ k を押して、 FormTaskData 変数を作成します。TaskData2 と名前を付けます。
  10. [1 行を書き込み] アクティビティを、[Pick Branch (Task2)] アクティビティの [アクション] 本体にドラッグします。このアクティビティは [出力] パネルに、ユーザーがフォーム アクションを完了するために実行したアクションを表示します。[テキスト] の値に、 TaskAction2 変数を入力します。

  11. [分岐を選択] アクティビティの本体に [分岐] アクティビティをドラッグします。アクティビティの名前を Pick Branch (Task3) に変更します。

  12. [フォーム タスク完了まで待機し再開] アクティビティを [分岐] アクティビティの [トリガー] の本体にドラッグします。

    1. [タスク オブジェクト (入力)] プロパティ フィールドに、フォーム アクションに関するデータを格納するために作成した FormTaskData 変数を渡します。この例では、TaskPersistData3 変数を渡します。
    2. [タスク アクション] プロパティ フィールドで、 CTRL + k を押して、 String 変数を作成します。TaskAction3 と名前を付けます。
    3. [タスク オブジェクト (出力)] プロパティ フィールドで、キーボードの CTRL+ k を押して、 FormTaskData 変数を作成します。TaskData3 と名前を付けます。
  13. [1 行を書き込み] アクティビティを、[Pick Branch (Task3)] アクティビティの [アクション] 本体にドラッグします。このアクティビティは [出力] パネルに、ユーザーがフォーム アクションを完了するために実行したアクションを表示します。[テキスト] の値に、 TaskAction3 変数を入力します。

ループで一部のフォーム タスクの完了まで待機する

このスニペットは、データ テーブルからの入力に基づいて複数のフォーム アクションを作成し、フォーム アクションの特定のセットが完了するまで、ワークフローを一時停止します。

  1. ワークフローに [データ テーブルを構築] アクティビティをドラッグします。

    1. [データ テーブル] プロパティ フィールドで、キーボードの CTRL + k を押して、 System.DataTable 変数を作成します。この例では、 CodeReviews という名前を付けます。
    2. [ docs image] をクリックします。[データ テーブルを構築] ウィンドウが開きます。
    3. Column1の名前を ReviewerName に、Column2の名前を ReviewerTypeに変更します。[ReviewerType] 列の [種類] を [String] に設定します。
    4. 表の行内にデータを追加します。この例では、[ReviewerType] 列で、2 種類のレビュワー ([code owners][reviewers]) を使用しています。

    docs image

  2. ワークフローに [代入] アクティビティをドラッグします。これにより、作成したデータ テーブルに名前が代入されます。[左辺の変数] プロパティ フィールドに、 System.DataTable 変数を渡し、そこに .TableName プロパティを追加します。[値を設定] フィールドで、キーボードの CTRL + k を押して、String 変数を作成します。この例では、DataTableName という名前を付けます。

  3. ワークフローに [並列繰り返し (コレクションの各要素)] アクティビティを追加します。この例では、Create Tasks for PR Review という名前を付けます。

    1. [左辺の変数] プロパティ フィールドに、 System.DataTable 変数を渡し、.AsEnumerable プロパティを追加します。この例では、式 CodeReviews.AsEnumerable を渡します。
  4. [代入] アクティビティの [本体] に [並列繰り返し (コレクションの各要素)] アクティビティを追加します。

    1. [移動先] プロパティ フィールドで、キーボードの CTRL + k キーを押して、CodeReviews データ テーブルの ReviewerType 列から取得したデータを保持する String 型変数を作成します。この例では、変数に ReviewerTypeという名前を付けます。
    2. [ ] プロパティ フィールドで、 ReviewerType 列から各行項目を取得して [ 終点 ] フィールド内に作成した変数に格納する式を渡します。この例では、式 「 ìtem("ReviewerType").toStringを渡します。

    docs image

  5. [並列繰り返し (コレクションの各要素)]アクティビティの [本体] に [フォーム タスクを作成] アクティビティをドラッグします。

    1. [タスク タイトル] プロパティ フィールドに、式 "Code Review - " + InPullRequestNameを渡します。InPullRequestNameString 型の変数で、既定値"#1"です。
    2. FormData(Collection) プロパティで、String型の引数を 4 つ作成します。
    3. 「PR 番号」 - 「方向」In、「 」が「 InPullRequestName」として設定されます。
    4. Reviewer Name - [方向] In、[ ] を [ item("ReviewerName").toString] に設定します。
    5. Reviewer Type - [方向] In/Outで、値が ReviewerType 変数として設定されます。
    6. Reviewer Comment - [方向]Outです。[ ] フィールドで、キーボードの CTRL + k キーを押しながら String 変数を作成します。ReviewerCommentsという名前を付けます。この引数は、アクションで行われたコメントをワークフローにマップします。
    7. [タスク オブジェクト (出力)] プロパティ フィールドで、キーボードの CTRL + k を押して、 FormTaskData 変数を作成します。TaskPersistData と名前を付けます。

    docs image

  6. [並列繰り返し (コレクションの各要素)] アクティビティの [本体] に [コレクションに追加] アクティビティを追加します。このアクティビティは、作成されたすべてのフォーム アクションをリストに保存します。

    1. [コレクション] プロパティ フィールドで、キーボードの CTRL + k を押して、 List<FormTaskData> 変数を作成します。TaskDataList と名前を付けます。[変数] パネルに移動し、変数の [既定値]New List(of UiPath.Persistence.Activities.FormTask.FormTaskData) に設定します。
    2. [項目] プロパティ フィールドに、 FormTaskData 変数を渡します。この例では、TaskPersistData 変数を渡します。
    3. [TypeArgument] プロパティで、[UiPath.Persistence.Activities.FormTask.FormTaskData] を選択します。
  7. [変数] パネルで、 Int32 型の変数を 2 つ (OwnersApprovalsReviewersApprovals) 作成し、[既定値] を [0] に設定します。

  8. [並列繰り返し (コレクションの各要素)] アクティビティをもう 1 つドラッグします。この例では、Wait for Conditional Task(s) Completion という名前を付けます。

    1. [条件] プロパティ フィールドに、式「OwnersApprovals>=2 Or (OwnersApprovals = 1 And ReviewersApprovals>=2)」を渡します。これにより、条件が一致した時にのみワークフローが再開されるよう条件付けされます。
    2. [TypeArgument] プロパティで、[UiPath.Persistence.Activities.FormTask.FormTaskData] を選択します。
    3. [コレクション値] プロパティ フィールドに、フォーム アクションが保存されるリストを渡します。この例では、TaskDataList 変数を渡します。

    docs image

  9. [ シーケンス ] アクティビティを [ 条件付きタスクの完了を待機 ] アクティビティの [本体] にドラッグします。名前を Wait for Task and Resumeに変更します。

  10. [フォーム タスク完了まで待機し再開] アクティビティを [タスク完了まで待機し再開] シーケンス アクティビティ内にドラッグします。

    1. [タスク オブジェクト (入力)] プロパティ フィールドに、 item 変数を渡します。
    2. [タスク アクション] プロパティ フィールドで、キーボードの CTRL + k を押して、 String 変数を作成します。この例では、 TaskAction という名前を付けます。
    3. [タスク オブジェクト (出力)] プロパティ フィールドで、キーボードの CTRL + k を押して、 FormTaskData 変数を作成します。この例では、 TaskData という名前を付けます。
  11. [条件分岐 (if)] アクティビティをシークエンスの [タスク完了まで待機し再開] アクティビティ内にドラッグします。このアクティビティは、コード オーナーによって承認されたフォーム アクションの数をカウントするためのものです。

    1. [条件] プロパティ フィールドに、式 TaskAction="approve" And ReviewerType="code owner"を渡します。
    2. [Then] ブロックに [代入] アクティビティをドラッグ アンド ドロップします。[左辺の変数] プロパティ フィールドに、 OwnersApprovals 変数を渡します。[値を設定] プロパティ フィールドに、式 OwnersApprovals + 1 を渡します。

    docs image

  12. [条件分岐 (if)] アクティビティを 1 個、シークエンスの [タスク完了まで待機し再開] アクティビティ内に追加でドラッグします。このアクティビティは、レビュー担当者によって承認されたフォーム アクションの数をカウントするためのものです。

    1. [条件] プロパティ フィールドに、式 TaskAction="approve" And ReviewerType="reviewer"を渡します。
    2. [Then] ブロックに [代入] アクティビティをドラッグします。[左辺の変数] プロパティ フィールドに、 ReviewersApprovals 変数を渡します。[値を設定] プロパティ フィールドに、式 ReviewersApprovals + 1 を渡します。

    docs image

  13. 3 つの [1 行を書き込み ] アクティビティを [ タスク完了まで待機し再開] シーケンス アクティビティ内にドラッグします。このアクティビティは、指定された値を [ 出力 ] パネルに表示します。

    1. 最初のアクティビティで、ReviewComments 変数を渡します。
    2. 2 個目のアクティビティに、 OwnersApprovals 変数を渡し、 .toString プロパティを追加します。
    3. 3 番目のアクティビティで、ReviewersApprovals 変数を渡し .toString プロパティを追加します。

一部のフォーム タスクの完了まで待機する

このスニペットは、3 つのフォーム アクションを作成し、2 つのアクションが完了するまでワークフローを中断します。

  1. シーケンス ワークフローに [フォーム タスクを作成] アクティビティをドラッグします。

    1. [タスク タイトル] プロパティ フィールドで、キーボードの CTRL + k を押して、 String 変数を作成します。TaskTitle1 と名前を付けます。[変数] パネルで、[既定値]"Task - " + "Approver 1" に設定します。
    2. [フォーム データ (Collection)] プロパティで、[Type]String[Direction]In の引数を作成します。引数に Approver と名前を付け、[Value]"Approver1" に設定します。
    3. [タスク オブジェクト (出力)] プロパティ フィールドで、キーボードの CTRL + k を押して、 FormTaskData 変数を作成します。この例では、変数に TaskPersistData1 という名前を付けます。
  2. シーケンス ワークフローに [フォームを作成] アクティビティをドラッグします。

    1. [タスク タイトル] プロパティ フィールドで、キーボードの CTRL + k を押して、 String 変数を作成します。TaskTitle2 と名前を付けます。[変数] パネルで、[既定値]"Task - " + "Approver 2" に設定します。
    2. [フォーム データ (Collection)] プロパティで、[Type]String[Direction]In の引数を作成します。引数に Approver と名前を付け、[Value]"Approver2" に設定します。
    3. [タスク オブジェクト (出力)] プロパティ フィールドで、キーボードの CTRL + k を押して、 FormTaskData 変数を作成します。この例では、変数に TaskPersistData2 という名前を付けます。
  3. シーケンス ワークフローに [フォームを作成] アクティビティをドラッグします。

    1. [タスク タイトル] プロパティ フィールドで、キーボードの CTRL + k を押して、 String 変数を作成します。TaskTitle3 と名前を付けます。[変数] パネルで、[既定値]"Task - " + "Approver 3" に設定します。
    2. [フォーム データ (Collection)] プロパティで、[Type]String[Direction]In の引数を作成します。引数に Approver と名前を付け、[Value]"Approver3" に設定します。
    3. [タスク オブジェクト (出力)] プロパティ フィールドで、キーボードの CTRL + k を押して、 FormTaskData 変数を作成します。この例では、変数に TaskPersistData3 という名前を付けます。
  4. ワークフローに [並列] アクティビティをドラッグします。

    1. [ 条件] プロパティ フィールドで、キーボードの CTRL + k キーを押して Int32 型変数を作成します。この例では、変数に CompleteTasksCount という名前を付け、 既定値0に設定します。
    2. [条件] プロパティ内の [式エディター] で、条件を CompleteTasksCount=2 に設定します。これにより、[並列] アクティビティは、3 個のアクションのうち 2 個が完了したときに完了します。

    docs image

  5. [並列] アクティビティの本体に [シーケンス] アクティビティをドラッグします。アクティビティの名前を Sequence Task1 に変更します。

  6. [Sequence Task1] アクティビティ内に [フォーム タスク完了まで待機し再開] アクティビティをドラッグします。アクティビティの名前を Wait for Form Task and Resume(Task1) に変更します。

    1. [タスク オブジェクト (入力)] プロパティ フィールドに、フォーム アクションに関するデータを格納するために作成した FormTaskData 変数を渡します。この例では、TaskPersistData1 変数を渡します。
    2. [タスク アクション] プロパティ フィールドで、 CTRL + k を押して、 String 変数を作成します。TaskAction1 と名前を付けます。
    3. [タスク オブジェクト (出力)] プロパティ フィールドで、キーボードの CTRL+ k を押して、 FormTaskData 変数を作成します。TaskData1 と名前を付けます。

    docs image

  7. [1 行を書き込み] アクティビティを、[Sequence Task1] アクティビティの [アクション] 本体にドラッグします。このアクティビティは、ユーザーがフォーム アクションを完了するために実行したアクションを [出力] パネルに表示します。[テキスト] の値に、 TaskAction1 変数を入力します。

  8. [代 ] アクティビティを [ Wait for Form Task and Resume(Task1) ] アクティビティにドラッグします。CompleteTaskCount を [宛先] フィールドに渡し、式 CompleteTaskCount + 1 を [] フィールドに渡します。アクションが完了し、ワークフローが再開されると、新しい反復処理が CompleteTaskCount 変数に追加されます。

    docs image

  9. [並列] アクティビティの本体に [シーケンス] アクティビティをドラッグします。アクティビティの名前を Sequence Task2 に変更します。

  10. [ Sequence Task2 ] アクティビティに、[ フォーム タスク完了まで待機し再開] アクティビティをドラッグ アンド ドロップします。名前を Wait for Form Task and Resume(Task2) に変更します。

    1. [タスク オブジェクト (入力)] プロパティ フィールドに、フォーム アクションに関するデータを格納するために作成した FormTaskData 変数を渡します。この例では、TaskPersistData2 変数を渡します。
    2. [TaskAction] プロパティ フィールドで CTRL + kキーを押して String 型変数を作成します。TaskAction2 という名前を付けます
    3. [タスク オブジェクト (出力)] プロパティ フィールドで、キーボードの Ctrl + k キーを押して FormTaskData 変数を作成します。TaskData2という名前を付けます。
  11. [1 行を書き込み] アクティビティを、[Sequence Task2] アクティビティの本体にドラッグします。このアクティビティは、ユーザーがフォーム アクションを完了するために実行したアクションを [出力] パネルに表示します。[テキスト] の値に、 TaskAction2 変数を入力します。

  12. [代 ] アクティビティを [ Wait for Form Task and Resume(Task2)] アクティビティにドラッグします。CompleteTaskCount[宛先] フィールドに渡し、CompleteTaskCount + 1式を [] フィールドに渡します。アクションが完了し、ワークフローが再開されると、新しい反復処理がCompleteTaskCount 変数に追加されます。

  13. [並列] アクティビティの本体に [シーケンス] アクティビティをドラッグします。アクティビティの名前を Sequence Task3 に変更します。

  14. [Sequence Task3] アクティビティ内に [フォーム タスク完了まで待機し再開] アクティビティをドラッグ アンド ドロップします。アクティビティの名前を Wait for Form Task and Resume(Task3) に変更します。

    1. [タスク オブジェクト (入力)] プロパティ フィールドに、フォーム アクションに関するデータを格納するために作成した FormTaskData 変数を渡します。この例では、TaskPersistData3 変数を渡します。
    2. [タスク アクション] プロパティ フィールドで、 CTRL + k を押して、 String 変数を作成します。TaskAction3 と名前を付けます。
    3. [タスク オブジェクト (出力)] プロパティ フィールドで、キーボードの CTRL+ k を押して、 FormTaskData 変数を作成します。TaskData3 と名前を付けます。
  15. [1 行を書き込み] アクティビティを、[Sequence Task3] アクティビティの [アクション] 本体にドラッグします。このアクティビティは、ユーザーがフォーム アクションを完了するために実行したアクションを [出力] パネルに表示します。[テキスト] の値に、 TaskAction3 変数を入力します。

  16. [代 ] アクティビティを [ Wait for Form Task and Resume(Task3)] アクティビティにドラッグします。CompleteTaskCount[宛先] フィールドに渡し、CompleteTaskCount + 1式を [] フィールドに渡します。アクションが完了し、ワークフローが再開されると、新しい反復処理がCompleteTaskCount 変数に追加されます。

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

接続

ヘルプ リソース サポート

学習する UiPath アカデミー

質問する UiPath フォーラム

最新情報を取得