Cyro Technology

Le Workflow

Dans UiPath, un worflow est un fichier de programme du robot portant l’extension .xaml. Un workflow peut être appelé depuis un autre à l’aide de l’activité « Invoke Workflow File ».

Chaque workflow à son espace mémoire spécifique, une variable créée dans un workflow ne sera pas accessible depuis un autre, pour permettre la communication entre les workflows il sera nécessaire d’utiliser les paramètres.

Pour renforcer la sécurité ou la stabilité du robot, il est possible d’utiliser l’option « Isolated » lors de l’appel d’un workflow. Cette option lancera le workflow dans un processus Windows différent.

Dans la mesure du possible il est conseillé de créer des workflows les plus indépendants possibles pour faciliter les tests sans avoir besoin de lancer l’intégralité du robot.

Les paramètres

Les paramètres se configurent dans le panneau « Argument ».

Comme pour les variables, il est aussi possible de créer un paramètre depuis une activité avec le raccourci Ctrl+m.

Il est conseillé de préfixer le nom de la variable avec le sens de celle-ci (in_, out_, io_) suivi d’un nom en format Camel Case.

  • Entré : pour définir un paramètre qui sera passé au workflow
  • Sortie : pour définir un paramètre qui sera retourné par le workflow
  • Entré/Sortie : le paramètre sera passé au worflow et retourné par celui-ci.
  • Propriété : Non utilisé pour l’instant

Le type de la variable passée

Il est possible de définir une valeur par défaut.

Ce paramètre est aussi très pratique pour tester le workflow.

Les types de workflows

Il existe 3 types de Workflows ainsi qu’un type spécifique à la gestion d’erreur.

Séquence

La séquence est le workflow le plus courant de UiPath, il permet de concevoir des processus linéaires.

Si le processus comporte trop d’embranchements conditionnels, il sera plus judicieux d’utiliser un worflow de type Flowchart.

Flowchart (ou Organigramme)

Le flowchart permet de concevoir des processus plus complexes avec de multiples embranchements conditionnels.

Il sera privilégié à la séquence si il y a trop de block If..Then..Else.

State Machine

La machine à état est le workflow le plus avancé, il permet la facilité de visualisation du Flowchart en ajoutant des embranchements conditionnels plus complexes appelés transitions. C’est le workflow utilisé pour le fichier Main du framework ReFramework.

La machine à état commence au point Start (comme le Flowchart) et passe d’un bloque état à un autre, via les transitions, jusqu’à atteindre le bloc final.

State

Un état (ou « State ») est composé de plusieurs bloques

Le code qui sera exécuté à l’arrivée dans l’état

Le code qui sera exécuté lors de la sortie de l’état.

La liste des transitions possibles à la sortie de l’état

La transition est composée de 2 blocs

Trigger

Une activité qui est exécutée à la fin du bloc d’entrée de l’état d’origine

Condition

L’élément évalué pour déclencher la transition vers le prochain état.

Global Exception Handler

Le workflow est conçu spécifiquement pour gérer les erreurs d’exécution. Il ne peut y en avoir qu’un seul par projet. Pour le créer, faites un clic droit dans un dossier du projet et sélectionnez « Ajouter -> Gestionnaire Global ».

C’est un workflow facultatif, vous pouvez choisir de gérer les erreurs manuellement.

 

Le workflow reçoit en entrée le paramètres « errorInfo », automatiquement renseigné en cas de levé d’exception système, il contient toutes les informations sur la nature de l’erreur, ainsi que le nombre de tentatives.

 

Par défaut le workflow est configuré pour relancer l’action qui a généré l’erreur 3 fois, puis interrompre le robot si elle ne passe toujours pas.

 

Le paramètre « result » retourne l’action qui sera effectuée en conséquence. (ErrorAction.Retry ou ErrorAction.Abort)