activities
latest
false
Important :
Veuillez noter que ce contenu a été localisé en partie à l’aide de la traduction automatique.
UiPath logo, featuring letters U and I in white
Activités de workflow
Last updated 13 nov. 2024

Exemple de workflows

Le panneau Extraits ( Snippets ) dans UiPath Studio stocke les fichiers XAML ajoutés par les utilisateurs. Les exemples de fichiers XAML sont stockés dans des dossiers. Le dossier qui stocke les fichiers XAML utilisés dans les workflows de longue durée s'appelle Orchestration.

Les exemples de fichiers XAML sont en lecture seule. Vous devez créer un processus distinct dans Studio, dans lequel vous répliquez les activités et les configurations trouvées dans les extraits de code.

Ces extraits représentent des exemples de workflows créés avec les activités disponibles dans le package d'activités Persistance (Persistence).

Prérequis

  • Pour développer des workflows de longue durée, basés sur les workflows du panneau Extraits ( Snippets ), le package UiPath.Persistence.Activities doit être installé.
  • Nous vous recommandons d’utiliser le modèle Processus d’orchestration pour commencer à créer des workflows de longue durée.

Ajouter un élément de la file d'attente et Attendre la fin

Cet extrait crée un élément de file d'attente et suspend le workflow jusqu'à ce que le traitement de cet élément de file d'attente soit terminé.

  1. Faites glisser une activité Ajouter un élément de la file d'attente et obtenir une référence dans votre workflow.

    Cette activité ajoute un élément de file d'attente dans un conteneur de file d'attente situé dans Orchestrator, à l'aide des paramètres In/Out. Ensuite, il récupère les données correspondantes sur l'objet d'élément de file d'attente nouvellement créé dans une variable de type QueueItemData , afin de suspendre le workflow, jusqu'à ce que l'élément de file d'attente soit ajouté dans la file d'attente. Consultez la page Ajouter un élément de la file d'attente et obtenir une référence (Add Queue Item And Get Reference) pour plus d'informations sur l'activité.
    Lorsque les éléments de la file d'attente sont ajoutés à la file d'attente Orchestrator, toutes les variables de type QueueItemData seront renseignées avec les données récupérées à partir d'Orchestrator.
    1. Dans la collection Informations sur l'élément ( Item Information ), créez un paramètre avec Direction In/Out ( Direction entrée/sortie) et définissez la valeur en tant que variable que vous souhaitez transmettre en tant qu'élément de la file d'attente. Pour cet exemple, transmettez une variable String nommée Test.
    2. Dans le champ de propriété ObjetQueueItem(Sortie) , appuyez sur CTRL + k sur votre clavier et créez une variable de type QueueItemData pour stocker les données sur l'élément de file d'attente, après sa création dans Orchestrator. Pour cet exemple, créez une variable QueueItemData nommée QueueItemObject.


  2. Faites glisser les activités que vous souhaitez exécuter avant la suspension du workflow pour récupérer des données sur l'élément de file d'attente. Dans cet extrait de code, la section Toutes les étapes à exécuter avant de suspendre le workflow est commentée, agissant comme un conteneur à l'intérieur duquel vous pouvez placer des activités qui ne seront pas exécutées au moment de l'exécution.
  3. Faites glisser une activité Attendre l’élément de la file d’attente et reprendre dans votre workflow.

    Cette activité attend qu'un élément de file d'attente soit ajouté et traité dans Orchestrator afin de récupérer les données correspondantes et de les remapper dans le workflow, à l'intérieur des variables de type QueueItemData . Consultez la page Attendre un élément de la file d’attente et reprendre ( Wait For Queue Item And Resume ) pour plus d’informations sur l’activité.
    1. Dans le champ de propriété Objet de l'élément de file d'attente (entrée) , transmettez la variable QueueItemObject pour référencer l'élément de file d'attente exact que vous vouliez ajouter à Orchestrator.
    2. Dans le champ de propriété Objet de l'élément de file d'attente (sortie) , appuyez sur CTRL + k sur votre clavier et créez une variable de type QueueItemData pour stocker les données sur l'élément de file d'attente après son traitement et sa récupération.
  4. Ajoutez une activité Write Line à votre workflow pour imprimer l'élément de la file d'attente que vous avez ajouté dans Orchestrator. Pour cet exemple, dans le champ de propriété Texte (Text), transmettez la variable Test .

Créer une tâche externe et Suspendre jusqu'à la fin

