Studio
2023.10
False
Imagen de fondo del banner
Guía de usuario de Studio
Última actualización 26 de abr. de 2024

Integrar el flujo de trabajo de código bajo en la automatización codificada

En este tutorial, puedes aprender a incorporar un flujo de trabajo de código bajo dentro de una automatización codificada. Este ejemplo es similar al tutorial Uso de la automatización codificada en el flujo de trabajo de código bajo, pero al revés. El tutorial muestra cómo invocar el flujo de trabajo de código bajo ResetAssetValue.xaml en la automatización codificada CodedAutomationUsingWorkflow.cs.
El flujo de trabajo ResetAssetValue.xaml realiza los siguientes pasos:
  1. Recupera el valor actual de un activo específico de Orchestrator.
  2. Compara el valor del activo recuperado con el valor de entrada proporcionado como argumento.
  3. Si el valor del activo anterior no coincide con el valor de entrada, actualiza el valor del activo en Orchestrator.
  4. Registra los mensajes que indican el estado del valor del activo, si se actualizó o no se modificó.
  1. Crea un flujo de trabajo de código bajo. Para este ejemplo, nómbralo ResetAssetValue.
    Nota: deja el valor de todas las variables y argumentos que creas vacío. Estas variables y argumentos se rellenarán con datos al invocar el flujo de trabajo de código bajo dentro de una automatización codificada. Pasarás los valores necesarios para estos argumentos al invocar el flujo de trabajo.
    1. Añade una actividad Obtener activo y guarda el nombre del activo en una variable llamada assetName.
    2. Crea argumentos para los siguientes valores:
      1. assetValue: el argumento In/Out que utilizas para recuperar y actualizar el valor del activo
      2. assetName: el argumento In que utilizas para introducir el nombre del activo.
      3. assetValueWasChanged: el argumento Out que utilizas para imprimir en la consola si el valor del activo sigue siendo el mismo o se ha cambiado.
    3. Crea una variable para pasar el valor anterior del activo: previousAssetValue.
    4. Añade una actividad Si para comprobar si el valor del activo anterior ha cambiado. Establece la Condición como previousAssetValue.Equals(assetValue).
    5. En el cuerpo Else, añade una actividad Establecer activo, para actualizar el activo en Orchestrator con assetValue que es diferente de previousAssetValue.
    6. Añade una actividad Asignar y actualiza el valor del activo anterior con el nuevo.
      assetValue = previousAssetValue
    7. Añade otra actividad Asignar para establecer la variable que te permite saber si el valor del activo ha cambiado a Verdadero.
      assetValueWasChanged = True
  2. Crea un nuevo flujo de trabajo codificado. Para este ejemplo, nómbralo CodedAutomationUsingWorkflow.
    1. Utiliza el método RunWorkflow para invocar el flujo de trabajo ResetAssetValue.xaml.
    2. Proporciona los argumentos necesarios como un Dictionary<string, object> para especificar assetName y assetValue.
      Para este ejemplo, establecemos MyAsset como el assetName y "hello world" como el assetValue.
    3. Almacena el resultado del método RunWorkflow en una variable llamada 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. Comprueba si la propiedad assetValueWasChanged en el diccionario es verdadera o falsa.
      1. Si es verdadera, registra un mensaje que indique que el activo MyAssetse ha restablecido e incluye el valor anterior que tenía.
      2. Si es falsa, registra un mensaje que especifique que no se requirió ningún restablecimiento en el activo MyAsset porque tenía el valor esperado.
        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?

Obtén la ayuda que necesitas
RPA para el aprendizaje - Cursos de automatización
Foro de la comunidad UiPath
Logotipo blanco de UiPath
Confianza y seguridad
© 2005-2024 UiPath. All rights reserved.