studio
2024.10
true
Guía de usuario de Studio
Last updated 30 de oct. de 2024

Utilizar un flujo de trabajo de código bajo en la automatización codificada

Esta parte del tutorial muestra cómo invocar un flujo de trabajo de código bajo en una automatización codificada. El escenario implica:
  1. Crear un flujo de trabajo codificado (archivo CS), denominado Random, que genera un valor aleatorio en un rango específico determinado por los valores enteros mínimos y máximos que proporciones.
  2. Crear un flujo de trabajo XAML de código bajo, denominado Increment, que añade uno a cualquier resultado dado, incrementando así el valor recibido.
  3. Crear otro flujo de trabajo codificado (un archivo CS) denominado IncrementProxy que toma el valor generado de forma aleatoria del flujo de trabajo Random, invoca el flujo de trabajo XAML Increment en este valor (utilizando el objeto workflows) y luego devuelve el resultado incrementado al entorno de la llamada.

1. Crear el flujo de trabajo codificado Random

  1. En el grupo Archivo, crea un nuevo flujo de trabajo codificado.
  2. Cambia la clase pública Execute() para aceptar dos parámetros de entrada de tipo int llamados min y max, y devuelve un int. Los parámetros de entrada representan los límites dentro de los que se genera un valor aleatorio, mientras que el parámetro de retorno simboliza el propio valor aleatorio generado.
    Por ejemplo, cambia public void Execute() a public int Execute(int min, int max).
  3. Crea un nuevo objeto de la clase Random utilizando la palabra clave new y el constructor Random().
    1. Utiliza el método Next() de la instancia de clase Randompara generar un número aleatorio en el rango entre min y max.
    2. Asigna este número aleatorio generado a una nueva variable, llamada randomValue.
  4. Devuelve la variable randomValue. Devolver esta variable al método Execute te permite acceder a la variable randomValue en cualquier flujo de trabajo codificado en tu proyecto que se ejecute con el método Execute.
public class Random : CodedWorkflow
    {
        [Workflow]
        public int Execute(int min, int max)
        {
            // Get a random value between min and max
            var randomValue = new Random().Next(min, max);
            
            // Return it to the caller
            return randomValue;
        }
    }public class Random : CodedWorkflow
    {
        [Workflow]
        public int Execute(int min, int max)
        {
            // Get a random value between min and max
            var randomValue = new Random().Next(min, max);
            
            // Return it to the caller
            return randomValue;
        }
    }

2. Crear el flujo de trabajo de código bajo Increment

  1. En el grupo Archivo, crea un nuevo flujo de trabajo.
  2. Crea dos argumentos de tipo Int32, llamados result y input.. Establece la dirección del argumento result como Salida y la dirección del argumento input como Entrada.
  3. Añade una actividad Asignar.
    1. En el campo Guardar en, introduce la variable result.
    2. En el campo Valor a guardar, añade la siguiente expresión, que incrementa el valor input: input + 1.


Crear el flujo de trabajo codificado IncrementProxy

  1. En el grupo Archivo, crea un nuevo flujo de trabajo codificado.
  2. Cambia la clase Execute para que tome la variable random creada en el paso Crear el Randomflujo de trabajo codificado de este tutorial y cambia la clase para que devuelva un argumento int.
  3. Invoca el flujo de trabajo de código bajo Increment utilizando el objeto workflows, pasa la variable Int32 randoma él y guarda la salida en una variable llamada out_arg.
  4. Registra la variable out_arg en el panel de salida.
  5. Devuelve la variable out_arg al método Execute.
public class Workflow : CodedWorkflow
    {
        [Workflow]
        public int Execute(int random)
        {
            // Receive random from the XAML and increment it 
            var out_arg  = workflows.Increment(random);   
            
            // Log the result and return it to the caller
            Log(out_arg.ToString());
            
            // Return the result to the caller
            return out_arg;
        }
    }public class Workflow : CodedWorkflow
    {
        [Workflow]
        public int Execute(int random)
        {
            // Receive random from the XAML and increment it 
            var out_arg  = workflows.Increment(random);   
            
            // Log the result and return it to the caller
            Log(out_arg.ToString());
            
            // Return the result to the caller
            return out_arg;
        }
    }

¿Te ha resultado útil esta página?

Obtén la ayuda que necesitas
RPA para el aprendizaje - Cursos de automatización
Foro de la comunidad UiPath
Uipath Logo White
Confianza y seguridad
© 2005-2024 UiPath. Todos los derechos reservados.