UiPath Documentation
activities
latest
false

Activités de workflow

Dernière mise à jour 5 mai 2026

Exemple de workflows

Le panneau Extraits de 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, où vous répliquez les activités et les configurations trouvées dans les extraits.

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

Prérequis

  • Pour développer des workflows de longue durée, basés sur ceux du panneau Extraits , 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é Add Queue Item And Get Reference 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 d'entrée/de sortie. Ensuite, il récupère les données correspondantes sur l'objet d'élément de file d'attente récemment créé dans une variable de type QueueItemData , afin de suspendre le workflow, jusqu'à ce que l'élément de file d'attente soit ajouté à la file d'attente. Consultez la page Ajouter un élément de la file d'attente et obtenir la référence 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 , créez un paramètre avec la Direction Entrée/Sortie et définissez la valeur comme 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é QueueItemObject(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.

    image des documents

  2. Faites glisser toutes les activités que vous souhaitez exécuter avant la suspension du workflow pour récupérer les données sur l’élément de la file d’attente. Dans cet extrait, 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 lors du runtime.

  3. Faites glisser une activité Wait For Queue Item And Resume dans votre workflow. Cette activité attend qu'un élément de la file d'attente soit ajouté et traité dans Orchestrator, afin de récupérer les données correspondantes et de les mapper à nouveau dans le workflow, à l'intérieur des variables de type QueueItemData . Consultez la page Attendre l’élément de la file d’attente et reprendre pour plus d’informations sur l’activité.

    1. Dans le champ de propriété Objet d'é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 souhaitez ajouter à Orchestrator.
    2. Dans le champ de propriété Objet d'é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é Ligne d'écriture dans votre workflow pour imprimer l'élément de file d'attente que vous avez ajouté dans Orchestrator. Pour cet exemple, dans le champ de propriété Texte , passez 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é Create External Task dans votre workflow. Cette activité crée une action externe dans Action Center avec le titre de tâche , la priorité de la tâche , le catalogue de tâches) et les données de tâche . Consultez la page Créer une tâche externe pour plus d'informations sur l'activité.

  2. Renseignez la fenêtre de propriété TaskDataCollection avec des arguments qui transmettent des informations d'entrée; de sortie ou d'entrée/de sortie. Pour cet exemple, créez trois arguments, chacun d'eux avec une direction différente : In, Out, et 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 donnent 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 : 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.

    image des documents

    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 depuis Orchestrator, afin d'informer le Robot que tant qu'une tâche Action spécifique n'est pas 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é Séquence dans votre flux de travail et remplissez trois activités Écrire une ligne . Chaque activité Write Line est destinée à générer les données des trois variables transmises dans la Tâche externe. Passez les valeurs suivantes dans les champs de propriété Text : 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 remappe dans le workflow à l'intérieur des variables de type ExternalTaskData . Consultez la page Attendre la tâche externe et reprendre pour en savoir plus sur cette activité.

    1. Dans le champ de propriété Objet de tâche (Entrée) , transmettez la variable ExternalTaskData pour référencer la tâche externe exacte que vous avez créée. Pour cet exemple, passez la variable TaskPersistData .
    2. Dans le champ de propriété Action de tâche , appuyez sur CTRL + k sur votre clavier et créez une variable de type String et nommez-la TaskAction. Il 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 typeDonnéesTâcheExternes et nommez-la TaskData. Cette variable stocke l'objet Tâche mis à jour récupéré à partir d'Orchestrator à la fin de l'action externe.
  5. Ajoutez toutes 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 Ligne d'écriture . Passez les variables suivantes dans les champs Texte : TaskAction, InVariable, OutVariable, InOutVariable.

    image des documents

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é Create Form Task dans votre workflow. Cette activité crée une action de formulaire dans Action Center avec le titre de tâche, la priorité de la tâche, le catalogue de tâches (auparavant appelé Catalogue d’actions) et les données de tâche. Consultez la page Créer une tâche de formulaire pour plus d'informations sur l'activité.

  2. Renseignez la fenêtre de propriété Task Data Collect avec des arguments qui transmettent des informations d'entrée; de sortie ou d'entrée/de sortie. Pour cet exemple, créez trois arguments, chacun d'eux avec une direction différente : In, Out, et 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 : 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.

    image des documents

    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 depuis Orchestrator, afin d'informer le Robot que tant qu'une tâche Action spécifique n'est pas 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 les données sur l'objet FormTaskData . Pour cet exemple, glissez-déposez une activité Séquence dans votre flux de travail et remplissez-la avec trois activités Ligne d'écriture . Chaque activité Write Line est destinée à générer les données des trois variables transmises dans l'action externe. Passez les valeurs suivantes dans les champs de propriété Text : 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 remappe 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, passez la variable TaskPersistData .
    2. Dans le champ de propriété Action de tâche , appuyez sur CTRL + k sur votre clavier et créez une variable de type String et nommez-la TaskAction. Il 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 Tâche mis à jour récupéré à partir d'Orchestrator à la fin de la tâche.
  5. Faites glisser les activités que vous souhaitez exécuter après la reprise du workflow. Pour cet exemple, transmettez au panneau Sortie toutes les valeurs récupérées après la fin de l'action externe, à l'aide de quatre activités Write Line . Passez 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. Drag two Create External Task activities into your 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.

      image des documents

  2. Faites glisser deux activités Add To Collection dans votre workflow.

    Remarque :

    L'activité Ajouter à la collection est une activité Classique. Pour rendre l'activité Ajouter à la collection disponible dans votre projet :

    • Vous avez installé le package System.Activities 22.4.1 ou version antérieure.
    • Accédez au panneau Activités .
    • Cliquez sur les options d'affichage image des documents icône.
    • Cliquez sur Affichage classique. L'activité se trouve dans les activités par défaut > Programmation > Collection.
    1. Dans les champs de propriété 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 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 comporte les paramètres suivants : la variable ExternalTaskData et l'adresse e-mail de l'utilisateur auquel vous souhaitez affecter la tâche. Pour cet exemple, saisissez les informations suivantes :

      • Thenew TaskUserAssignment(Task1PersistData.Id, "emailaddress") expression for the first Add To Collection activity
      • L'expression new TaskUserAssignment(Task2PersistData.Id, "emailaddress") pour la deuxième activité Add To Collection .

      image des documents

    3. Définissez la propriété TypeArgument sur System.Collections.Generic.List<UiPath.Persistence.Activities.Tasks.TaskUserAssignment>.

  3. Faites glisser une activité Assign Tasks dans votre workflow.

    1. Dans le champ de propriété TaskUserAssigns (Entrée) , transmettez la variable List<TaskUserAssignment> . Pour cet exemple, passez la variable TaskAssignmentsInput .

    2. Dans le champ de propriété Type d'affectation de tâche , saisissez l'opération d'affectation exacte que vous souhaitez effectuer : Affecter ou Réaffecter. Pour cet exemple, saisissez Assign.

    3. Dans le champ de propriété ÉchecAffectationsTâches (Sortie) , appuyez sur CTRL + k sur votre clavier et créez une variable de type List<TaskAssignmentResponse> et nommez-la FailedTaskAssignmentsOutput.

      image des documents

  4. Faites glisser une activité Ligne d'écriture pour générer le nombre d'affectations de tâches ayant échoué. Dans le champ de propriété Texte , passez 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é 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. Consultez la page Start Job And Get Reference pour plus d'informations sur l'activité.
    1. Dans le champ de propriété NomProcessus , transmettez le Nom d'affichage du processus que vous souhaitez utiliser pour la tâche. 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 , saisissez le Nom affiché du processus, par exemple, TestProcess_test.

      Remarque :

      Le Nom d'affichage doit être écrit au format suivant : packageName _environment.

      image des documents

    2. Dans la propriété Arguments de 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 le type d'arguments Out et In/Out en fonction de l'entrée reçue depuis la Tâche 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.

      image des documents

    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 JobData , nommée JobPersistenceData. Cette variable stocke l'objet de données de tâche créé lors de l'invocation 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é 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 tâche (Entrée) , transmettez la variable de type JobData créée pour l'activité Démarrer la tâche et obtenir une référence . Pour cet exemple, passez la variable JobPersistenceData . Cela indique au robot la tâche exacte qui doit être terminée jusqu'à la reprise du workflow.
    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é Ligne d'écriture pour imprimer l'argument qui a été remappé dans le workflow. Dans le champ de propriété Texte , transmettez la variable utilisée comme Valeur pour l'argument créé dans l' activité Arguments de tâche (Collection). Pour cet exemple, passez 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 heure spécifiées. Consultez la page Resume After Delay pour en savoir plus sur cette activité.

    1. Dans le panneau 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. 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.

    image des documents

  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. Drag a Resume After Delay activity into your workflow. This activity suspends the given workflow and resumes it at a specified date and time.

    1. Dans le panneau 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.

    image des documents

  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. Drag a Resume After Delay activity into your workflow. This activity suspends the given workflow and resumes it at a specified date and time.

    1. Dans le panneau 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.

    image des documents

  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 vers votre workflow.

    1. Dans le champ de propriété Sortie , 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 sous la forme HighValueInvoices.
    2. Cliquer docs image. La fenêtre Créer une table de données 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.

    image des documents

  2. Faites glisser une activité 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é À , transmettez la variable DataTable . Pour cet exemple, passez la variable HighValueInvoices .
    2. Dans le champ de propriété Valeur , 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 ``"invoices"`.
  3. Faites glisser une activité Pour chaque dans votre flux de travail. Dans le champ de propriété Liste d'éléments , transmettez une expression au format suivant : DataTableVariable.Rows. Pour cet exemple, passez HighValueInvoices.Rows. Cela permet de parcourir chaque ligne de la table de données.

  4. Faites glisser une activité Create Form Task dans le Corps de l'activité For Each .

    1. Dans le champ de propriété Titre de la tâche , saisissez la valeur Numéro de facture que l'activité Pour chaque récupère 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 pour chaque facture.
    2. Dans Données de formulaire (Collection), créez un argument qui transmet chaque montant de facture à l'intérieur de l'action de formulaire. Créez un argument Type String et définissez la Direction sur In. Dans le champ Valeur , saisissez chaque montant de facture et convertissez-le en String. Pour cet exemple, saisissez l'expression suivante : item("InvoiceAmount").ToString, où InvoiceAmount est le nom de la colonne contenant le montant respectif pour 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.

    image des documents

  5. Faites glisser une activité Add To Collection dans le Corps de l'activité For Each .

    1. Dans le champ de propriété Collection , appuyez sur CTRL + k sur votre clavier et créez une variable List<FormTaskData> et nommez-la TaskList. Accédez au panneau 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 relatives aux actions de formulaire créées. Pour cet exemple, passez la variable TaskPersistData .
    3. Pour la propriété TypeArgument , choisissez UiPath.Persistence.Activities.FormTask.FormTaskData.
  6. Faites glisser une activité 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 , transmettez la variable List<FormTaskData> . Pour cet exemple, passez 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é TaskObject(Entrée) , entrez l'objet item , référencé dans l'activité 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é 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.

    image des documents

  8. Faites glisser une activité Write Line dans votre workflow. Cette activité affiche dans le panneau Sortie l'action entreprise par l'utilisateur pour remplir l'action de formulaire. Dans la valeur Texte , 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. Drag a Create Form Task activity into your sequence workflow.

    1. Dans le champ de propriété TitreTâche , appuyez sur CTRL + k sur votre clavier et créez une variable String . Nommez-la TaskTitle1. Dans le panneau Variables , définissez la valeur Par défaut sur "Task - " + "Approver 1".
    2. Dans la propriété DonnéesFormulaire(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é 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-la TaskTitle2. Dans le panneau Variables , définissez la valeur Par défaut sur "Task - " + "Approver 2".
    2. Dans la propriété DonnéesFormulaire(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. Drag a third Create Form Task activity into your workflow.

    1. Dans le champ de propriété TitreTâche , appuyez sur CTRL + k sur votre clavier et créez une variable String . Nommez-la TaskTitle3. Dans le panneau Variables , définissez la valeur Par défaut sur "Task - " + "Approver 3".
    2. Dans la propriété DonnéesFormulaire(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é 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 Trigger de l'activité Pick Branch (Task1) .

    1. Dans le champ de propriété ObjetTâche (Entrée) , transmettez la variable FormTaskData créée pour stocker les données sur l'action de formulaire. Pour cet exemple, passez la variable TaskPersistData1 .
    2. Dans le champ de propriété ActionTâche , appuyez sur CTRL + k et créez une variable String . Nommez-la 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-la TaskData1.
  7. Insérez une activité Write Line dans le corps Action de l'activité Pick Branch (Task1) . Cette activité est censée afficher dans le panneau de sortie l'action entreprise par l'utilisateur pour remplir l'action de formulaire. Dans la valeur Texte , saisissez la variable TaskAction1 .

    image des documents

  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 Trigger de l'activité Pick Branch (Task2) .

    1. Dans le champ de propriété ObjetTâche (Entrée) , transmettez la variable FormTaskData créée pour stocker les données sur l'action de formulaire. Pour cet exemple, passez la variable TaskPersistData2 .
    2. Dans le champ de propriété ActionTâche , appuyez sur CTRL + k et 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-la TaskData2.
  10. Insérez une activité Write Line dans le corps Action de l'activité Pick Branch (Task2) . Cette activité affiche dans le panneau Sortie l'action entreprise par l'utilisateur pour remplir l'action de formulaire. Dans la valeur Texte , 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 Trigger de l'activité Pick Branch (Task3) .

    1. Dans le champ de propriété ObjetTâche (Entrée) , transmettez la variable FormTaskData créée pour stocker les données sur l'action de formulaire. Pour cet exemple, passez la variable TaskPersistData3 .
    2. Dans le champ de propriété ActionTâche , appuyez sur CTRL + k et créez une variable String . Nommez-la 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-la TaskData3.
  13. Insérez une activité Write Line dans le corps Action de l'activité Pick Branch (Task3) . Cette activité affiche dans le panneau Sortie l'action entreprise par l'utilisateur pour remplir l'action de formulaire. Dans la valeur Texte , 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 vers 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. Cliquer docs image. La fenêtre Créer une table de données 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.

    image des documents

  2. Faites glisser une activité Assign dans votre workflow. Cela attribue un nom à la table de données que vous avez créée. Dans le champ de propriété À , 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. Drag a Parallel For Each activity into your workflow. For this example, name it Create Tasks for PR Review.

    1. Dans le champ de propriété Valeurs , passez 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 dans le Corps de l'activité Parallel For Each .

    1. Dans le champ de propriété À , appuyez sur CTRL + k sur votre clavier et créez une variable String qui contient les données extraites de la colonne ReviewerType de la table de données CodeReviews . Pour cet exemple, nommez la variable ReviewerType.
    2. Dans le champ de propriété Valeur , passez 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.

    image des documents

  5. Drag a Create Form Task activity into the Body of the Parallel For Each activity.

    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é FormData(Collection) , créez quatre arguments de type String:
    3. 'AI Number' : avec la direction In et la valeur définie sur InPullRequestName.
    4. Reviewer Name : avec la direction In et la valeur définie sur item("ReviewerName").toString.
    5. Reviewer Type : avec la direction In/Out et 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-la ReviewerComments. Cet argument mappe le workflow, quels que soient les commentaires effectués dans l'action.
    7. Dans le champ de propriété ObjetTâche(Sortie) , appuyez sur CTRL + k sur votre clavier et créez une variable FormTaskData . Nommez-la TaskPersistData.

    image des documents

  6. Faites glisser une activité Add To Collection dans le corps de l'activité Parallel For Each . Cette activité va stocker toutes les actions de formulaire créées dans une liste.

    1. Dans le champ de propriété Collection , appuyez sur CTRL + k sur votre clavier et créez une variable List<FormTaskData> . Nommez-la TaskDataList. Accédez au panneau 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, passez la variable TaskPersistData .
    3. Pour la propriété TypeArgument , choisissez UiPath.Persistence.Activities.FormTask.FormTaskData.
  7. Dans le panneau 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é Parallel For Each . Pour cet exemple, nommez-le Wait for Conditional Task(s) Completion.

    1. Dans le champ de propriété Condition , transmettez l'expression suivante : OwnersApprovals>=2 Or (OwnersApprovals = 1 And ReviewersApprovals>=2). Cela conditionne le workflow de 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 , transmettez la liste dans laquelle les actions de formulaire sont stockées. Pour cet exemple, passez la variable TaskDataList .

    image des documents

  9. Faites glisser une activité Sequence dans le Corps de l'activité Wait For Conditional Task(s) Completion . Renommez-la Wait for Task and Resume.

  10. Faites glisser une activité Wait for Form Task and Resume dans l’activité de séquence Wait for Task and Resume .

    1. Dans le champ de propriété TaskObject(Entrée) , passez 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é If dans l’activité Wait for Task and Resume . Cette activité est destinée à compter le nombre d'actions de formulaire qui ont été approuvées par les propriétaires de code.

    1. Dans le champ de propriété Condition , saisissez l'expression suivante : TaskAction="approve" And ReviewerType="code owner".
    2. Glissez-déposez une activité de type Attribuer dans le bloc Puis . Dans le champ de propriété À , transmettez la variable OwnersApprovals . Dans le champ de propriété Valeur , saisissez l'expression OwnersApprovals + 1 .

    image des documents

  12. Faites glisser une autre activité If dans l'activité Wait for Task and Resume . Cette activité est destinée à compter le nombre d'actions de formulaire qui ont été approuvées par les réviseurs.

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

    image des documents

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

    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. Drag a Create Form Task activity into your sequence workflow.

    1. Dans le champ de propriété TitreTâche , appuyez sur CTRL + k sur votre clavier et créez une variable String . Nommez-la TaskTitle1. Dans le panneau Variables , définissez la valeur Par défaut sur "Task - " + "Approver 1".
    2. Dans la propriété DonnéesFormulaire(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é Create Form 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-la TaskTitle2. Dans le panneau Variables , définissez la valeur Par défaut sur "Task - " + "Approver 2".
    2. Dans la propriété DonnéesFormulaire(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é Create Form 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-la TaskTitle3. Dans le panneau Variables , définissez la valeur Par défaut sur "Task - " + "Approver 3".
    2. Dans la propriété DonnéesFormulaire(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é Parallel dans votre workflow.

    1. Dans le champ de propriété 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'expression à l'intérieur de la propriété Condition , définissez la condition sur CompleteTasksCount=2. Cela conditionne l'activité Parallèle pour se terminer lorsque deux actions sur les trois sont terminées.

    image des documents

  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-la en Wait for Form Task and Resume(Task1).

    1. Dans le champ de propriété ObjetTâche (Entrée) , transmettez la variable FormTaskData créée pour stocker les données sur l'action de formulaire. Pour cet exemple, passez la variable TaskPersistData1 .
    2. Dans le champ de propriété ActionTâche , appuyez sur CTRL + k et créez une variable String . Nommez-la 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-la TaskData1.

    image des documents

  7. Insérez une activité Write Line dans le corps Action de l'activité Sequence Task1 . Cette activité est censée afficher dans le panneau de sortie l'action entreprise par l'utilisateur pour remplir l'action de formulaire. Dans la valeur Texte , saisissez la variable TaskAction1 .

  8. Faites glisser une activité Assign dans l’activité Wait for Form Task and Resume(Task1) . Passez la CompleteTaskCount dans le champ À et l'expression CompleteTaskCount + 1 dans le champ Valeur . Si l'action est terminée et que le workflow reprend, une nouvelle itération est ajoutée à la variable CompleteTaskCount .

    image des documents

  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 la tâche de formulaire et reprendre . Le renommer en 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é TaskAction , appuyez sur CTRL + ket créez une variable String. Nommez-la TaskAction2
    3. Dans le champ de propriété TaskObject(Sortie) , appuyez sur CTRL+ k sur votre clavier et créez une variable FormTaskData . Nommez-la TaskData2.
  11. Drag a Write Line activity into the body of the Sequence Task2 activity. This activity displays in the Output panel the action taken by the user to complete the Form Action. In the Text value, input the TaskAction2 variable.

  12. Faites glisser une activité Assign dans l’activité Wait for Form Task and Resume(Task2) . Passez la CompleteTaskCountdans le champ À et l'expression CompleteTaskCount + 1dans le champ Valeur . Si l'action est terminée et que le workflow reprend, 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 la tâche de formulaire et reprendre . Renommez-la en Wait for Form Task and Resume(Task3).

    1. Dans le champ de propriété ObjetTâche (Entrée) , transmettez la variable FormTaskData créée pour stocker les données sur l'action de formulaire. Pour cet exemple, passez la variable TaskPersistData3 .
    2. Dans le champ de propriété ActionTâche , appuyez sur CTRL + k et créez une variable String . Nommez-la 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-la TaskData3.
  15. Insérez une activité Write Line dans le corps Action de l'activité Sequence Task3 . Cette activité est censée afficher dans le panneau de sortie l'action entreprise par l'utilisateur pour remplir l'action de formulaire. Dans la valeur Texte , saisissez la variable TaskAction3 .

  16. Faites glisser une activité Assign dans l’activité Wait for Form Task and Resume(Task3) . Passez la CompleteTaskCountdans le champ À et l'expression CompleteTaskCount + 1dans le champ Valeur . Si l'action est terminée et que le workflow reprend, une nouvelle itération est ajoutée à la variableCompleteTaskCount .

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

Connecter

Besoin d'aide ? Assistance

Vous souhaitez apprendre ? UiPath Academy

Vous avez des questions ? UiPath Forum

Rester à jour