maestro
latest
false
Importante :
La localización de contenidos recién publicados puede tardar entre una y dos semanas en estar disponible.
UiPath logo, featuring letters U and I in white

Guía del usuario de Maestro

Última actualización 12 de dic. de 2025

Subprocesos

Información general

Un subproceso es una colección de otras tareas y subprocesos que ayudan a dividir un proceso complejo en partes más manejables y navegables.

Nota:
  • Opta por una actividad Llamada cuando necesites utilizar un proceso adicional, ya sea dentro del mismo proyecto o desde un proyecto separado. Un proceso agéntico de este tipo, con un valor independiente, puede ser invocado como proceso autónomo o por otros procesos, desencadenando la creación de una nueva instancia automáticamente.
  • Utiliza un subproceso cuando exista un requisito para encapsular una lógica específica, aumentando así la simplicidad del proceso principal. Como parte inherente de la misma instancia, el subproceso contribuye a agilizar la orquestación general.

Consulta Modelado de procesos para obtener más información sobre el soporte de BPMN.

subproceso multiinstancia

Pasar variables entre subprocesos y acceder a las mismas

Los subprocesos encapsulan la lógica reutilizable, pero a menudo necesitan intercambiar datos con el proceso principal o con otros subprocesos. Maestro proporciona reglas claras sobre cómo se establecen y se transmiten las variables para que los datos sigan siendo coherentes en todos los niveles.

Flujo de trabajo BPMN: variables de entrada/salida

Acceder a entradas dentro de un subproceso

Para acceder a la salida de una actividad anterior dentro del mismo subproceso, no se requiere ninguna configuración adicional.

Ejemplo: si la actividad foo establece una variable de salida llamada foo_op, y existe una actividad posterior bar en el mismo subproceso, bar puede hacer referencia foo_op directamente.

Regla clave: las variables definidas en una actividad son accesibles para cualquier actividad posterior dentro del mismo subproceso, incluidos los elementos anidados. No es necesario pasarlos explícitamente como entradas de subproceso.

Exponer las salidas de un subproceso

Cuando un proceso principal necesita acceso a los datos de salida de una actividad dentro de un subproceso anidado, puedes exponer esos datos utilizando uno de dos enfoques.

Enfoque 1: uso de variables de salida

  1. En el subproceso interno, define una variable de salida, por ejemplo inner_sp_op, y asígnale el valor de la salida de la actividad interna (bar_op).
  2. En el subproceso externo (o proceso principal), define otra variable de salida, por ejemplo outer_sp_op, y asígnale el valor de la salida del subproceso interno (inner_sp_op).
  3. Las actividades posteriores (por ejemplo, qux) en el proceso principal ahora pueden hacer referencia a outer_sp_op.

Enfoque 2: uso de variables de evento de final

  1. En el subproceso interno, configura el evento final para declarar una variable de salida como ee_inner_op y asígnale el valor de bar_op.

  2. En el subproceso externo, configura el evento de salida correspondiente para declarar una variable de salida como ee_outer_op, y asígnale el valor de ee_inner_op.

  3. La actividad qux en el proceso principal ahora puede hacer referencia a ee_outer_op.

    Consejo:

    Las variables de evento final se propagan automáticamente al ámbito principal sin necesidad de una configuración de variables de salida independiente.

    Inspección de variables de subproceso

Puedes inspeccionar los valores de las variables en tiempo de diseño (a través de la API de depuración) o en runtime (a través de la API de instancia) para verificar el ámbito y la propagación de datos.

API de depuración: ver variables

GET /v1/debug-instances/{instanceId}/variables?parentElementId=outer_subprocess
GET /v1/debug-instances/{instanceId}/variables?parentElementId=outer_subprocess

Variables disponibles:

  • foo_op
  • inner_subprocess_op
  • ee_outer_op
GET /v1/debug-instances/{instanceId}/variables?parentElementId=inner_subprocess
GET /v1/debug-instances/{instanceId}/variables?parentElementId=inner_subprocess

Variables disponibles:

  • bar_op
  • ee_inner_op

API de runtime: ver variables

GET /v1/instances/{instanceId}/variables?parentElementId=outer_subprocess
GET /v1/instances/{instanceId}/variables?parentElementId=outer_subprocess

Variables disponibles:

  • foo_op
  • inner_subprocess_op
  • ee_outer_op
GET /v1/instances/{instanceId}/variables?parentElementId=inner_subprocess
GET /v1/instances/{instanceId}/variables?parentElementId=inner_subprocess

Variables disponibles:

  • bar_op
  • ee_inner_op

Marcadores multiinstancia

Los subprocesos admiten marcadores multiinstancia, donde cada elemento se ejecuta varias veces. Los elementos que pueden marcarse como multiinstancia son todos los tipos de tareas, excepto los subprocesos.

Marcadores anidados

La siguiente cadena de variables string se admite como iteradores anidados:

CategoríaAtributosCómo utilizar/acceder
OuterSP: obtener información de contacto para cada usuarioColección de entradavar.GetUsers
OuterSP: obtener información de contacto para cada usuarioElemento del iteradoriterator.item.gid
InnerSP: obtener todos los correos electrónicos para cada contactoColección de entradaiterator[0].item.contactArray
InnerSP: obtener todos los correos electrónicos para cada contactoElemento del iteradoriterator[1].item.ContactId
Enviar correo electrónicoColección de entradaiterator[1].item.EmailArray
Enviar correo electrónicoElemento del iteradoriterator[2]item.emailAddress

¿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
Confianza y seguridad
© 2005-2025 UiPath. Todos los derechos reservados.