UiPath Documentation
maestro-automate
latest
false
Guide de l'utilisateur de Maestro Automate

Flux de contrôle

Control flow: which node to choose when a workflow must decide, repeat, or wait for parallel paths, with an example that uses all four together.

Le flux de contrôle détermine la façon dont un workflow décide de ce qu'il doit exécuter et dans quel ordre. Un workflow commence par une ligne droite de nœuds, mais le travail réel nécessite des décisions, des répétitions et des chemins de jonction. Quatre nœuds de flux de contrôle couvrent ces besoins: Décision, Basculer, Boucle et Fusionner. Elles se ramifient, se répètent et rejoignent des chemins sans quitter la zone de dessin.

Arborescence​

L'arborescence divise un workflow en chemins distincts, de sorte que différents nœuds s'exécutent en fonction d'une condition.

Décision: deux chemins​

Le nœud de décision évalue une expression JavaScript unique et le dirige sur l'une des deux sorties: vrai (true) ou faux (false). Il correspond aux questions oui ou non, aux vérifications de réussite ou d'échec et à toute autre vérification avec deux résultats.

$vars.httpRequest1.output.code === 200
$vars.httpRequest1.output.code === 200

L'expression ci-dessus envoie les réponses réussies vers la branche « vrai » et tout le reste vers la branche « faux ».

La référence du nœud de décision décrit la configuration complète.

Commutateur: trois chemins ou plus​

Le nœud Basculer évalue une liste ordonnée d'expressions de cas et prend la première correspondance. Ajoutez jusqu'à dix cas, plus une branche par défaut facultative pour tout ce qui ne correspond pas.

Switch adapte le routage par catégorie, statut ou toute valeur avec plus de deux résultats possibles. La référence du nœud Commutateur décrit la configuration complète.

Boucles​

Une boucle répète une séquence de nœuds une fois pour chaque élément d’une collection.

Boucle (pour chacun)​

Le nœud de boucle itère sur une collection, qui est un tableau, une liste ordonnée de valeurs, et exécute son corps une fois par élément. Il expose trois variables à l'intérieur du corps de la boucle:

  • currentItem: l'élément de l'itération actuelle.
  • currentIteration: le numéro de l'itération actuelle.
  • collection: le tableau complet en cours d'itération.

Une fois toutes les itérations terminées, la boucle produit un tableau output qui agrège les résultats de chaque itération, et le workflow se poursuit à partir du nœud connecté à la gestion de sortie de la boucle sur le bord droit.

L'expression Collection d'un nœud de boucle pointe vers le tableau sur lequel elle itère, telle que $vars.script1.output. L'option Parallel (Parallèle) exécute toutes les itérations en même temps au lieu de de façon séquentielle. La boucle apparaît sur le canevas en tant que conteneur, avec à l'intérieur une poignée de démarrage et une poignée de continuité . Les nœuds placés entre eux forment le corps de la boucle, et la gestion de continuité met fin à chaque itération.

Quitter une boucle tôt​

Un nœud de boucle offre deux façons de s'arrêter avant d'atteindre la fin de la collection:

  • Break on condition is an expression that the loop checks after each iteration completes. When it's true, the loop stops, and the workflow continues after the loop. Because the check happens after each iteration in order, it works only in sequential loops.
  • La gestion des ruptures apparaît à l’intérieur de la boucle lorsque l’option Afficher la gestion des ruptures est activée. Lorsqu'un chemin d'accès dans le corps de la boucle l'atteint, la boucle s'arrête. La gestion des ruptures est disponible dans les boucles séquentielles et parallèles. Utilisez-le lorsqu'un nœud dans le corps prend la décision, par exemple une Décision qui trouve l'élément que vous recherchez.

Loop describes both settings, with an example.

Fusion des branches​

Un nœud de fusion rejoint des branches parallèles. Il attend la fin de chaque branche entrante avant que le workflow ne continue et accepte plusieurs bords entrants sur sa gestion unique d'entrée.

Les branches d'une décision ou d'un commutateur s'excluent mutuellement, car une seule d'entre elles s'exécute. Ils n'ont pas besoin d'une fusion, et une fusion après eux continuerait à attendre la branche qui ne s'exécutait pas. La fusion décrit son comportement.

Exemple pratique​

Un workflow qui récupère une liste de tickets de support, boucle chaque ticket et achemine les tickets de haute priorité différemment des autres, utilise cinq nœuds:

  1. Un nœud de requête HTTP appelle une API de ticket et renvoie un tableau d'objets de ticket.
  2. Un nœud de boucle itère sur $vars.httpRequest1.output.body.tickets.
  3. Dans le corps de la boucle, un nœud de décision évalue $vars.loop1.currentItem.priority === "high". La branche true se connecte à un nœud Send Email (Envoyer un e -mail), qui provient d'un connecteur de messagerie tel qu'Amazon SES, qui alerte l'équipe mobile; la branche false se connecte à un nœud Script qui enregistre le ticket pour un examen ultérieur.
  4. Les deux branches se connectent au contrôle continu de la boucle, de sorte que l’itération se termine quel que soit le chemin exécuté.
  5. Après toutes les itérations, le nœud connecté à la gestion de sortie de la boucle poursuit le reste du workflow.

Ce modèle d'extraction, de boucle et de branche couvre une grande partie des scénarios d'automatisation dans le monde réel.

Prochaines étapes​

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

Connecter

Besoin d'aide ? Assistance(opens in new window)

Vous souhaitez apprendre ? UiPath Academy(opens in new window)

Vous avez des questions ? UiPath Forum(opens in new window)

Rester à jour