maestro
latest
false
Important :
La localisation du contenu nouvellement publié peut prendre 1 à 2 semaines avant d’être disponible.
UiPath logo, featuring letters U and I in white

Guide de l'utilisateur de Maestro

Dernière mise à jour 19 déc. 2025

Sous-processus

Vue d'ensemble (Overview)

Un sous-processus est un ensemble d'autres tâches et de sous-processus qui contribue à diviser un processus complexe en parties plus faciles à gérer et à naviguer.

Remarque :
  • Optez pour une activité Call (Appel) lorsque vous devez utiliser un processus supplémentaire, soit au sein du même projet, soit à partir d'un projet distinct. Un tel processus agentique, avec une valeur indépendante, peut être invoqué soit en tant que processus autonome, soit par d'autres processus, ce qui déclenche automatiquement la création d'une nouvelle instance.
  • Utiliser un sous-processus lorsqu'il est nécessaire d'encapsuler une logique spécifique, ce qui accroît la simplicité du processus parent. En tant que partie inhérente de la même instance, le sous-processus contribue à rationaliser l'ensemble de l'orchestration.

Reportez-vous à Modélisation des processus pour de plus amples informations sur la prise en charge de BPMN.

sous-processus à plusieurs instances

Transmission et accès aux variables entre les sous-processus

Les sous-processus encapsulent une logique réutilisable, mais ils ont souvent besoin d'échanger des données avec le processus parent ou d'autres sous-processus. Maestro fournit des règles claires sur la façon dont les variables sont définies et transmises afin que vos données restent cohérentes à tous les niveaux.

Workflow BPMN - Variables InputOutput

Accès aux entrées d'un sous-processus

Pour accéder à la sortie d'une activité précédente dans le même sous-processus, aucune configuration supplémentaire n'est nécessaire.

Exemple: si l'activité foo définit une variable de sortie appelée foo_op et qu'une activité ultérieure bar existe dans le même sous-processus, bar peut référencer directement foo_op .

Règle clé: Les variables définies dans une activité sont accessibles à toute activité en aval au sein du même sous-processus, y compris les éléments imbriqués. Vous n'avez pas besoin de les transmettre explicitement en tant qu'entrées de sous-processus.

Exposition des sorties d'un sous-processus

Lorsqu'un processus parent a besoin d'accéder aux données de sortie d'une activité dans un sous-processus imbriqué, vous pouvez exposer ces données à l'aide de l'une des deux approches suivantes.

Approche 1 : utilisation de variables de sortie

  1. Dans le sous-processus interne, définissez une variable de sortie, par exemple inner_sp_op, et attribuez-lui la valeur de la sortie de l'activité interne (bar_op).
  2. Dans le sous-processus externe (ou processus parent), définissez une autre variable de sortie, par exemple outer_sp_op, et attribuez-lui la valeur de la sortie du sous-processus interne (inner_sp_op).
  3. Les activités en aval (par exemple, qux) dans le processus parent peuvent désormais utiliser outer_sp_op.

Approche 2 : utilisation de variables d'événement de fin

  1. Dans le sous-processus interne, configurez l' événement de fin pour déclarer une variable de sortie telle que ee_inner_op et attribuez-lui la valeur de bar_op.

  2. Dans le sous-processus externe, configurez l’événement de fin correspondant pour déclarer une variable de sortie telle que ee_outer_op, et attribuez-lui la valeur de ee_inner_op.

  3. L’activité qux dans le processus parent peut désormais utiliser ee_outer_op.

    Astuce :

    Les variables d'événement de fin se propagent automatiquement à l'étendue parente sans nécessiter de configuration de variable de sortie distincte.

    Vérification des variables de sous-processus

Vous pouvez inspecter les valeurs des variables au temps de conception (via l'API de débogage) ou lors du runtime (via l'API d'instance) pour vérifier la portée et la propagation des données.

API de débogage - Affichage des 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 - Affichage des 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

Marqueurs multi-instances

Les sous-processus prennent en charge les marqueurs multi-instances, dans lesquels chaque élément est exécuté plusieurs fois. Les éléments qui peuvent être marqués comme multi-instances sont tous les types de tâches, à l'exception des sous-processus.

Marqueurs imbriqués

Les chaînes de caractères de variables suivantes sont prises en charge en tant qu'itérateurs imbriqués :

CatégorieAttributsComment utiliser ou accéder
OuterSP : Obtenir les coordonnées de chaque utilisateurInputCollectionvar.GetUsers
OuterSP : Obtenir les coordonnées de chaque utilisateurÉlément de l'itérateuriterator.item.gid
InnerSP : obtenir tous les e-mails de chaque contactInputCollectioniterator[0].item.contactArray
InnerSP : obtenir tous les e-mails de chaque contactÉlément de l'itérateuriterator[1].item.ContactId
Envoyer un e-mailInputCollectioniterator[1].item.EmailArray
Envoyer un e-mailÉlément de l'itérateuriterator[2]item.emailAddress

Cette page vous a-t-elle été utile ?

Obtenez l'aide dont vous avez besoin
Formation RPA - Cours d'automatisation
Forum de la communauté UiPath
Uipath Logo
Confiance et sécurité
© 2005-2025 UiPath Tous droits réservés.