studio
2024.10
true
UiPath logo, featuring letters U and I in white
Studio 用户指南
Last updated 2024年11月18日

在编码自动化中集成低代码工作流

在本教程中,您可以学习如何将低代码工作流合并到编码自动化中。此示例与在低代码工作流中使用编码自动化教程相似,但是从相反的方向。本教程演示如何在 CodedAutomationUsingWorkflow.cs 编码的自动化中调用 ResetAssetValue.xaml 低代码工作流。
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”正文中,添加“设置资产”活动,以使用不同于 previousAssetValueassetValue 更新 Orchestrator 中的资产。
    6. 添加“分配”活动,并使用新的资产值更新以前的资产值。
      assetValue = previousAssetValue
    7. 添加另一个“分配”活动,以设置使您知道资产值是否已更改为“True”的变量。
      assetValueWasChanged = True
  2. 创建新的编码工作流。在此示例中,将其命名为 CodedAutomationUsingWorkflow
    1. 使用 RunWorkflow 方法调用 ResetAssetValue.xaml 工作流。
    2. 作为 Dictionary<string, object> 提供必要的参数,以指定 assetNameassetValue
      在此示例中,我们将 MyAsset 设置为 assetName,将 "hello world" 设置为 assetValue
    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.");
              }

此页面有帮助吗?

获取您需要的帮助
了解 RPA - 自动化课程
UiPath Community 论坛
Uipath Logo White
信任与安全
© 2005-2024 UiPath。保留所有权利。