- Vue d'ensemble (Overview)
- Légende (Callout)
- Scénarios complexes
- Identifiants
- Data Service
- À propos du package d'activités Data Service
- Compatibilité du projet
- Create Entity Record (New)
- Update Entity Record (New)
- Delete Entity Record (New)
- Get Entity Record by Id (New)
- Query Entity Records (New)
- Upload File to Record Field (New)
- Download File from Record Field (New)
- Delete File from Record Field (New)
- Create Multiple Entity Records (New)
- Update Multiple Entity Records (New)
- Delete Multiple Entity Records (New)
- Créer un enregistrement d’entité
- Supprimer un enregistrement d’entité
- Obtenir un enregistrement d’entité à partir d’un identifiant
- Rechercher des enregistrements d’entités
- Mettre à jour un enregistrement d’entité
- Télécharger le fichier vers le champ d’enregistrement
- Télécharger le fichier à partir du champ d'enregistrement
- Supprimer le fichier à partir du champ d’enregistrement
- Créer plusieurs enregistrements d’entités
- Mettre à jour plusieurs enregistrements d’entités
- Supprimer plusieurs enregistrements d’entités
- Formulaire
- Notes de publication
- Compatibilité du projet
- Formulaires en temps réel
- Mettre à jour les données du formulaire
- Exécuter des formulaires à l'aide de JavaScript
- Personnaliser des formulaires à l'aide de CSS
- Composants conditionnels
- Ajout de plusieurs composants sur la même ligne dans les colonnes
- Utilisation du composant Table de données (Data Table)
- Obtenir le chemin d'accès au fichier/dossier
- Lecture des valeurs de cellule à partir d'un composant Data Grid
- Affichage des fichiers PDF
- Affichage d'images dans les formulaires
- Faire défiler les grilles de données
- Utilisation des outils de développement avec des formulaires
- Calculer les valeurs des composants du formulaire
- Gestion des dates dans les formulaires
- Ouvrir des hyperliens dans des formulaires
- Affichage d'un onglet par défaut dans les formulaires
- Affichage du libellé complet d'un composant
- Recherche de longues chaînes dans des listes déroulantes
- À propos de l'expérience de formulaire antérieure à la version 23.4
- Compatibilité du Projet
- Formulaires en temps réel
- Cases à cocher dynamiques
- Listes déroulantes conditionnelles
- Afficher un onglet par défaut
- Affichage des images
- Affichage des fichiers PDF
- Affichage de l'étiquette complète
- Éléments HTML dynamiques
- Gérer des dates
- Rechercher des chaînes longues dans des listes déroulantes
- Personnaliser des formulaires à l'aide de fichiers CSS locaux
- Exécuter le bloc Do sur changement de case à cocher
- Personnaliser la largeur des colonnes
- Mettre à jour les données du formulaire
- Réinitialiser les données de collecte
- Logique avancée
- Exécuter le bloc Do lors du changement d'option de la liste déroulante
- Lecture des valeurs de cellule à partir d'un composant Data Grid
- Composants conditionnels
- Faire défiler les composants Data Grid
- Utiliser le composant Grille
- Outils de développement
- Valeur calculée
- Listes déroulantes dynamiques
- Changer d'onglet en un clic
- Ouvrir des hyperliens dans un formulaire
- FTP
- IPC
- Persistance
- Notes de publication
- Compatibilité du projet
- À propos du package d'activités Persistence
- Concepteur de formulaires en série
- Start Job And Get Reference
- Wait for Job and Resume
- Add Queue Item And Get Reference
- Wait For Queue Item And Resume
- Wait for Form Task and Resume
- Reprendre après le délai
- Assign Tasks
- Create External Task
- Wait For External Task and Resume
- Terminer la tâche
- Forward Task
- Get Form Tasks
- Get Task Data
- Obtenir des tâches d’application
- Add Task Comment
- Update Task Labels
- Créer une tâche d'application
- Attendre la tâche d'application et reprendre (Wait For App Task and Resume)
- Configurer le minuteur de tâches (Configure task timer)
- Travailler avec des tâches d'application
- Création de votre première action de formulaire
- Commandes avancées pour les listes déroulantes
- Incorporation d'objets dans des actions de formulaire
- Autoriser les utilisateurs à charger des fichiers dans le compartiment de stockage
- Ajout d'une logique avancée à l'aide de Java Script
- Définition d'un onglet par défaut
- Suppression du bouton Supprimer de Modifier la grille à l'aide du CSS personnalisé
- Personnalisation des modèles de grille
- Utilisation de boutons pour déclencher une logique personnalisée
- Utilisation d'une mise en page de formulaire externe
- Développer dynamiquement les composants de formulaire en runtime
- Alignement du contenu d'un composant de formulaire de gauche à droite à l'aide des attributs JSON
- Exemple de workflows
- Pipelines d'Automation Ops
- Notes de publication
- À propos du package d'activités Pipelines
- Compatibilité du projet
- Activer le déploiement de solution
- Analyser
- Construire
- Cloner
- Delete Solution Package
- Deploy Solution
- Download Package
- Download Solution Package
- Download Solution Package Configuration
- Publier le package
- Publier le package de solution
- Resync Solution Project
- Exécuter des tests
- Étape
- Désinstaller la solution
- Processus de mise à jour
- Charger le paquet de solutions
- Système
- Notes de publication
- À propos du package d'activités System
- Compatibilité du projet
- Codage de caractères pris en charge
- Assistant Générateur de RegEx
- Ajouter une colonne de données (Add Data Column)
- Ajouter une ligne de données (Add Data Row)
- Ajouter les champs du journal (Add Log Fields)
- Add or Subtract from Date
- Ajouter un élément de transaction (Add Transaction Item)
- Ajouter un élément de file d'attente (Add Queue Item)
- Append Item to Collection
- Append Item to List
- Ajouter une ligne (Append Line)
- Bip (Beep)
- Boucle d'arrêt / sortie
- Browse for file
- Browse for folder
- Build Collection
- Créer une table de données (Build Data Table)
- Bulk Add Queue Items
- Modifier la casse du texte
- Change type
- Cocher Faux (Check False)
- Cocher Vrai (Check True)
- Supprimer la table de données (Clear Data Table)
- Collection to TableDonnées
- Commentaire (Comment)
- Compress/Zip Files
- Copier le fichier (Copy File)
- Copy Folder
- Combiner du texte
- Commenter/Activités désactivées
- Continuer / Ignorer actuel
- Créer le fichier (Create File)
- Créer un dossier (Create Folder)
- Create List
- Custom Input
- Supprimer (Delete)
- Delete File
- Delete Folder
- Supprimer le fichier de stockage
- Supprimer les éléments de file d'attente (Delete Queue Items)
- Désactiver le déclencheur local
- Faire pendant (Do While)
- Télécharger le fichier à partir de l'URL
- Télécharger le fichier de stockage
- Activer le déclencheur local
- Evaluate Business Rule
- Exists In Collection
- Extract/Unzip Files
- Extraire la date et l'heure du texte (Extract Date and Time from Text)
- Extraire le texte
- Déclencheur de changement de fichier (File Change Trigger)
- Le fichier existe déjà
- Filter Collection
- Filtrer la table de données (Filter Data Table)
- Folder Exists
- Pour chaque (For Each)
- For Each File In Folder
- Déclencheur de changement de fichier v3
- Rechercher et remplacer
- Trouver des modèles correspondants
- For Each Folder in Folder
- For Each Row in Data Table
- Formater la date en tant que texte
- Valeur de format (Format Value)
- Generate Data Table From Text
- Obtenir l'actif (Get Asset)
- Obtenir les informations d'identification / Obtenir les informations d'identification Orchestrator
- Get Current Job Info
- Récupérer le dossier d'environnement (Get Environment Folder)
- Récupérer la variable d'environnement (Get Environment Variable)
- Obtenir des informations sur les fichiers
- Get Folder Info
- Obtenir les tâches (Get Jobs)
- Récupérer les processus (Get Processes)
- Obtenir l'élément de ligne (Get Row Item)
- Obtenir l'élément de transaction (Get Transaction Item)
- Récupérer le nom d'utilisateur/mot de passe
- Obtenir les éléments de file d'attente (Get Queue Items)
- Déclencheur de modification de variable globale
- Boîte de dialogue (Input Dialog)
- Appeler le code (Invoke Code)
- Appeler la méthode Com (Invoke Com Method)
- Appeler Power Shell (Invoke Power Shell)
- Invoke Process
- Invoke VBScript
- Appeler le fichier de flux de travail (Invoke Workflow File)
- Le texte correspond-il
- Tables de données de jointure (Join Data Tables)
- Processus d'arrêt forcé (Kill Process)
- Launch Workflow Interactive
- Répertorier les fichiers de stockage
- Consigner le message (Log Message)
- Table de données de recherche (Lookup Data Table)
- Manual Trigger
- Merge Collections
- Fusionner la table de données (Merge Data Table)
- Zone de message (Message Zone)
- Modify Date
- Modify Text
- Déplacer le fichier (Move File)
- Move Folder
- Multiple Assign
- Nouvel élément ajouté à la file d'attente
- Notifier la modification de la variable globale
- Requête HTTP Orchestrator
- Table de données de sortie (Output Data Table)
- Le chemin d'accès existe (Path Exists)
- Différer l'élément de transaction (Postpone Transaction Item)
- Process End Trigger
- Process Start Trigger
- Déclencher l'alerte (Raise Alert)
- Read List Item
- Lire le fichier texte
- Lire le texte de stockage
- Supprimer la colonne de données (Remove Data Column)
- Supprimer la ligne de données (Remove Data Row)
- Supprimer les lignes dupliquées (Remove Duplicate Rows)
- Remove From Collection
- Supprimer les champs du journal (Remove Log Fields)
- Replace Matching Patterns
- Repeat Number Of Times
- Répéter le déclencheur
- Rename File
- Rename Folder
- État du rapport (Report Status)
- Reset Timer
- Resume Timer
- Étendue de nouvelle tentative (Retry Scope)
- Retour
- Exécuter les déclencheurs locaux
- Run Parallel Process
- Définir l'actif (Set Asset)
- Définir l'identifiant (Set Credential)
- Set Environment Variable
- Définir la progression de la transaction (Set Transaction Progress)
- Définir l'état de transaction (Set Transaction Status)
- Devrait s'arrêter (Should Stop)
- Fractionner le texte
- Trier la table de données (Sort Data Table)
- Start Timer
- Démarrer la tâche (Start Job)
- Arrêter la tâche (Stop Job)
- Arrêter les déclencheurs locaux
- Stop Timer
- Text to Left/Right
- Texte en majuscules/minuscules
- Déclencheur de temps
- Étendue du déclencheur
- Timeout Scope
- Update Row Item
- Update List Item
- Télécharger le fichier de stockage
- Wait for Download
- Wait Queue Item
- While
- Workflow Placeholder
- Écrire le texte de stockage
- Écrire un fichier texte (Write Text File)
- Ajouter une ligne de données (Add Data Row)
- AddQueueItem
- Ajouter un élément de transaction (Add Transaction Item)
- Ajouter une ligne
- BulkAddQueueItems
- Supprimer la table de données (Clear Data Table)
- CompresserFichiersZip
- Copy File
- Create File
- Créer un dossier (Create Folder)
- Delete file or folder
- Delete Queue Items
- Supprimer le fichier de stockage
- Télécharger le fichier de stockage
- Extraire les fichiers de décompression
- Filtrer la table de données (Filter Data Table)
- Obtenir l'actif (Get Asset)
- Obtenir l'identifiant (Get Credential)
- GetJobs
- Get Queue Item
- GetQueueItems
- Obtenir la ressource pour le chemin d'accès local
- Obtenir l'élément de ligne (Get Row Item)
- Obtenir l'élément de transaction (Get Transaction Item)
- Invoke Process
- Tables de données de jointure (Join Data Tables)
- Répertorier les fichiers de stockage
- Table de données de recherche (Lookup Data Table)
- Fusionner la table de données (Merge Data Table)
- Move File
- Requête HTTP Orchestrator
- OutputDataTable
- Le chemin d'accès existe (Path Exists)
- Différer l'élément de transaction (Postpone Transaction Item)
- Lire le texte de stockage
- Lire le fichier texte
- Supprimer la colonne de données (Remove Data Column)
- Supprimer les lignes dupliquées (Remove Duplicate Rows)
- Remplacer (Replace)
- Définir l'actif (Set Asset)
- Définir l'identifiant (Set Credential)
- SetTransactionProgress
- Définir l'état de transaction (Set Transaction Status)
- Trier la table de données (Sort Data Table)
- Démarrer la tâche (StartJob)
- Arrêter la tâche (StopJob)
- Update Row Item
- Télécharger le fichier de stockage
- Wait Queue Item
- Écrire le texte de stockage
- Écrire un fichier texte
- Test
- Notes de publication
- À propos du package d'activités Testing
- Compatibilité du projet
- Le nom du cas de test n'est pas unique dans ce projet
- La convention d'affectation de noms du cas de test est incorrecte
- Vérifications manquantes dans le cas de test
- Workflows non testés
- Connecté à Test Manager
- Simulation inutilisée
- Cas de test sans annotation
- Le cas de test/workflow est trop complexe
- Le cas de test comprend trop de branches
- Paramètres du projet
- Add Test Data Queue Item
- Address
- Attach Document
- Bulk Add Test Data Queue Items
- Créer une règle de comparaison
- Delete Test Data Queue Items
- Get Test Data Queue Item
- Get Test Data Queue Items
- Prénom
- Nom de famille
- Random Date
- Random Number
- Random String
- Random Value
- Verify Control Attribute
- Vérifier l'équivalent des documents
- Verify Expression
- Verify Expression with Operator
- Verify Range
- Vérifier l'équivalent du texte
- Address
- AddTestDataQueueItem
- AttachDocument
- BulkAddTestDataQueueItems
- DeleteTestDataQueueItems
- GetTestDataQueueItem
- GetTestDataQueueItems
- GivenName
- LastName
- RandomDate
- RandomNumber
- RandomString
- RandomValue
- VerifyAreEqual
- VerifyAreNotEqual
- VerifyContains
- VerifyExpression
- VerifyExpressionWithOperator
- VerifyIsGreater
- VerifyIsGreaterOrEqual
- VerifyIsLess
- VerifyIsLessOrEqual
- VerifyIsRegexMatch
- VerifyRange
- Workflow Events
- Workflow Foundation
- À propos du package d’activités Workflow Foundation
- Attribuer/Définir la valeur de la variable
- Retard (Delay)
- Si (If)
- Sinon si
- Séquence / Groupe
- Commutateur (Switch)
- Décision de flux (Flow Decision)
- Commutateur de flux (Flow Switch)
- Diagramme de flux (Flowchart)
- Essayer de capturer
- Machine d'état (State Machine)
- État (State)
- Transition
- État final (Final State)
- Single Excel Process Scope
- No Persist Scope
- Cancellation Scope
- Ligne d'écriture (Write Line)
Activités de workflow
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.
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é.
-
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 typeQueueItemData
, 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 typeQueueItemData
seront renseignées avec les données récupérées à partir d'Orchestrator.-
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
. - Dans le champ de propriété ObjetQueueItem(Sortie) , appuyez sur
CTRL + k
sur votre clavier et créez une variable de typeQueueItemData
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 variableQueueItemData
nomméeQueueItemObject
.
-
- 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.
-
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 typeQueueItemData
. 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é.-
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. -
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 typeQueueItemData
pour stocker les données sur l'élément de file d'attente après son traitement et sa récupération.
-
- 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
.
Cet extrait crée une action externe et suspend le workflow jusqu'à ce que l'utilisateur termine l'action.
-
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é.
-
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
,Out
etIn/Out
. Définissez le Type surString
. Pour le champ Valeur , appuyez surCTRL + K
sur votre clavier et créez trois variables qui fournissent des informations (pour les arguments de typeIn
) ou extraient des informations (pour les arguments de typeOut
).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
.
CTRL + k
sur votre clavier et créez une variable de typeExternalTaskData
. Pour cet exemple, nommez la variableTaskPersistData
. Cet objetExternalTaskData
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.
- InVariable (InVariable) : la valeur de l'argument de type
- 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
.- 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
.
- 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 :
-
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 typeExternalTaskData
. Consultez la page Attendre la tâche externe et reprendre (Wait For External Task And Resume) pour en savoir plus sur cette activité.-
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 variableTaskPersistData
. -
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-laTaskAction
. Cela stocke l’action entreprise par l’utilisateur pour terminer la tâche. -
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-laTaskData
. Cette variable stocke l'objet Task mis à jour récupéré à partir d'Orchestrator après l'achèvement de l'action externe.
-
-
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
.
Cet extrait crée des Actions de formulaire et suspend le workflow jusqu'à ce que l'utilisateur termine les Actions.
-
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é.
-
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
,Out
etIn/Out
. Définissez le Type surString
. Pour le champ Valeur , appuyez surCTRL + K
sur votre clavier et créez trois variables qui fournissent des informations (pour les arguments de typeIn
) ou extraient des informations (pour les arguments de typeOut
).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 surCTRL + k
sur votre clavier et créez une variable de typeFormTaskData
. Pour cet exemple, nommez la variableTaskPersistData
. Cet objetFormTaskData
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.
- InVariable (InVariable) : la valeur de l'argument de type
- 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
. -
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 typeFormTaskData
.-
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 variableTaskPersistData
. -
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-laTaskAction
. Cela stocke l’action entreprise par l’utilisateur pour terminer la tâche. -
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-laTaskData
. Cette variable stocke l'objet Task mis à jour récupéré à partir d'Orchestrator une fois la tâche terminée.
-
- 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
.
Cet extrait crée deux actions externes, les affecte à un utilisateur et affiche une liste des affectations d'actions ayant échoué.
-
Faites glisser deux activités Créer une tâche externe (Create External Task) dans votre workflow.
-
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 typeExternalTaskData
. Pour cet exemple, nommez-leTask1PersistData
. -
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 typeExternalTaskData
. Pour cet exemple, nommez-leTask2PersistData
.
-
-
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). 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).
- Dans les champs de propriétés Collection (Collection), appuyez sur
CTRL + k
sur votre clavier et créez une variable de typeList<TaskUserAssignment>
et nommez-laTaskAssignementsInput
. Accédez au panneau Variables (Variables) et initialisez la variable dans le champ Par défaut en tant quenew List(Of TaskUserAssignment
. - 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'expression
new 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 .
- L'expression
-
Définissez la propriété TypeArgument sur
System.Collections.Generic.List<UiPath.Persistence.Activities.Tasks.TaskUserAssignment>
.
-
Faites glisser une activité Affecter des tâches (Assign Tasks ) dans votre workflow.
-
Dans le champ de propriété TaskUserAssignments (Input) , transmettez la variable
List<TaskUserAssignment>
. Pour cet exemple, transmettez la variableTaskAssignmentsInput
. -
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
. -
Dans le champ de propriété FailedTaskAssignments (Output) , appuyez sur
CTRL + k
sur votre clavier et créez une variable de typeList<TaskAssignmentResponse>
et nommez-laFailedTaskAssignmentsOutput
.
-
- 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émarre un processus Unattended et suspend le workflow jusqu'à ce qu'une tâche particulière soit terminée.
-
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é.
- 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 typeString
et nommez-laProcessName
. 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
.
- 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
etIn/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 TypeString
, nomméTest
, de DirectionIn/Out
. Dans le champ Valeur , appuyez surCTRL + k
sur votre clavier et créez une variable de typeString
. Nommez la variableTest
.
- Dans le champ de propriété Objet de travail (sortie) , appuyez sur
CTRL + k
sur votre clavier et créez une variable de typeJobData
, nomméeJobPersistenceData
. 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 .
- 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
- 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
. -
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.
-
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 variableJobPersistenceData
. Cela dirige le Robot vers la Tâche exacte qui doit être terminée jusqu'à ce que le workflow reprenne. -
Dans le champ de propriété Objet de tâche (Sortie) , appuyez sur
CTRL + k
sur votre clavier et créez une variable de typeJobData
. Pour cet exemple, nommez-leJobDataObject
.
-
- 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
.
Cet extrait suspend le workflow donné et le reprend après une heure.
- Ajoutez les activités que vous souhaitez exécuter avant la suspension du workflow.
-
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é.
-
2.1. Dans le panneau Variables (Variables), créez une variable de type
System.TimeSpan
. Pour cet exemple, nommez la variableOneHour
. Définissez la valeur par défaut de la variableTimeSpan
surNew TimeSpan(1,0,0)
. -
2.2. Dans le champ de propriété Heure de reprise de l'activité, transmettez l'expression
DateTime.Now
et la variableTimeSpan
. Pour cet exemple, transmettez l'expression suivante :DateTime.Now + OneHour
.
-
- Ajoutez les activités que vous souhaitez exécuter après la reprise du workflow.
Cet extrait suspend le workflow donné et le reprend après cinq minutes.
- Faites glisser les activités que vous souhaitez exécuter avant la suspension du workflow.
-
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.
-
Dans le panneau Variables (Variables), créez une variable de type
System.TimeSpan
. Pour cet exemple, nommez la variableFiveMinute
. Définissez la valeur par défaut de la variableTimeSpan
surNew TimeSpan(0,5,0)
. -
Dans le champ de propriété Heure de reprise de l'activité, transmettez l'expression
DateTime.Now
et la variableTimeSpan
. Pour cet exemple, transmettez l'expression suivante :DateTime.Now + FiveMinute
.
-
- Faites glisser les activités que vous souhaitez exécuter après la reprise du workflow.
Cet extrait suspend le workflow donné et le reprend après quatre-vingt-dix secondes.
- Ajoutez les activités que vous souhaitez exécuter avant la suspension du workflow.
-
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.
-
Dans le panneau Variables (Variables), créez une variable de type
System.TimeSpan
. Pour cet exemple, nommez la variableNinetySeconds
. Définissez la valeur par défaut de la variableTimeSpan
surNew TimeSpan(0,0,90)
. -
Dans le champ de propriété Heure de reprise de l'activité, transmettez l'expression
DateTime.Now
et la variableTimeSpan
. Pour cet exemple, transmettez l'expression suivante :DateTime.Now + NinetySeconds
.
-
- Faites glisser les activités que vous souhaitez exécuter après la reprise du workflow.
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.
-
Faites glisser une activité BuildDataTable dans votre workflow.
-
Dans le champ Propriété de sortie ( Output property), appuyez sur
CTRL + k
sur votre clavier et créez une variable de typeDataTable
pour stocker la table de données que vous créez. Pour cet exemple, nommez la variableDataTable
commeHighValueInvoices
. -
Cliquez sur . La fenêtre Créer une table de données ( Build Data Table) s'ouvre.
-
Renommez
Column1
enInvoiceNumber
etColumn2
enInvoiceAmount
. -
Ajoutez des données à l'intérieur des lignes de la table et appuyez sur OK.
-
-
Faites glisser une activité Assign (Assign ) dans votre workflow. Cette activité attribue un nom à la table de données, stocké dans une variable
String
.-
Dans le champ de propriété À (To), transmettez la variable
DataTable
. Pour cet exemple, transmettez la variableHighValueInvoices
. -
Dans le champ de propriété Valeur (Value), appuyez sur
CTRL + k
sur votre clavier et créez une variable de typeString
. Pour cet exemple, nommez-leDataTableName
. Définissez la valeur par défaut de la variableDataTableName
sur ``"factures"`.
-
- 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, transmettezHighValueInvoices.Rows
. Cela parcourt chaque ligne de la table de données. -
Faites glisser une activité Créer une tâche de formulaire (Create Form Task) dans le corps de l’activité Pour chaque ( For Each ).
-
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. -
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 surIn
. 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. -
Dans le champ de propriété ObjetTâche (Sortie) , appuyez sur
CTRL + k
sur votre clavier et créez une variable de typeFormTaskData
. Pour cet exemple, nommez la variableTaskPersistData
.
-
-
Faites glisser une activité Ajouter à la collection à l'intérieur du corps de l'activité Pour chaque .
-
Dans le champ de propriétés Collection (Collection), appuyez sur
CTRL + k
sur votre clavier et créez une variableList<FormTaskData>
et nommez-laTaskList
. Accédez au panneau Variables (Variables) et initialisez la variable dans le champ Par défaut en tant queNew List(Of UiPath.Persistence.Activities.FormTask.FormTaskData
. -
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 variableTaskPersistData
. -
Pour la propriété TypeArgument , choisissez
UiPath.Persistence.Activities.FormTask.FormTaskData
.
-
-
Faites glisser une activité Parallèle pour chaque ( Parallel For Each ) dans votre workflow.
-
Pour la propriété TypeArgument , choisissez
UiPath.Persistence.Activities.FormTask.FormTaskData
. -
Dans le champ de propriété Valeurs (Values), transmettez la variable
List<FormTaskData>
. Pour cet exemple, transmettez la variableTaskList
.
-
-
Faites glisser une activité Wait for Form Task and Resume dans le corps de l’activité Parallel For Each .
-
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'objetitem
représente les actions de formulaire stockées dans la variableTaskList
. -
Dans le champ de propriété ActionTâche , appuyez sur
CTRL + k
sur votre clavier et créez une variableString
. Pour cet exemple, nommez-leTaskAction
. -
Dans le champ de propriété ObjetTâche (Sortie) , appuyez sur
CTRL + k
sur votre clavier et créez une variableFormTaskData
. Pour cet exemple, nommez-leTaskData
.
-
- 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
.
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.
-
Faites glisser une activité Créer une tâche de formulaire (Create Form Task) dans votre workflow de séquence.
-
Dans le champ de propriété TitreTâche , appuyez sur
CTRL + k
sur votre clavier et créez une variableString
. Nommez-leTaskTitle1
. Dans le panneau Variables (Variables), définissez la valeur par défaut sur"Task - " + "Approver 1"
. -
Dans la propriété DonnéesFormulaires(Collection) , créez un argument de Type
String
et de DirectionIn
. Nommez l’argumentApprover
et définissez la valeur sur"Approver1"
. -
Dans le champ de propriété ObjetTâche (Sortie) , appuyez sur
CTRL + k
sur votre clavier et créez une variableFormTaskData
. Pour cet exemple, nommez la variableTaskPersistData1
.
-
-
Faites glisser une deuxième activité Créer une tâche de formulaire (Create Form Task) dans votre workflow.
-
Dans le champ de propriété TitreTâche , appuyez sur
CTRL + k
sur votre clavier et créez une variableString
. Nommez-leTaskTitle2
. Dans le panneau Variables (Variables), définissez la valeur par défaut sur"Task - " + "Approver 2"
. -
Dans la propriété DonnéesFormulaires(Collection) , créez un argument de Type
String
et de DirectionIn
. Nommez l’argumentApprover
et définissez la valeur sur"Approver2"
. -
Dans le champ de propriété ObjetTâche (Sortie) , appuyez sur
CTRL + k
sur votre clavier et créez une variableFormTaskData
. Pour cet exemple, nommez la variableTaskPersistData2
.
-
-
Faites glisser une troisième activité Créer une tâche de formulaire (Create Form Task) dans votre workflow.
-
Dans le champ de propriété TitreTâche , appuyez sur
CTRL + k
sur votre clavier et créez une variableString
. Nommez-leTaskTitle3
. Dans le panneau Variables (Variables), définissez la valeur par défaut sur"Task - " + "Approver 3"
. -
Dans la propriété DonnéesFormulaires(Collection) , créez un argument de Type
String
et de DirectionIn
. Nommez l’argumentApprover
et définissez la valeur sur"Approver3"
. -
Dans le champ de propriété ObjetTâche (Sortie) , appuyez sur
CTRL + k
sur votre clavier et créez une variableFormTaskData
. Pour cet exemple, nommez la variableTaskPersistData3
.
-
- Faites glisser une activité Choisir ( Pick ) dans votre workflow.
- Faites glisser une activité Pick Branch dans le corps de l’activité Pick . Renommez l'activité
Pick Branch (Task1)
. -
Faites glisser une activité Wait For Form Task And Resume dans le corps du déclencheur de l’activité
Pick Branch (Task1)
.-
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 variableTaskPersistData1
. -
Dans le champ de propriété ActionTâche , appuyez sur
CTRL + k
et créez une variableString
. Nommez-leTaskAction1
. -
Dans le champ de propriété ObjetTâche (Sortie) , appuyez sur
CTRL+ k
sur votre clavier et créez une variableFormTaskData
. Nommez-leTaskData1
.
-
-
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 variableTaskAction1
. - Faites glisser une activité Pick Branch dans le corps de l’activité Pick . Renommez l'activité
Pick Branch (Task2)
. -
Faites glisser une activité Wait For Form Task And Resume dans le corps du déclencheur de l’activité
Pick Branch (Task2)
.-
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 variableTaskPersistData2
. -
Dans le champ de propriété ActionTâche , appuyez sur
CTRL + k
et créez une variableString
. Nommez-leTaskAction2
. -
Dans le champ de propriété ObjetTâche (Sortie) , appuyez sur
CTRL+ k
sur votre clavier et créez une variableFormTaskData
. Nommez-leTaskData2
.
-
- 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 variableTaskAction2
. - Faites glisser une activité Pick Branch dans le corps de l’activité Pick . Renommez l'activité
Pick Branch (Task3)
. -
Faites glisser une activité Wait For Form Task And Resume dans le corps du déclencheur de l’activité
Pick Branch (Task3)
.-
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 variableTaskPersistData3
. -
Dans le champ de propriété ActionTâche , appuyez sur
CTRL + k
et créez une variableString
. Nommez-leTaskAction3
. -
Dans le champ de propriété ObjetTâche (Sortie) , appuyez sur
CTRL+ k
sur votre clavier et créez une variableFormTaskData
. Nommez-leTaskData3
.
-
- 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 variableTaskAction3
.
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é.
-
Faites glisser une activité Build Data Table dans votre workflow.
-
Dans le champ de propriété TableDonnées , appuyez sur
CTRL + k
sur votre clavier et créez une variableSystem.DataTable
. Pour cet exemple, nommez-leCodeReviews
. -
Cliquez sur . La fenêtre Créer une table de données ( Build Data Table) s'ouvre.
-
Renommez
Column1
enReviewerName
etColumn2
enReviewerType
. Définissez le Type de la colonneReviewerType
surString
. -
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.
-
- 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 surCTRL + k
sur votre clavier et créez une variableString
. Pour cet exemple, nommez-leDataTableName
. -
Faites glisser une activité Parallèle pour chaque ( Parallel For Each ) dans votre workflow. Pour cet exemple, nommez-le
Create Tasks for PR Review
.-
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
.
-
-
Faites glisser une activité Assign (Assign) dans le corps de l’activité Pour chaque parallèle ( Parallel For Each ).
-
Dans le champ de propriété À (To), appuyez sur
CTRL + k
sur votre clavier et créez une variableString
, qui contient les données récupérées de la colonneReviewerType
dans la table de donnéesCodeReviews
. Pour cet exemple, nommez la variableReviewerType
. -
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
.
-
-
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 ).
-
Dans le champ de propriété TitreTâche , transmettez l'expression suivante :
"Code Review - " + InPullRequestName
. LeInPullRequestName
est une variableString
, qui a la valeur par défaut"#1"
. -
Dans la propriété DonnéesForm (Collection) , créez quatre arguments de Type
String
: - 'PR Number' - avec la Direction
In
et la Valeur définie surInPullRequestName
. Reviewer Name
- avec la DirectionIn
et la Valeur définie suritem("ReviewerName").toString
.Reviewer Type
- avec la DirectionIn/Out
et la valeur définie comme variableReviewerType
.-
Reviewer Comment
- avec la DirectionOut
. Dans le champ Valeur , appuyez surCTRL + k
sur votre clavier et créez une variableString
. Nommez-leReviewerComments
. 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 surCTRL + k
sur votre clavier et créez une variableFormTaskData
. Nommez-leTaskPersistData
.
-
-
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.
-
Dans le champ de propriétés Collection , appuyez sur
CTRL + k
sur votre clavier et créez une variableList<FormTaskData>
. Nommez-leTaskDataList
. Accédez au panneau Variables (Variables) et définissez la valeur par défaut de la variable surNew List(of UiPath.Persistence.Activities.FormTask.FormTaskData)
. -
Dans le champ de propriété Élément , transmettez la variable
FormTaskData
. Pour cet exemple, transmettez la variableTaskPersistData
. -
Pour la propriété TypeArgument , choisissez
UiPath.Persistence.Activities.FormTask.FormTaskData
.
-
- Dans le panneau Variables (Variables), créez deux variables de type
Int32
et définissez leur valeur par défaut sur0
:OwnersApprovals
etReviewersApprovals
. -
Faites glisser une autre activité Parallèle pour chaque ( Parallel For Each ). Pour cet exemple, nommez-le
Wait for Conditional Task(s) Completion
.-
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. -
Pour la propriété TypeArgument , choisissez
UiPath.Persistence.Activities.FormTask.FormTaskData
. -
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
.
-
- 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
. -
Faites glisser une activité Wait For Form Task And Resume vers l’activité de séquence Wait for Task and Resume .
-
Dans le champ de propriété ObjetTaskObject(Input) , transmettez la variable
item
. -
Dans le champ de propriété TaskAction , appuyez sur
CTRL + k
sur votre clavier et créez une variableString
. Pour cet exemple, nommez-leTaskAction
. -
Dans le champ de propriété ObjetTâche (Sortie) , appuyez sur
CTRL + k
sur votre clavier et créez une variableFormTaskData
. Pour cet exemple, nommez-leTaskData
.
-
-
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.
-
Dans le champ de propriété Condition , transmettez l'expression suivante :
TaskAction="approve" And ReviewerType="code owner"
. -
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'expressionOwnersApprovals + 1
.
-
-
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.
-
Dans le champ de propriété Condition , transmettez l'expression suivante :
TaskAction="approve" And ReviewerType="reviewer"
. -
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'expressionReviewersApprovals + 1
.
-
-
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).
-
Dans la première activité, transmettez la variable
ReviewComments
. -
Dans la deuxième activité, transmettez la variable
OwnersApprovals
et ajoutez la propriété.toString
. -
Dans la troisième activité, transmettez la variable
ReviewersApprovals
et ajoutez la propriété.toString
.
-
Cet extrait crée trois actions de formulaire et suspend le workflow jusqu'à ce que deux actions soient terminées.
-
Faites glisser une activité Créer une tâche de formulaire (Create Form Task) dans votre workflow de séquence.
-
Dans le champ de propriété TitreTâche , appuyez sur
CTRL + k
sur votre clavier et créez une variableString
. Nommez-leTaskTitle1
. Dans le panneau Variables (Variables), définissez la valeur par défaut sur"Task - " + "Approver 1"
. -
Dans la propriété DonnéesFormulaires(Collection) , créez un argument de Type
String
et de DirectionIn
. Nommez l’argumentApprover
et définissez la valeur sur"Approver1"
. -
Dans le champ de propriété ObjetTâche (Sortie) , appuyez sur
CTRL + k
sur votre clavier et créez une variableFormTaskData
. Pour cet exemple, nommez la variableTaskPersistData1
.
-
-
Faites glisser une activité Créer un formulaire ( Create Form Activity) dans votre workflow de séquence.
-
Dans le champ de propriété TitreTâche , appuyez sur
CTRL + k
sur votre clavier et créez une variableString
. Nommez-leTaskTitle2
. Dans le panneau Variables (Variables), définissez la valeur par défaut sur"Task - " + "Approver 2"
. -
Dans la propriété DonnéesFormulaires(Collection) , créez un argument de Type
String
et de DirectionIn
. Nommez l’argumentApprover
et définissez la valeur sur"Approver2"
. -
Dans le champ de propriété ObjetTâche (Sortie) , appuyez sur
CTRL + k
sur votre clavier et créez une variableFormTaskData
. Pour cet exemple, nommez la variableTaskPersistData2
.
-
-
Faites glisser une activité Créer un formulaire ( Create Form Activity) dans votre workflow de séquence.
-
Dans le champ de propriété TitreTâche , appuyez sur
CTRL + k
sur votre clavier et créez une variableString
. Nommez-leTaskTitle3
. Dans le panneau Variables (Variables), définissez la valeur par défaut sur"Task - " + "Approver 3"
. -
Dans la propriété DonnéesFormulaires(Collection) , créez un argument de Type
String
et de DirectionIn
. Nommez l’argumentApprover
et définissez la valeur sur"Approver3"
. -
Dans le champ de propriété ObjetTâche (Sortie) , appuyez sur
CTRL + k
sur votre clavier et créez une variableFormTaskData
. Pour cet exemple, nommez la variableTaskPersistData3
.
-
-
Faites glisser une activité Parallèle dans votre workflow.
-
Dans le champ de propriété Condition (Condition ), appuyez sur
CTRL + k
sur votre clavier et créez une variableInt32
. Pour cet exemple, nommez la variableCompleteTasksCount
et définissez la valeur par défaut sur0
. -
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.
-
- Faites glisser une activité Sequence dans le corps de l’activité Parallel . Renommez l'activité
Sequence Task1
. -
Dans l’activité
Sequence Task1
, faites glisser une activité Wait For Form Task and Resume . Renommez-leWait for Form Task and Resume(Task1)
.-
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 variableTaskPersistData1
. -
Dans le champ de propriété ActionTâche , appuyez sur
CTRL + k
et créez une variableString
. Nommez-leTaskAction1
. -
Dans le champ de propriété ObjetTâche (Sortie) , appuyez sur
CTRL+ k
sur votre clavier et créez une variableFormTaskData
. Nommez-leTaskData1
.
-
- 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 variableTaskAction1
. -
Faites glisser une activité Assign (Assign) dans l'activité
Wait for Form Task and Resume(Task1)
. Transmettez l'expressionCompleteTaskCount
dans le champ À (To) et l'expressionCompleteTaskCount
+ 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 variableCompleteTaskCount
. - Faites glisser une activité Sequence dans le corps de l’activité Parallel . Renommez l'activité
Sequence Task2
. - 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-leWait for Form Task and Resume(Task2)
- 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
. - Dans le champ de propriété ActionTâche , appuyez sur
CTRL + k
et créez une variable String. Nommez-la TaskAction2 - Dans le champ de propriété ObjetTâche (Sortie) , appuyez sur CTRL+k sur votre clavier et créez une variable
FormTaskData
. Nommez-leTaskData2
.
- 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
- 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 variableTaskAction2
. - Faites glisser une activité Assign (Assign) dans l'activité
Wait for Form Task and Resume(Task2)
. Transmettez l'expressionCompleteTaskCount
dans le champ À et l'expressionCompleteTaskCount + 1
dans le champ Valeur . Si l'action est terminée et que le workflow a repris, une nouvelle itération est ajoutée à la variableCompleteTaskCount
. - Faites glisser une activité Sequence dans le corps de l’activité Parallel . Renommez l'activité
Sequence Task3
. -
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-leWait for Form Task and Resume(Task3)
.-
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 variableTaskPersistData3
. -
Dans le champ de propriété ActionTâche , appuyez sur
CTRL + k
et créez une variableString
. Nommez-leTaskAction3
. -
Dans le champ de propriété ObjetTâche (Sortie) , appuyez sur
CTRL+ k
sur votre clavier et créez une variableFormTaskData
. Nommez-leTaskData3
.
-
- 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 variableTaskAction3
. - Faites glisser une activité Assign (Assign) dans l'activité
Wait for Form Task and Resume(Task3)
. Transmettez l'expressionCompleteTaskCount
dans le champ À et l'expressionCompleteTaskCount + 1
dans le champ **Valeur**. Si l'action est terminée et que le workflow a repris, une nouvelle itération est ajoutée à la variableCompleteTaskCount
.
- Ajouter un élément de la file d'attente et Attendre la fin
- Créer une tâche externe et Suspendre jusqu'à la fin
- Créer une tâche de formulaire et Suspendre jusqu'à la fin
- Créer une tâche et affecter à un utilisateur
- Démarrer la tâche et reprendre une fois la tâche terminée
- Suspendre et reprendre après 1 heure
- Suspendre et reprendre après 5 minutes
- Suspendre et reprendre après 90 secondes
- Attendre la fin de toutes les tâches de formulaire
- Attendre la fin d'une tâche de formulaire
- Attendre l'achèvement de certaines tâches de formulaire dans la boucle
- Attendre la fin de certaines tâches de formulaire