Studio
2023.10
バナーの背景画像
Studio ガイド
最終更新日 2024年4月26日

ローコード ワークフローをコード化されたオートメーションに統合する

このチュートリアルでは、コード化されたオートメーション内にローコード ワークフローを組み込む方法を学習できます。この例は、「ローコード ワークフローでコード化されたオートメーションを使用する」チュートリアルに似ていますが、その逆です。このチュートリアルでは、ローコード ワークフロー ResetAssetValue.xaml をコード化されたオートメーション CodedAutomationUsingWorkflow.cs に呼び出す方法を説明します。
ResetAssetValue.xaml ワークフローでは、以下の手順を実行します。
  1. Orchestrator から特定のアセットの現在値を取得します。
  2. 取得したアセット値と、引数として指定した入力値を比較します。
  3. 以前のアセット値が入力値と一致しない場合は、Orchestrator のアセット値を更新します。
  4. アセット値のステータス (更新されたか、変更されていないか) を知らせるメッセージをログに記録します。
  1. ローコード ワークフローを作成します。この例では、ResetAssetValue という名前を付けます。
    注: 作成するすべての変数と引数の値を空のままにします。コード化されたオートメーション内でローコード ワークフローを呼び出すと、これらの変数と引数にデータが入力されます。ワークフローを呼び出すときに、これらの引数に必要な値を渡します。
    1. [アセットを取得] アクティビティを追加し、アセットの名前を assetName という名前の変数に保存します。
    2. 以下の引数を作成します。
      1. assetValue - アセットの値を取得および更新するために使用する入力/出力引数です。
      2. assetName - アセットの名前を入力するために使用する入力引数です。
      3. assetValueWasChanged - アセット値が変わらないか、それとも変更されたかをコンソールに出力するために使用する出力引数です。
    3. アセットの以前の値を渡す変数を作成します (previousAssetValue)。
    4. 以前のアセット値が変更されたかどうかを確認するために、[条件分岐 (if)] アクティビティを追加します。[条件] を「previousAssetValue.Equals(assetValue)」に設定します。
    5. Else 本体に [アセットを設定] アクティビティを追加して、Orchestrator 内のアセットを previousAssetValue とは異なる assetValue に更新します。
    6. [代入] アクティビティを追加し、以前のアセット値を新しいアセット値に更新します。
      assetValue = previousAssetValue
    7. アセット値が True に変更されたかどうかを知らせる変数を設定するために、もう 1 つ [代入] アクティビティを追加します。
      assetValueWasChanged = True
  2. 新しいコード化されたワークフローを作成します。この例では、CodedAutomationUsingWorkflow という名前を付けます。
    1. ResetAssetValue.xaml ワークフローを呼び出すには、RunWorkflow メソッドを使用します。
    2. assetNameassetValue を指定するための Dictionary<string, object> として、必要な引数を指定します。
      この例では、assetName として MyAsset を、assetValue として "hello world" を設定します。
    3. RunWorkflow メソッドの結果を result という名前の変数に格納します。
      var result = RunWorkflow("BusinessProcess\\ResetAssetValue.xaml", new Dictionary<string, object>()
            {
              {"assetName", "MyAsset"},
              {"assetValue", "hello world"}
            });var result = RunWorkflow("BusinessProcess\\ResetAssetValue.xaml", new Dictionary<string, object>()
            {
              {"assetName", "MyAsset"},
              {"assetValue", "hello world"}
            });
    4. ディクショナリの assetValueWasChanged プロパティが true と false のどちらであるかを確認します。
      1. true の場合は、アセット MyAsset がリセットされたことを知らせるメッセージを、そのアセットの以前の値とともにログに記録します。
      2. false の場合は、アセット MyAsset は予期されていた値を持つためリセット不要であることを知らせるメッセージをログに記録します。
        if ((bool)result["assetValueWasChanged"])
              {
                Log("Reset asset MyAsset, but it had a different value, previous value was " + result["assetValue"]);
              }
              else
              {
                Log("No reset was required on asset MyAsset, which had the expected value.");
              }if ((bool)result["assetValueWasChanged"])
              {
                Log("Reset asset MyAsset, but it had a different value, previous value was " + result["assetValue"]);
              }
              else
              {
                Log("No reset was required on asset MyAsset, which had the expected value.");
              }

Was this page helpful?

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