Cet extrait crée une action externe et suspend le workflow jusqu'à ce que l'utilisateur termine l'action.

  1. Faites glisser une activité Créer une tâche externe (Create External Task) dans votre workflow.

    Cette activité crée une action externe dans Action Center avec le titre de la tâche, la prioritéde la tâche , le catalogue de tâches (maintenant appelé Catalogue d'actions) et les donnéesde tâche donnés. Voir la page Créer une tâche externe (Create External Task) pour plus d'informations sur l'activité.

  2. Remplissez la fenêtre de propriété CollectionDonnéesTâches avec des arguments qui transmettent les informations In, Outou In/Out. Pour cet exemple, créez trois arguments, chacun avec une Directiondifférente : In, Outet In/Out. Définissez le Type sur String. Pour le champ Valeur , appuyez sur CTRL + K sur votre clavier et créez trois variables qui fournissent des informations (pour les arguments de type In ) ou extraient des informations (pour les arguments de type Out ).

    Pour cet exemple, créez trois variables de type String :

    • InVariable (InVariable) : la valeur de l'argument de type In.
    • OutVariable : la valeur de l'argument de type Out.
    • InOutVariable : la valeur de l'argument de type In/Out.


      Dans le champ de propriété Objet de tâche (sortie) , appuyez sur CTRL + k sur votre clavier et créez une variable de type ExternalTaskData . Pour cet exemple, nommez la variable TaskPersistData. Cet objet ExternalTaskData est utilisé pour transmettre des données à partir d'Orchestrator, afin d'informer le Robot que jusqu'à ce qu'une tâche d'action spécifique soit terminée, le workflow est suspendu.
  3. Ajoutez toutes les activités que vous souhaitez exécuter avant la suspension du workflow pour récupérer des données sur l'objet ExternalTaskData .
    1. Pour cet exemple, glissez-déposez une activité Sequence dans votre workflow et remplissez-la avec trois activités Write Line . Chaque activité Écrire une ligne ( Write Line) est censée générer les données des trois variables transmises dans la tâche externe. Transmettez les valeurs suivantes dans les champs de propriété Texte : InVariable, OutVariable, InOutVariable.
  4. Faites glisser une activité Wait For External Task and Resume dans votre workflow.

    Cette activité suspend le workflow jusqu'à ce qu'une tâche externe soit terminée, puis la mappe à nouveau dans le workflow, à l'intérieur des variables de type ExternalTaskData . Consultez la page Attendre la tâche externe et reprendre (Wait For External Task And Resume) pour en savoir plus sur cette activité.
    1. Dans le champ de propriété Task Object (Input) , transmettez la variable ExternalTaskData pour référencer la tâche externe exacte que vous avez créée. Pour cet exemple, transmettez la variable TaskPersistData .
    2. Dans le champ de propriété Action de tâche (Task Action ), appuyez sur CTRL + k sur votre clavier et créez une variable de type String et nommez-la TaskAction. Cela stocke l’action entreprise par l’utilisateur pour terminer la tâche.
    3. Dans le champ de propriété Task Object (Output) , appuyez sur CTRL + k sur votre clavier et créez une variable de typeExternalTaskData et nommez-la TaskData. Cette variable stocke l'objet Task mis à jour récupéré à partir d'Orchestrator après l'achèvement de l'action externe.
  5. Ajoutez les activités que vous souhaitez exécuter après la reprise du workflow. Pour cet exemple, imprimez dans le panneau Sortie toutes les valeurs récupérées après la fin de l'action externe, à l'aide de quatre activités Écrire une ligne . Transmettez les variables suivantes dans les champs Texte : TaskAction, InVariable, OutVariable, InOutVariable.


Créer une tâche de formulaire et Suspendre jusqu'à la fin

Cet extrait crée des Actions de formulaire et suspend le workflow jusqu'à ce que l'utilisateur termine les Actions.

  1. Faites glisser une activité Créer une tâche de formulaire (Create Form Task) dans votre workflow.

    Cette activité crée des actions de Actions dans Actions Center avec le Titre de la tâche, la Prioritéde la tâche , le Catalogue de tâches (maintenant appelé Catalogue d'Actions ) et les Données de tâchedonnés. Voir la page Créer une tâche de formulaire (Create Form Task) pour plus d'informations sur l'activité.

  2. Renseignez la fenêtre de propriétés Collecte de données de la tâche avec des arguments qui transmettent les informations In, Outou In/Out. Pour cet exemple, créez trois arguments, chacun avec une Directiondifférente : In, Outet In/Out. Définissez le Type sur String. Pour le champ Valeur , appuyez sur CTRL + K sur votre clavier et créez trois variables qui fournissent des informations (pour les arguments de type In ) ou extraient des informations (pour les arguments de type Out ).

    Pour cet exemple, créez trois variables de type String :

    • InVariable (InVariable) : la valeur de l'argument de type In.
    • OutVariable : la valeur de l'argument de type Out.
    • InOutVariable : la valeur de l'argument de type In/Out.


      Dans le champ de propriété Objet de tâche (sortie) , appuyez sur CTRL + k sur votre clavier et créez une variable de type FormTaskData . Pour cet exemple, nommez la variable TaskPersistData. Cet objet FormTaskData est utilisé pour transmettre des données à partir d'Orchestrator, afin d'informer le Robot que jusqu'à ce qu'une tâche d'action spécifique soit terminée, le workflow est suspendu.
  3. Ajoutez toutes les activités que vous souhaitez exécuter avant la suspension du workflow pour récupérer des données sur l'objet FormTaskData . Pour cet exemple, glissez-déposez une activité Sequence dans votre workflow et remplissez-la avec trois activités Write Line . Chaque activité Écrire une ligne ( Write Line) est censée générer les données des trois variables transmises dans l’action externe. Transmettez les valeurs suivantes dans les champs de propriété Texte : InVariable, OutVariable, InOutVariable.
  4. Faites glisser une activité Wait For External Task and Resume dans votre workflow.

    Cette activité suspend le workflow jusqu'à ce qu'une action de formulaire soit terminée, puis la mappe à nouveau dans le workflow, à l'intérieur des variables de type FormTaskData .
    1. Dans le champ de propriété Objet de tâche (entrée) , transmettez la variable FormTaskData pour référencer la tâche de formulaire exacte que vous avez créée dans Action Center. Pour cet exemple, transmettez la variable TaskPersistData .
    2. Dans le champ de propriété Action de tâche (Task Action ), appuyez sur CTRL + k sur votre clavier et créez une variable de type String et nommez-la TaskAction. Cela stocke l’action entreprise par l’utilisateur pour terminer la tâche.
    3. Dans le champ de propriété Objet de tâche (sortie) , appuyez sur CTRL + k sur votre clavier et créez une variable de type FormTaskData et nommez-la TaskData. Cette variable stocke l'objet Task mis à jour récupéré à partir d'Orchestrator une fois la tâche terminée.
  5. Faites glisser les activités que vous souhaitez exécuter après la reprise du workflow. Pour cet exemple, transmettez dans le panneau Sortie toutes les valeurs récupérées après la fin de l'action externe, à l'aide de quatre activités Écrire une ligne . Transmettez les variables suivantes dans les champs Texte : TaskAction, InVariable, OutVariable, InOutVariable.

Créer une tâche et affecter à un utilisateur

Cet extrait crée deux actions externes, les affecte à un utilisateur et affiche une liste des affectations d'actions ayant échoué.

  1. Faites glisser deux activités Créer une tâche externe (Create External Task) dans votre workflow.

    1. Pour la première activité, donnez un titre à l'action et définissez sa priorité. Dans le champ de propriété ObjetTâche (Sortie) , appuyez sur CTRL + k sur votre clavier et créez une variable de type ExternalTaskData . Pour cet exemple, nommez-le Task1PersistData.
    2. Pour la deuxième activité, donnez un titre à l'action et définissez sa priorité. Dans le champ de propriété ObjetTâche (Sortie) , appuyez sur CTRL + k sur votre clavier et créez une variable de type ExternalTaskData . Pour cet exemple, nommez-le Task2PersistData.


  2. Faites glisser deux activités Ajouter à la collection dans votre workflow.

    Remarque :

    L'activité Ajouter à la collection est une activité classique.

    Pour rendre l'activité Ajouter à la collection (Add To Collection) disponible dans votre projet :

    • Avoir le package System.Activities 22.4.1 ou version antérieure installé.
    • Accédez au panneau Activités (Activities).
    • Cliquez sur les options d'affichage (View Options). docs image icône.
    • Cliquez sur Afficher la version classique (Show Classic).

    L'activité se trouve sous Activités par défaut ( Default Activities) > Programmation > Collecte (Collection).

    1. Dans les champs de propriétés Collection (Collection), appuyez sur CTRL + k sur votre clavier et créez une variable de type List<TaskUserAssignment> et nommez-la TaskAssignementsInput. Accédez au panneau Variables (Variables) et initialisez la variable dans le champ Par défaut en tant que new List(Of TaskUserAssignment.
    2. Dans le champ de propriété Élément , créez une instance de TaskUserAssignment, qui possède les paramètres suivants : la variable DonnéesTâcheExterne et l'adresse e-mail de l'utilisateur auquel vous souhaitez affecter la tâche.

      Pour cet exemple, tapez ce qui suit :

      • L'expressionnew TaskUserAssignment(Task1PersistData.Id, "emailaddress") pour la première activité Ajouter à la collection
      • L'expression new TaskUserAssignment(Task2PersistData.Id, "emailaddress") de la deuxième activité Ajouter à la collection .


    3. Définissez la propriété TypeArgument sur System.Collections.Generic.List<UiPath.Persistence.Activities.Tasks.TaskUserAssignment>.
  3. Faites glisser une activité Affecter des tâches (Assign Tasks ) dans votre workflow.

    1. Dans le champ de propriété TaskUserAssignments (Input) , transmettez la variable List<TaskUserAssignment> . Pour cet exemple, transmettez la variable TaskAssignmentsInput .
    2. Dans le champ de propriété Type d'affectation de tâche (Task Assignment Type ), saisissez l'opération d'affectation exacte que vous souhaitez effectuer : Affecter ou Réaffecter(Reassign) . Pour cet exemple, tapez Assign.
    3. Dans le champ de propriété FailedTaskAssignments (Output) , appuyez sur CTRL + k sur votre clavier et créez une variable de type List<TaskAssignmentResponse> et nommez-la FailedTaskAssignmentsOutput.


  4. Faites glisser une activité Écrire une ligne pour afficher le nombre d'affectations de tâches ayant échoué. Dans le champ Propriété du texte ( Text property), transmettez la variable de type List<TaskAssignmentResponse> , puis utilisez les propriétés .Count et .ToString . Pour cet exemple, transmettez l'expression suivante : FailedTaskAssignemntsOutput.Count.ToString.

Démarrer la tâche et reprendre une fois la tâche terminée

Démarre un processus Unattended et suspend le workflow jusqu'à ce qu'une tâche particulière soit terminée.

  1. Faites glisser une activité Démarrer la tâche et obtenir une référence (Start Job And Get Reference ) dans votre workflow.

    Cette activité démarre une tâche dans Orchestrator, en fonction des arguments saisis, puis récupère l'objet de tâche correspondant. Voir la page Démarrer la tâche et obtenir une référence pour plus d'informations sur l'activité.

    1. Dans le champ de propriété ProcessName , transmettez le Nom complet du processus que vous souhaitez utiliser pour le Job. Pour cet exemple, stockez le nom dans une variable. Appuyez sur CTRL +k sur votre clavier et créez une variable de type String et nommez-la ProcessName. Dans le champ Valeur (Value), transmettez le Nom complet du processus, par exemple, TestProcess_test.
      Remarque : le nom complet doit être écrit au format suivant : packageName _environment.


    2. Dans la propriété Arguments de la tâche (Collection) , créez les arguments que vous souhaitez utiliser lors de l'appel de la tâche dans Orchestrator. Cette propriété modifie les types d'arguments Out et In/Out en fonction de l'entrée reçue du Job dans Orchestrator, puis les mappe à nouveau dans le workflow. Pour cet exemple, créez un argument Type String , nommé Test, de Direction In/Out. Dans le champ Valeur , appuyez sur CTRL + k sur votre clavier et créez une variable de type String . Nommez la variable Test.


    3. Dans le champ de propriété Objet de travail (sortie) , appuyez sur CTRL + k sur votre clavier et créez une variable de type JobData , nommée JobPersistenceData. Cette variable stocke l'objet de données de tâche créé lors de l'appel de la tâche dans Orchestrator, afin de l'utiliser pour l'activité Attendre la tâche et Reprendre .
  2. Ajoutez toutes les activités que vous souhaitez exécuter avant la suspension du workflow pour récupérer des données sur l'objet JobData .
  3. Faites glisser une activité Attendre la tâche ( Wait for Job and Resume ) dans votre workflow.

    Cette activité suspend le workflow jusqu'à ce qu'une tâche spécifique dans Orchestrator soit terminée. Une fois la tâche terminée, le workflow reprend.

    1. Dans le champ de propriété Objet de la tâche (entrée) , transmettez la variable de type JobData , créée pour l'activité Démarrer la tâche et obtenir la référence . Pour cet exemple, transmettez la variable JobPersistenceData . Cela dirige le Robot vers la Tâche exacte qui doit être terminée jusqu'à ce que le workflow reprenne.
    2. Dans le champ de propriété Objet de tâche (Sortie) , appuyez sur CTRL + k sur votre clavier et créez une variable de type JobData . Pour cet exemple, nommez-le JobDataObject.
  4. Faites glisser une activité Write Line , afin d'imprimer l'argument qui a été mappé à nouveau dans le workflow. Dans le champ de propriété Texte (Text), transmettez la variable utilisée comme Valeur pour l'argument créé dans Arguments de la tâche (Collection). Pour cet exemple, transmettez la variable Test .

Suspendre et reprendre après 1 heure

Cet extrait suspend le workflow donné et le reprend après une heure.

  1. Ajoutez les activités que vous souhaitez exécuter avant la suspension du workflow.
  2. Faites glisser une activité Resume After Delay dans votre workflow. Cette activité suspend le workflow donné et le reprend à une date et une heure spécifiées.

    Consultez la page Reprendre après le délai ( Resume After Delay ) pour en savoir plus sur cette activité.

    1. 2.1. Dans le panneau Variables (Variables), créez une variable de type System.TimeSpan . Pour cet exemple, nommez la variable OneHour. Définissez la valeur par défaut de la variable TimeSpan sur New TimeSpan(1,0,0).
    2. 2.2. Dans le champ de propriété Heure de reprise de l'activité, transmettez l'expression DateTime.Now et la variable TimeSpan . Pour cet exemple, transmettez l'expression suivante : DateTime.Now + OneHour.


  3. Ajoutez les activités que vous souhaitez exécuter après la reprise du workflow.

Suspendre et reprendre après 5 minutes

Cet extrait suspend le workflow donné et le reprend après cinq minutes.

  1. Faites glisser les activités que vous souhaitez exécuter avant la suspension du workflow.
  2. Faites glisser une activité Resume After Delay dans votre workflow. Cette activité suspend le workflow donné et le reprend à une date et une heure spécifiées.

    1. Dans le panneau Variables (Variables), créez une variable de type System.TimeSpan . Pour cet exemple, nommez la variable FiveMinute. Définissez la valeur par défaut de la variable TimeSpan sur New TimeSpan(0,5,0).
    2. Dans le champ de propriété Heure de reprise de l'activité, transmettez l'expression DateTime.Now et la variable TimeSpan . Pour cet exemple, transmettez l'expression suivante : DateTime.Now + FiveMinute.


  3. Faites glisser les activités que vous souhaitez exécuter après la reprise du workflow.

Suspendre et reprendre après 90 secondes

Cet extrait suspend le workflow donné et le reprend après quatre-vingt-dix secondes.

  1. Ajoutez les activités que vous souhaitez exécuter avant la suspension du workflow.
  2. Faites glisser une activité Resume After Delay dans votre workflow. Cette activité suspend le workflow donné et le reprend à une date et une heure spécifiées.

    1. Dans le panneau Variables (Variables), créez une variable de type System.TimeSpan . Pour cet exemple, nommez la variable NinetySeconds. Définissez la valeur par défaut de la variable TimeSpan sur New TimeSpan(0,0,90).
    2. Dans le champ de propriété Heure de reprise de l'activité, transmettez l'expression DateTime.Now et la variable TimeSpan . Pour cet exemple, transmettez l'expression suivante : DateTime.Now + NinetySeconds.


  3. Faites glisser les activités que vous souhaitez exécuter après la reprise du workflow.

Attendre la fin de toutes les tâches de formulaire

Cet extrait crée plusieurs actions de formulaire dans une boucle, en fonction du nombre de factures dans une table de données, et suspend le workflow jusqu'à ce que toutes les actions soient terminées.

  1. Faites glisser une activité BuildDataTable dans votre workflow.

    1. Dans le champ Propriété de sortie ( Output property), appuyez sur CTRL + k sur votre clavier et créez une variable de type DataTable pour stocker la table de données que vous créez. Pour cet exemple, nommez la variable DataTable comme HighValueInvoices.
    2. Cliquez sur . La fenêtre Créer une table de données ( Build Data Table) s'ouvre.

    3. Renommez Column1 en InvoiceNumber et Column2 en InvoiceAmount.
    4. Ajoutez des données à l'intérieur des lignes de la table et appuyez sur OK.



  2. Faites glisser une activité Assign (Assign ) dans votre workflow. Cette activité attribue un nom à la table de données, stocké dans une variable String .
    1. Dans le champ de propriété À (To), transmettez la variable DataTable . Pour cet exemple, transmettez la variable HighValueInvoices .
    2. Dans le champ de propriété Valeur (Value), appuyez sur CTRL + k sur votre clavier et créez une variable de type String . Pour cet exemple, nommez-le DataTableName. Définissez la valeur par défaut de la variable DataTableName sur ``"factures"`.
  3. Faites glisser une activité For Each dans votre workflow. Dans le champ de propriété Liste des éléments (List of items), transmettez une expression au format suivant : DataTableVariable.Rows. Pour cet exemple, transmettez HighValueInvoices.Rows. Cela parcourt chaque ligne de la table de données.
  4. Faites glisser une activité Créer une tâche de formulaire (Create Form Task) dans le corps de l’activité Pour chaque ( For Each ).

    1. Dans le champ de propriété Titre de la tâche (Task Title ), saisissez la valeur Numéro de facture (Invoice Number) récupérée par l'activité Pour chaque (For Each) et convertissez-la en chaîne. Pour cet exemple, saisissez l'expression suivante : item("InvoiceNumber").ToString, où InvoiceNumber est le nom de la colonne contenant le numéro respectif de chaque facture.
    2. Dans Données de formulaire (collecte), créez un argument qui transmettra chaque montant de facture à l'intérieur de l'action de formulaire. Créez un argument de type String et définissez la direction sur In. Dans le champ Valeur (Value), saisissez le montant de chaque facture et convertissez-le en chaîne. Pour cet exemple, saisissez l'expression suivante : item("InvoiceAmount").ToString, où InvoiceAmount est le nom de la colonne contenant le montant respectif de chaque facture.
    3. Dans le champ de propriété ObjetTâche (Sortie) , appuyez sur CTRL + k sur votre clavier et créez une variable de type FormTaskData . Pour cet exemple, nommez la variable TaskPersistData.


  5. Faites glisser une activité Ajouter à la collection à l'intérieur du corps de l'activité Pour chaque .

    1. Dans le champ de propriétés Collection (Collection), appuyez sur CTRL + k sur votre clavier et créez une variable List<FormTaskData> et nommez-la TaskList. Accédez au panneau Variables (Variables) et initialisez la variable dans le champ Par défaut en tant que New List(Of UiPath.Persistence.Activities.FormTask.FormTaskData.
    2. Dans le champ de propriété Élément , transmettez la variable FormTaskData , créée pour stocker les données sur les actions de formulaire créées. Pour cet exemple, transmettez la variable TaskPersistData .
    3. Pour la propriété TypeArgument , choisissez UiPath.Persistence.Activities.FormTask.FormTaskData.
  6. Faites glisser une activité Parallèle pour chaque ( Parallel For Each ) dans votre workflow.

    1. Pour la propriété TypeArgument , choisissez UiPath.Persistence.Activities.FormTask.FormTaskData.
    2. Dans le champ de propriété Valeurs (Values), transmettez la variable List<FormTaskData> . Pour cet exemple, transmettez la variable TaskList .
  7. Faites glisser une activité Wait for Form Task and Resume dans le corps de l’activité Parallel For Each .

    1. Dans le champ de propriété ObjetTâche (Entrée) (TaskObject(Input) , entrez l’objet item , référencé dans l’activité Parallèle pour chaque ( Parallel For Each ). Dans ce cas, l'objet item représente les actions de formulaire stockées dans la variable TaskList .
    2. Dans le champ de propriété ActionTâche , appuyez sur CTRL + k sur votre clavier et créez une variable String . Pour cet exemple, nommez-le TaskAction.
    3. Dans le champ de propriété ObjetTâche (Sortie) , appuyez sur CTRL + k sur votre clavier et créez une variable FormTaskData . Pour cet exemple, nommez-le TaskData.


  8. Faites glisser une activité Write Line dans votre workflow. Cette activité affiche dans le panneau Sortie (Output) l'action entreprise par l'utilisateur pour terminer l'action de formulaire. Dans la valeur Texte ( Text value), saisissez la variable TaskAction .

Attendre la fin d'une tâche de formulaire

Cet extrait crée plusieurs Actions de formulaire en séquence et suspend le workflow jusqu'à ce que l'une des Actions de formulaire soit terminée.

  1. Faites glisser une activité Créer une tâche de formulaire (Create Form Task) dans votre workflow de séquence.

    1. Dans le champ de propriété TitreTâche , appuyez sur CTRL + k sur votre clavier et créez une variable String . Nommez-le TaskTitle1. Dans le panneau Variables (Variables), définissez la valeur par défaut sur "Task - " + "Approver 1".
    2. Dans la propriété DonnéesFormulaires(Collection) , créez un argument de Type String et de Direction In. Nommez l’argument Approver et définissez la valeur sur "Approver1".
    3. Dans le champ de propriété ObjetTâche (Sortie) , appuyez sur CTRL + k sur votre clavier et créez une variable FormTaskData . Pour cet exemple, nommez la variable TaskPersistData1.
  2. Faites glisser une deuxième activité Créer une tâche de formulaire (Create Form Task) dans votre workflow.

    1. Dans le champ de propriété TitreTâche , appuyez sur CTRL + k sur votre clavier et créez une variable String . Nommez-le TaskTitle2. Dans le panneau Variables (Variables), définissez la valeur par défaut sur "Task - " + "Approver 2".
    2. Dans la propriété DonnéesFormulaires(Collection) , créez un argument de Type String et de Direction In. Nommez l’argument Approver et définissez la valeur sur "Approver2".
    3. Dans le champ de propriété ObjetTâche (Sortie) , appuyez sur CTRL + k sur votre clavier et créez une variable FormTaskData . Pour cet exemple, nommez la variable TaskPersistData2.
  3. Faites glisser une troisième activité Créer une tâche de formulaire (Create Form Task) dans votre workflow.

    1. Dans le champ de propriété TitreTâche , appuyez sur CTRL + k sur votre clavier et créez une variable String . Nommez-le TaskTitle3. Dans le panneau Variables (Variables), définissez la valeur par défaut sur "Task - " + "Approver 3".
    2. Dans la propriété DonnéesFormulaires(Collection) , créez un argument de Type String et de Direction In. Nommez l’argument Approver et définissez la valeur sur "Approver3".
    3. Dans le champ de propriété ObjetTâche (Sortie) , appuyez sur CTRL + k sur votre clavier et créez une variable FormTaskData . Pour cet exemple, nommez la variable TaskPersistData3.
  4. Faites glisser une activité Choisir ( Pick ) dans votre workflow.
  5. Faites glisser une activité Pick Branch dans le corps de l’activité Pick . Renommez l'activité Pick Branch (Task1).
  6. Faites glisser une activité Wait For Form Task And Resume dans le corps du déclencheur de l’activité Pick Branch (Task1) .
    1. Dans le champ de propriété TaskObject (Input) , transmettez la variable FormTaskData créée pour stocker des données sur l'action de formulaire. Pour cet exemple, transmettez la variable TaskPersistData1 .
    2. Dans le champ de propriété ActionTâche , appuyez sur CTRL + k et créez une variable String . Nommez-le TaskAction1.
    3. Dans le champ de propriété ObjetTâche (Sortie) , appuyez sur CTRL+ k sur votre clavier et créez une variable FormTaskData . Nommez-le TaskData1.
  7. Faites glisser une activité Write Line dans le corps Action de l’activité Pick Branch (Task1) . Cette activité est destinée à afficher dans le panneau Sortie (Output) l'action entreprise par l'utilisateur pour terminer l'action de formulaire. Dans la valeur Texte ( Text value), saisissez la variable TaskAction1 .


  8. Faites glisser une activité Pick Branch dans le corps de l’activité Pick . Renommez l'activité Pick Branch (Task2).
  9. Faites glisser une activité Wait For Form Task And Resume dans le corps du déclencheur de l’activité Pick Branch (Task2) .
    1. Dans le champ de propriété TaskObject (Input) , transmettez la variable FormTaskData créée pour stocker des données sur l'action de formulaire. Pour cet exemple, transmettez la variable TaskPersistData2 .
    2. Dans le champ de propriété ActionTâche , appuyez sur CTRL + k et créez une variable String . Nommez-le TaskAction2.
    3. Dans le champ de propriété ObjetTâche (Sortie) , appuyez sur CTRL+ k sur votre clavier et créez une variable FormTaskData . Nommez-le TaskData2.
  10. Faites glisser une activité Write Line dans le corps Action de l’activité Pick Branch (Task2) . Cette activité affiche dans le panneau Sortie (Output) l'action entreprise par l'utilisateur pour terminer l'action de formulaire. Dans la valeur Texte ( Text value), saisissez la variable TaskAction2 .
  11. Faites glisser une activité Pick Branch dans le corps de l’activité Pick . Renommez l'activité Pick Branch (Task3).
  12. Faites glisser une activité Wait For Form Task And Resume dans le corps du déclencheur de l’activité Pick Branch (Task3) .
    1. Dans le champ de propriété TaskObject (Input) , transmettez la variable FormTaskData créée pour stocker des données sur l'action de formulaire. Pour cet exemple, transmettez la variable TaskPersistData3 .
    2. Dans le champ de propriété ActionTâche , appuyez sur CTRL + k et créez une variable String . Nommez-le TaskAction3.
    3. Dans le champ de propriété ObjetTâche (Sortie) , appuyez sur CTRL+ k sur votre clavier et créez une variable FormTaskData . Nommez-le TaskData3.
  13. Faites glisser une activité Write Line dans le corps Action de l’activité Pick Branch (Task3) . Cette activité affiche dans le panneau Sortie (Output) l'action entreprise par l'utilisateur pour terminer l'action de formulaire. Dans la valeur Texte ( Text value), saisissez la variable TaskAction3 .

Attendre l'achèvement de certaines tâches de formulaire dans la boucle

Cet extrait crée plusieurs Actionsde formulaire en fonction de l'entrée d'une table de données et suspend le workflow jusqu'à ce qu'un certain ensemble d' Actions de formulaire soit terminé.

  1. Faites glisser une activité Build Data Table dans votre workflow.

    1. Dans le champ de propriété TableDonnées , appuyez sur CTRL + k sur votre clavier et créez une variable System.DataTable . Pour cet exemple, nommez-le CodeReviews.
    2. Cliquez sur . La fenêtre Créer une table de données ( Build Data Table) s'ouvre.

    3. Renommez Column1 en ReviewerName et Column2 en ReviewerType. Définissez le Type de la colonne ReviewerType sur String.
    4. Ajoutez des données à l'intérieur des lignes de la table. Pour la colonne ReviewerType , cet exemple utilise deux types de réviseurs : les propriétaires de code et les réviseurs.


  2. Faites glisser une activité Assign (Assign ) dans votre workflow. Cela attribue un nom à la table de données que vous avez créée. Dans le champ de propriété À (To), transmettez la variable System.DataTable et ajoutez-y la propriété .TableName . Dans le champ Valeur , appuyez sur CTRL + k sur votre clavier et créez une variable String . Pour cet exemple, nommez-le DataTableName.
  3. Faites glisser une activité Parallèle pour chaque ( Parallel For Each ) dans votre workflow. Pour cet exemple, nommez-le Create Tasks for PR Review.
    1. Dans le champ de propriété Valeurs (Values), transmettez la variable System.DataTable et ajoutez la propriété .AsEnumerable. Pour cet exemple, transmettez l'expression suivante : CodeReviews.AsEnumerable.
  4. Faites glisser une activité Assign (Assign) dans le corps de l’activité Pour chaque parallèle ( Parallel For Each ).

    1. Dans le champ de propriété À (To), appuyez sur CTRL + k sur votre clavier et créez une variable String , qui contient les données récupérées de la colonne ReviewerType dans la table de données CodeReviews . Pour cet exemple, nommez la variable ReviewerType.
    2. Dans le champ de propriété Valeur (Value), transmettez une expression qui récupère chaque élément de ligne de la colonne ReviewerType et le stocke dans la variable créée à l'intérieur du champ À . Pour cet exemple, transmettez l'expression suivante : ìtem("ReviewerType").toString.


  5. Faites glisser une activité Créer une tâche de formulaire (Create Form Task) dans le corps de l’activité Parallèle pour chaque ( Parallel For Each ).

    1. Dans le champ de propriété TitreTâche , transmettez l'expression suivante : "Code Review - " + InPullRequestName. Le InPullRequestName est une variable String , qui a la valeur par défaut "#1".
    2. Dans la propriété DonnéesForm (Collection) , créez quatre arguments de Type String:
    3. 'PR Number' - avec la Direction Inet la Valeur définie sur InPullRequestName.
    4. Reviewer Name - avec la Direction Inet la Valeur définie sur item("ReviewerName").toString.
    5. Reviewer Type - avec la Direction In/Outet la valeur définie comme variable ReviewerType .
    6. Reviewer Comment - avec la Direction Out. Dans le champ Valeur , appuyez sur CTRL + k sur votre clavier et créez une variable String . Nommez-le ReviewerComments. Cet argument mappe dans le workflow tous les commentaires faits dans l'action.
      5.3. Dans le champ de propriété ObjetTâche (Sortie) , appuyez sur CTRL + k sur votre clavier et créez une variable FormTaskData . Nommez-le TaskPersistData.


  6. Faites glisser une activité Ajouter à la collection (Add To Collection) dans le corps de l’activité Parallèle pour chaque ( Parallel For Each ). Cette activité stocke toutes les actions de formulaire créées dans une liste.

    1. Dans le champ de propriétés Collection , appuyez sur CTRL + k sur votre clavier et créez une variable List<FormTaskData> . Nommez-le TaskDataList. Accédez au panneau Variables (Variables) et définissez la valeur par défaut de la variable sur New List(of UiPath.Persistence.Activities.FormTask.FormTaskData).
    2. Dans le champ de propriété Élément , transmettez la variable FormTaskData . Pour cet exemple, transmettez la variable TaskPersistData .
    3. Pour la propriété TypeArgument , choisissez UiPath.Persistence.Activities.FormTask.FormTaskData.
  7. Dans le panneau Variables (Variables), créez deux variables de type Int32 et définissez leur valeur par défaut sur 0: OwnersApprovals et ReviewersApprovals.
  8. Faites glisser une autre activité Parallèle pour chaque ( Parallel For Each ). Pour cet exemple, nommez-le Wait for Conditional Task(s) Completion.
    1. Dans le champ de propriété Condition (Condition ), transmettez l'expression suivante : OwnersApprovals>=2 Or (OwnersApprovals = 1 And ReviewersApprovals>=2). Cela conditionne le workflow à reprendre uniquement lorsque la condition est remplie.
    2. Pour la propriété TypeArgument , choisissez UiPath.Persistence.Activities.FormTask.FormTaskData.
    3. Dans le champ de propriété Valeur (Value), transmettez la liste où les actions de formulaire sont stockées. Pour cet exemple, transmettez la variable TaskDataList .


  9. Faites glisser une activité Sequence (Sequence) dans le corps de l’activité Attendre l’achèvement des tâches conditionnelles (Wait For Conditional Task) . Renommez-le Wait for Task and Resume.
  10. Faites glisser une activité Wait For Form Task And Resume vers l’activité de séquence Wait for Task and Resume .

    1. Dans le champ de propriété ObjetTaskObject(Input) , transmettez la variable item .
    2. Dans le champ de propriété TaskAction , appuyez sur CTRL + k sur votre clavier et créez une variable String . Pour cet exemple, nommez-le TaskAction.
    3. Dans le champ de propriété ObjetTâche (Sortie) , appuyez sur CTRL + k sur votre clavier et créez une variable FormTaskData . Pour cet exemple, nommez-le TaskData.
  11. Faites glisser une activité Si (If) vers l’activité de séquence Attendre la tâche et reprendre ( Wait for Task and Resume) . Cette activité est destinée à compter le nombre d'actions de formulaire approuvées par les propriétaires de code.

    1. Dans le champ de propriété Condition , transmettez l'expression suivante : TaskAction="approve" And ReviewerType="code owner".
    2. Faites glisser et déposez une activité Assign (Assign) dans le bloc Puis (Then). Dans le champ de propriété À (To), transmettez la variable OwnersApprovals . Dans le champ de propriété de la valeur , transmettez l'expression OwnersApprovals + 1 .


  12. Faites glisser une autre activité Si (If) dans l’activité de séquence Attendre la tâche et Reprendre ( Wait for Task and Resume) . Cette activité est destinée à compter le nombre d'actions de formulaire approuvées par les réviseurs.

    1. Dans le champ de propriété Condition , transmettez l'expression suivante : TaskAction="approve" And ReviewerType="reviewer".
    2. Faites glisser une activité Assign (Assign) dans le bloc Puis (Then). Dans le champ de propriété À (To), transmettez la variable ReviewersApprovals . Dans le champ de propriété de la valeur , transmettez l'expression ReviewersApprovals + 1 .


  13. Faites glisser trois activités Write Line vers l’activité de séquence Wait for Task and Resume . Cette activité affiche les valeurs données dans le panneau Sortie (Output).

    1. Dans la première activité, transmettez la variable ReviewComments .
    2. Dans la deuxième activité, transmettez la variable OwnersApprovals et ajoutez la propriété .toString .
    3. Dans la troisième activité, transmettez la variable ReviewersApprovals et ajoutez la propriété .toString .

Attendre la fin de certaines tâches de formulaire

Cet extrait crée trois actions de formulaire et suspend le workflow jusqu'à ce que deux actions soient terminées.

  1. Faites glisser une activité Créer une tâche de formulaire (Create Form Task) dans votre workflow de séquence.

    1. Dans le champ de propriété TitreTâche , appuyez sur CTRL + k sur votre clavier et créez une variable String . Nommez-le TaskTitle1. Dans le panneau Variables (Variables), définissez la valeur par défaut sur "Task - " + "Approver 1".
    2. Dans la propriété DonnéesFormulaires(Collection) , créez un argument de Type String et de Direction In. Nommez l’argument Approver et définissez la valeur sur "Approver1".
    3. Dans le champ de propriété ObjetTâche (Sortie) , appuyez sur CTRL + k sur votre clavier et créez une variable FormTaskData . Pour cet exemple, nommez la variable TaskPersistData1.
  2. Faites glisser une activité Créer un formulaire ( Create Form Activity) dans votre workflow de séquence.

    1. Dans le champ de propriété TitreTâche , appuyez sur CTRL + k sur votre clavier et créez une variable String . Nommez-le TaskTitle2. Dans le panneau Variables (Variables), définissez la valeur par défaut sur "Task - " + "Approver 2".
    2. Dans la propriété DonnéesFormulaires(Collection) , créez un argument de Type String et de Direction In. Nommez l’argument Approver et définissez la valeur sur "Approver2".
    3. Dans le champ de propriété ObjetTâche (Sortie) , appuyez sur CTRL + k sur votre clavier et créez une variable FormTaskData . Pour cet exemple, nommez la variable TaskPersistData2.
  3. Faites glisser une activité Créer un formulaire ( Create Form Activity) dans votre workflow de séquence.

    1. Dans le champ de propriété TitreTâche , appuyez sur CTRL + k sur votre clavier et créez une variable String . Nommez-le TaskTitle3. Dans le panneau Variables (Variables), définissez la valeur par défaut sur "Task - " + "Approver 3".
    2. Dans la propriété DonnéesFormulaires(Collection) , créez un argument de Type String et de Direction In. Nommez l’argument Approver et définissez la valeur sur "Approver3".
    3. Dans le champ de propriété ObjetTâche (Sortie) , appuyez sur CTRL + k sur votre clavier et créez une variable FormTaskData . Pour cet exemple, nommez la variable TaskPersistData3.
  4. Faites glisser une activité Parallèle dans votre workflow.

    1. Dans le champ de propriété Condition (Condition ), appuyez sur CTRL + k sur votre clavier et créez une variable Int32 . Pour cet exemple, nommez la variable CompleteTasksCount et définissez la valeur par défaut sur 0.
    2. Dans l' Éditeur d'expressions à l'intérieur de la propriété Condition (Condition), définissez la condition sur CompleteTasksCount=2. Cela conditionne l'achèvement de l'activité Parallèle lorsque deux des trois actions sont terminées.


  5. Faites glisser une activité Sequence dans le corps de l’activité Parallel . Renommez l'activité Sequence Task1.
  6. Dans l’activité Sequence Task1 , faites glisser une activité Wait For Form Task and Resume . Renommez-le Wait for Form Task and Resume(Task1).
    1. Dans le champ de propriété TaskObject (Input) , transmettez la variable FormTaskData créée pour stocker des données sur l'action de formulaire. Pour cet exemple, transmettez la variable TaskPersistData1 .
    2. Dans le champ de propriété ActionTâche , appuyez sur CTRL + k et créez une variable String . Nommez-le TaskAction1.
    3. Dans le champ de propriété ObjetTâche (Sortie) , appuyez sur CTRL+ k sur votre clavier et créez une variable FormTaskData . Nommez-le TaskData1.


  7. Faites glisser une activité Write Line dans le corps Action de l’activité Sequence Task1 . Son activité est censée afficher dans le panneau Sortie (Output) l'action entreprise par l'utilisateur pour compléter l'action du formulaire. Dans la valeur Texte ( Text value), saisissez la variable TaskAction1 .
  8. Faites glisser une activité Assign (Assign) dans l'activité Wait for Form Task and Resume(Task1) . Transmettez l'expression CompleteTaskCount dans le champ À (To) et l'expression CompleteTaskCount + 1 dans le champ Valeur (Value). Si l'action est terminée et que le workflow a repris, une nouvelle itération est ajoutée à la variable CompleteTaskCount .


  9. Faites glisser une activité Sequence dans le corps de l’activité Parallel . Renommez l'activité Sequence Task2.
  10. Dans l'activité Sequence Task2 , glissez-déposez une activité Attendre une tâche de formulaire et une activité Resume (Wait For Form Task and Resume) . Renommez-le Wait for Form Task and Resume(Task2)
    1. Dans le champ de propriété TaskObject (Input), transmettez la variable FormTaskData créée pour stocker des données sur l'action de formulaire. Pour cet exemple, transmettez la variable TaskPersistData2.
    2. Dans le champ de propriété ActionTâche , appuyez sur CTRL + ket créez une variable String. Nommez-la TaskAction2
    3. Dans le champ de propriété ObjetTâche (Sortie) , appuyez sur CTRL+k sur votre clavier et créez une variable FormTaskData . Nommez-le TaskData2.
  11. Faites glisser une activité Write Line dans le corps de l’activité Sequence Task2 . Cette activité affiche dans le panneau Sortie (Output) l'action entreprise par l'utilisateur pour terminer l'action de formulaire. Dans la valeur Texte ( Text value), saisissez la variable TaskAction2 .
  12. Faites glisser une activité Assign (Assign) dans l'activité Wait for Form Task and Resume(Task2). Transmettez l'expression CompleteTaskCountdans le champ À et l'expression CompleteTaskCount + 1dans le champ Valeur . Si l'action est terminée et que le workflow a repris, une nouvelle itération est ajoutée à la variableCompleteTaskCount .
  13. Faites glisser une activité Sequence dans le corps de l’activité Parallel . Renommez l'activité Sequence Task3.
  14. Dans l'activité Sequence Task3 , glissez-déposez une activité Attendre une tâche de formulaire et une activité Resume (Wait For Form Task and Resume) . Renommez-le Wait for Form Task and Resume(Task3).
    1. Dans le champ de propriété TaskObject (Input) , transmettez la variable FormTaskData créée pour stocker des données sur l'action de formulaire. Pour cet exemple, transmettez la variable TaskPersistData3 .
    2. Dans le champ de propriété ActionTâche , appuyez sur CTRL + k et créez une variable String . Nommez-le TaskAction3.
    3. Dans le champ de propriété ObjetTâche (Sortie) , appuyez sur CTRL+ k sur votre clavier et créez une variable FormTaskData . Nommez-le TaskData3.
  15. Faites glisser une activité Write Line dans le corps Action de l’activité Sequence Task3 . Son activité est censée afficher dans le panneau Sortie (Output) l'action entreprise par l'utilisateur pour compléter l'action du formulaire. Dans la valeur Texte ( Text value), saisissez la variable TaskAction3 .
  16. Faites glisser une activité Assign (Assign) dans l'activité Wait for Form Task and Resume(Task3). Transmettez l'expression CompleteTaskCountdans le champ À et l'expression CompleteTaskCount + 1dans le champ **Valeur**. Si l'action est terminée et que le workflow a repris, une nouvelle itération est ajoutée à la variableCompleteTaskCount .

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 White
Confiance et sécurité
© 2005-2024 UiPath Tous droits réservés.