UiPath Documentation
maestro
latest
false
Guía del usuario de Maestro Orchestrate
Importante :
La localización de contenidos recién publicados puede tardar entre una y dos semanas en estar disponible.

Subflujo

Agrupa nodos en un subflujo que se ejecuta como un paso dentro de un flujo de trabajo, pasa datos dentro y fuera de él y establece el ámbito de sus variables.

Un subflujo es un flujo de trabajo incrustado dentro de otro flujo de trabajo, llamado flujo de trabajo principal. Agrupa un conjunto de nodos en una unidad autónoma que se ejecuta como parte del nodo principal y le devuelve la salida. Los subflujos organizan la lógica compleja en grupos autónomos y manejables.

Cómo funciona​

Cuando un flujo de trabajo principal llega a un nodo de subflujo, la ejecución entra en el subflujo y ejecuta sus nodos en secuencia. El subflujo tiene su propio ámbito, la parte de un flujo de trabajo donde se puede leer un nombre, por lo que las variables definidas en su interior no colisionan con las variables del flujo de trabajo principal. Cuando el subflujo se completa, su salida se pasa de nuevo al flujo de trabajo principal y la ejecución continúa con el siguiente nodo.

Los nodos dentro de un subflujo pueden acceder a:

  • Otros nodos dentro del mismo subflujo.
  • El ámbito del flujo de trabajo principal.

La salida del subflujo es accesible para el flujo de trabajo principal como $vars.<subflowName>.output.

Añadir un subflujo​

Se añade un nodo Subflujo desde el panel Añadir nodo , donde aparece en la categoría Maestro Flow , y se conecta al nodo anterior. Aparece en el lienzo como un nodo con un icono de capas apiladas. El botón Explorar en en la barra de herramientas del nodo abre el interior del subflujo como su propio lienzo. Una ruta de navegación en la parte superior izquierda, con un icono de inicio y el nombre del subflujo, conduce de nuevo al flujo de trabajo principal. El interior comienza con un nodo de inicio conectado a un nodo final , y tiene la misma barra de herramientas inferior que el lienzo principal, por lo que los nodos se añaden de la misma manera.

Pasar datos dentro y fuera​

Entradas​

La sección Entradas del panel de propiedades del nodo de subflujo define las variables de entrada del subflujo y asigna expresiones del ámbito principal a ellas. Añadir variable de entrada añade una entrada. Cada entrada tiene un nombre, un tipo y un Valor, una expresión que se evalúa en el ámbito del flujo de trabajo principal. El menú Insertar del campo Valor enumera los valores de ese ámbito, como los nodos antes del subflujo y $metadata.

Dentro del subflujo, las entradas son salidas del nodo de inicio del subflujo. El menú Insertar enumera ese nodo como <subflowName>Start, por ejemplo $vars.subflow1Start.output.orderData. El nodo Inicio también ofrece Añadir argumento de entrada.

Salida​

La sección Salidas del nodo de subflujo define las variables de salida del subflujo. Añadir variable de salida añade una, y los valores se asignan a través de las asignaciones de salida del nodo final dentro del subflujo. La salida está disponible para el flujo de trabajo principal como $vars.<subflowName>.output, y cada variable de salida es un campo de la misma, por ejemplo $vars.subflow1.output.isValid. Cualquier nodo después del subflujo puede hacer referencia a él en una expresión, como con cualquier otra salida de nodo.

// Access the output of a subflow named "validateOrder"
$vars.validateOrder.output
$vars.validateOrder.output.isValid
// Access the output of a subflow named "validateOrder"
$vars.validateOrder.output
$vars.validateOrder.output.isValid

Ámbito de variable​

Los subflujos crean su propio ámbito de variable. Las variables actualizadas dentro de un subflujo tienen espacio de nombres, lo que significa que van prefijadas con el nombre del subflujo, para evitar colisiones con el flujo de trabajo principal.

Desde fuera del subflujo, las variables internas de un subflujo se referencian como $vars.<subflowName>.<variableName>. Por ejemplo, una variable counter dentro de un subflujo llamado subflow1 se referencia como $vars.subflow1.counter desde el flujo de trabajo principal.

Desde el interior del subflujo, los nodos acceden a la salida de sus nodos hermanos utilizando el patrón $vars.<nodeName>.<property> estándar. También pueden leer directamente desde el ámbito del flujo de trabajo principal.

Nota:

El espacio de nombres de variables evita que las variables internas de un subflujo sobrescriban las variables principales que comparten el mismo nombre. No es necesario coordinar los nombres de variables entre el flujo principal y el subflujo.

Ejemplo práctico​

Un flujo de trabajo principal llama a un subflujo para validar los datos del pedido antes de procesarlos.

El flujo de trabajo principal tiene tres nodos:

  1. Solicitud HTTP (httpRequest1): obtiene datos de la orden de una API externa.
  2. Subflujo (validateOrder): valida los datos del pedido y devuelve un resultado.
  3. Decisión (decision1): ramas basadas en el resultado de la validación.

El subflujo validateOrder tiene un nodo, Script (script1), que comprueba que los campos obligatorios están presentes y que el total del pedido es superior a cero:

const order = $vars.validateOrderStart.output.orderData;
const isValid = order.items.length > 0
  && order.total > 0
  && order.customerId !== undefined;
return { isValid: isValid, reason: isValid ? "OK" : "Missing required fields" };
const order = $vars.validateOrderStart.output.orderData;
const isValid = order.items.length > 0
  && order.total > 0
  && order.customerId !== undefined;
return { isValid: isValid, reason: isValid ? "OK" : "Missing required fields" };

La sección Salidas del nodo de subflujo define una variable de salida llamada isValid con el tipo de datos Boolean, y el nodo Final dentro del subflujo la asigna a $vars.script1.output.isValid. De vuelta en el flujo de trabajo principal, el nodo de decisión evalúa $vars.validateOrder.output.isValid === true y redirige a una ruta de cumplimiento o a una ruta de gestión de errores.

Próximos pasos​

  • Variables y flujo de datos: reglas de ámbito de variables, sintaxis de expresión y patrones de acceso $vars .
  • El lienzo Flujo: el lienzo, el panel de propiedades y el panel Añadir nodo.
  • Gestión de errores: configurar los controladores de errores en los nodos, incluido el interior de los subflujos.
  • Cómo funciona​
  • Añadir un subflujo​
  • Pasar datos dentro y fuera​
  • Entradas​
  • Salida​
  • Ámbito de variable​
  • Ejemplo práctico​
  • Próximos pasos​

¿Te ha resultado útil esta página?

Conectar

¿Necesita ayuda? Soporte(opens in new window)

¿Quiere aprender? UiPath Academy(opens in new window)

¿Tiene alguna pregunta? Foro de UiPath(opens in new window)

Manténgase actualizado