- Notes de publication
- Démarrage
- Paramétrage et configuration
- Projets d'automatisation
- Dépendances
- Types de workflows
- Comparaison de fichiers
- Meilleures pratiques d'automatisation
- Intégration du contrôle de code source
- Débogage
- L'outil de diagnostic (Diagnostic Tool)
- Analyseur de workflow
- À propos de l'analyseur de workflow
- ST-NMG-001 - Convention d'affectation de noms des variables
- ST-NMG-002 - Convention d'affectation de noms des arguments
- ST-NMG-004 - Duplication du nom complet
- ST-NMG-005 - La variable remplace une autre
- ST-NMG-006 - La variable remplace l'argument
- ST-NMG-008 - Longueur de variable dépassée
- ST-NMG-009 - Ajouter un préfixe aux variables DataTable
- ST-NMG-011 - Ajouter un préfixe aux arguments Datatable
- ST-NMG-012 - Valeurs par défaut de l'argument
- ST-NMG-016 : longueur d'argument dépassée
- ST-DBP-002 - Nombre élevé d'arguments
- ST-DBP-003 - Bloc d'interception vide
- ST-DBP-007 - Plusieurs couches de l'organigramme
- ST-DBP-020 - Propriétés de sortie non définies
- ST-DBP-023 : Workflow vide
- ST-DBP-024 - Vérification de l’activité de persistance
- ST-DBP-025 - Condition préalable à la sérialisation des variables
- ST-DBP-026 - Utilisation de l’activité Délai
- ST-DBP-027 - Pratiques exemplaires de persistance
- ST-DBP-028 - Condition préalable à la sérialisation des arguments
- ST-MRD-002 - Valeurs par défaut des noms d'activités
- ST-MRD-004 - Activités inaccessibles
- ST-MRD-005 - Séquences redondantes
- ST-MRD-007 - Clauses If imbriquées
- ST-MRD-008 - Séquence vide
- ST-MRD-009 - Activités profondément imbriquées
- ST-MRD-011 - Utilisation de la ligne d'écriture
- ST-MRD-017 - Incomplet si (Incomplete If)
- ST-USG-005 - Arguments d'activité codée en dur
- ST-USG-009 - Variables inutilisées
- ST-USG-010 - Dépendances inutilisées
- ST-USG-014 - Restrictions sur les paquets (Package Restriction)
- ST-USG-020 - Nombre minimum de messages consignés
- ST-USG-024 - Non utilisé, sauvegardé pour plus tard (Unused Saved for Later)
- ST-USG-025 - Utilisation abusive de la valeur enregistrée (Saved Value Misuse)
- ST-USG-026 - Restrictions d'activité (Activity Restrictions)
- ST-USG-027 - Packages requis
- Variables
- Gestion des variables
- Le module Variables
- Variables propriétaires UiPath
- Arguments
- Noms d'espace importés
- Flux de contrôle
- Réf. d’objets
- Journalisation
- L'outil de migration MiseAlEchelleCoordonnees (ScaleCoordinates)
- Outil ScreenScrapeJavaSupport
- StudioPro
- Extensions
- Résolution des problèmes
- Internet Explorer x64
- Problèmes d'interopérabilité avec Microsoft Office
- Identification des éléments d'IU dans PDF avec options d'accessibilité
- Identification des éléments d'IU après les mises à jour de Windows
- Applications JxBrowser
- Surveillance des événements utilisateur
- Java dans App-V
- Prise en charge et limitations de Microsoft App-V
- Résolution des problèmes Citrix
Les variables de type GenericValue
Une variable de type GenericValue peut contenir n'importe quel type de données, y compris du texte, des nombres, des dates et des tableaux. Cette variable est propre à Studio UiPath.
Les variables de type GenericValue sont automatiquement converties sous d'autres types de données, afin d'accomplir certaines actions. Veillez cependant à utiliser ces variables avec prudence, car la conversion n'est pas toujours celle qui convient le mieux à votre projet.
Il est possible de modifier les expressions de l'outil de conversion automatique afin d'affiner la conversion des variables de type GenericValue dans Studio UiPath. Remarque : le premier élément de l'expression est toujours utilisé comme guide par Studio pour l'ensemble de l'operation. Mettons par exemple que l'on souhaite additionner deux variables de type GenericValue : si la première valeur de l'expression est définie en tant que chaîne (String), le résultat sera une concaténation des deux expressions (comme s'il s'agissait de deux chaînes). Si par contre la première valeur est définie comme un entier (Integer), on obtiendra la somme des deux expressions.
Méthodes .NET prises en charge
| Nom / Syntaxe | Description |
|---|---|
|
CompareTo
|
[Cliquez ici pour plus de détails][1] [1] : https://msdn.microsoft.com/en-us/library/system.string.compareto(v=vs.110).aspx |
|
Contient
|
[Cliquez ici pour plus de détails][2] [2] : https://msdn.microsoft.com/en-us/library/dy85x1sa(v=vs.110).aspx Cette méthode permet de déterminer si une chaîne contient une sous-chaîne particulière. Par exemple, pour savoir si une phrase contient un mot spécifique, il faut employer l'expression |
|
Est égal à
|
[Cliquez ici pour plus de détails][3] [3] : https://msdn.microsoft.com/en-us/library/system.string.equals(v=vs.110).aspx |
|
GetHashCode
|
[Cliquez ici pour plus de détails.][5] [5] : https://msdn.microsoft.com/en-us/library/system.string.format(v=vs.110).aspx |
|
GetType
|
[Cliquez ici pour plus de détails][6] [6] : https://msdn.microsoft.com/en-us/library/system.object.gettype(v=vs.110).aspx |
|
GetTypeCode
|
[Cliquez ici pour plus de détails][7] [7] : https://msdn.microsoft.com/en-us/library/system.string.gettypecode(v=vs.110).aspx |
|
IndexOf
|
[Cliquez ici pour plus de détails] [8] [8] : https://msdn.microsoft.com/en-us/library/system.string.indexof(v=vs.110).aspx Cette méthode permet d'obtenir l'index d'une sous-chaîne contenue dans une chaîne de caractères. Par exemple, pour trouver l'index du mot « locate » dans la phrase « Find "locate" dans cette phrase », il faut employer l'expression |
|
Longueur
|
[Cliquez ici pour plus de détails][9] [9] : https://msdn.microsoft.com/en-us/library/system.string.length(v=vs.110).aspx Cette méthode permet d'obtenir le nombre de caractères dans une chaîne de caractères. Par exemple, pour trouver le nombre de lettres dans un mot donné, il faut employer l'expression |
|
Remplacer (Replace)
|
[Cliquez ici pour plus de détails.][10] [10] : https://msdn.microsoft.com/en-us/library/system.string.replace(v=vs.110).aspx Cette méthode permet de remplacer les données contenues dans une chaîne de caractères. Par exemple, pour remplacer le chemin d'un fichier local |
|
Fractionner
|
[Cliquez ici pour plus de détails] [11] [11] : https://msdn.microsoft.com/en-us/library/system.string.split(v=vs.110).aspx Cette méthode permet d'extraire les composants individuels d'une chaîne de caractères. Par exemple, pour extraire l'année à partir d'une date au format MM.JJ.YYYY, il faut employer l'expression |
|
Sous-chaîne
|
[Cliquez ici pour plus de détails][12] [12] : https://msdn.microsoft.com/en-us/library/system.string.substring(v=vs.110).aspx Cette méthode permet d'extraire une sous-chaîne d'une chaîne de caractères. Par exemple, pour extraire un mot de la phrase « There are 100 machines available », il faut employer l'expression |
|
ToBoolean
|
[Cliquez ici pour plus de détails][13] [13] : https://msdn.microsoft.com/en-us/library/bb346937(v=vs.110).aspx |
|
ToByte
|
[Cliquez ici pour plus de détails][14] [14] : https://msdn.microsoft.com/en-us/library/bb355898(v=vs.110).aspx |
|
ToChar
|
[Cliquez ici pour plus de détails] [15] [15]: https://msdn.microsoft.com/en-us/library/bb335877(v=vs.110).aspx |
|
ToDecimal
|
[Cliquez ici pour plus de détails][17] [17]: https://msdn.microsoft.com/en-us/library/bb359959(v=vs.110).aspx |
|
Doubler
|
[Cliquez ici pour plus de détails][18] [18]: https://msdn.microsoft.com/en-us/library/bb154906(v=vs.110).aspx |
|
ToInt
|
Cette méthode est utilisée pour convertir une valeur donnée en integer pouvant accepter la valeur Null. |
|
ToInt16
|
[Cliquez ici pour plus de détails] [20] [20]: https://msdn.microsoft.com/en-us/library/bb293091(v=vs.110).aspx |
|
ToInt32
|
[Cliquez ici pour plus de détails][21] [21]: https://msdn.microsoft.com/en-us/library/bb300452(v=vs.110).aspx |
|
ToInt64
|
[Cliquez ici pour plus de détails][22] [22]: https://msdn.microsoft.com/en-us/library/bb359566(v=vs.110).aspx |
|
ToLower
|
[Cliquez ici pour plus de détails.][23] [23]: https://msdn.microsoft.com/en-us/library/system.string.tolower(v=vs.110).aspx |
|
ToLowerInvariant
|
[Cliquez ici pour plus de détails][24] [24]: https://msdn.microsoft.com/en-us/library/system.string.tolowerinvariant(v=vs.110).aspx |
|
ToSByte
|
[Cliquez ici pour plus de détails][25] [25]: https://msdn.microsoft.com/en-us/library/bb342232(v=vs.110).aspx |
|
ToSingle
|
[Cliquez ici pour plus de détails][26] [26]: https://msdn.microsoft.com/en-us/library/bb360375(v=vs.110).aspx |
|
ToString
|
[Cliquez ici pour plus de détails][27] [27]: https://msdn.microsoft.com/en-us/library/system.string.tostring(v=vs.110).aspx |
|
ToType
|
[Cliquez ici pour plus de détails][29] [29]: https://msdn.microsoft.com/en-us/library/bb358540(v=vs.110).aspx |
|
ToUInt16
|
[Cliquez ici pour plus de détails.][30] [30]: https://msdn.microsoft.com/en-us/library/bb337265(v=vs.110).aspx |
|
ToUInt32
|
[Cliquez ici pour plus de détails][31] [31]: https://msdn.microsoft.com/en-us/library/bb357762(v=vs.110).aspx |
|
ToUInt64
|
[Cliquez ici pour plus de détails][32] [32]: https://msdn.microsoft.com/en-us/library/bb155099(v=vs.110).aspx |
|
ToUpper
|
[Cliquez ici pour plus de détails][33] [33]: https://msdn.microsoft.com/en-us/library/system.string.toupper(v=vs.110).aspx |
|
ToUpperInvariant
|
[Cliquez ici pour plus de détails][34] [34]: https://msdn.microsoft.com/en-us/library/system.string.toupperinvariant(v=vs.110).aspx |
|
Découper
|
[Cliquez ici pour plus de détails.][35] [35]: https://msdn.microsoft.com/en-us/library/system.string.trim(v=vs.110).aspx |
|
TrimEnd
|
[Cliquez ici pour plus de détails][36] [36]: https://msdn.microsoft.com/en-us/library/system.string.trimend(v=vs.110).aspx |
|
TrimStart
|
[Cliquez ici pour plus de détails][37] [37]: https://msdn.microsoft.com/en-us/library/system.string.trimstart(v=vs.110).aspx |
Quand vous utilisez Ctrl + K, Ctrl + M, ou Ctrl + Shift + M directement dans le corps d’activité Valeur de format, la variable ou l’argument créé est de type GenericValue. Pour d’autres activités, le type créé est le même que le type requis de l’activité.
Exemple d'utilisation d'une variable de type GenericValue
Pour illustrer les propriétés d'une variable de type GenericValue, nous vous invitons à créer un projet d'automatisation dont l'objectif est d'effectuer des opérations variées, puis à observer la façon dont les résultats de ces opérations sont influencés par la définition des expressions. Pour ce faire nous allons créer deux variables de types GenericValue contenant différents types de données et nous allons afficher les résultats dans le module Sortie (Output).
-
Créez un nouveau projet vierge.
-
Créez trois variables de type GenericValue :
Int,StretResult. -
Indiquez 12 dans la colonne Défaut (Default) de la variable
Intet "34" dans celle de la variableStr. La première variable sera interprétée comme un entier, tandis que la seconde sera interprétée comme une chaîne de caractères. -
Ajouter une activité Attribuer (Assign) au panneau Concepteur (Designer) et la relier au nœud Initial.
-
Rendez-vous dans le module Propriétés (Properties) et saisissez la variable
Resultdans le champ À (To). -
Indiquez
Int+Strdans le champ Valeur (Value). -
Ajouter une activité Écrire une ligne (Write Line) et la relier à l'activité Attribuer (Assign).
-
Dans le volet Propriétés, dans le champ Texte, saisissez la variable
Result.Le projet doit ressembler à la capture d'écran suivante.
-
Appuyez sur la touche F5 pour exécuter votre projet d'automatisation. Remarque : la somme des deux nombres apparait dans le module Sortie (Output).
-
Revenez à l'activité Attribuer ajoutée précédemment et modifiez le champ Valeur en
Str+Intpour inverser l'ordre des variables.Le projet doit ressembler à la capture d'écran suivante. -
Appuyez sur la touche F5 pour exécuter votre projet d'automatisation. Remarque : les deux nombres font à présent l'objet d'une concaténation dans le module Sortie (Output).
Cela signifie qu’UiPath Studio prend le premier élément défini dans votre expression comme une ligne directrice pour définir l'opération à effectuer. Si le premier élément de votre expression est un entier ou une variable GenericValue remplie en tant qu’entier, UiPath Studio effectuera la somme des éléments.
Si le premier élément de votre expression est une chaîne ou une variable GenericValue remplie sous forme de chaîne, UiPath Studio effectuera la concaténation des éléments.
Variables QueueItem
Nous vous recommandons de lire la page À propos des files d'attente et des transactions pour obtenir une vue d'ensemble des files d'attente et des transactions avant de passer à la variable QueueItem.
Avant d'approfondir le sujet, assurez-vous de bien comprendre la distinction entre les éléments de file d'attente (éléments stockés dans une file d'attente d'Orchestrator) et les variables QueueItem (utilisées dans Studio pour traiter les éléments de file d'attente). Nous y faisons référence exactement comme cela : « Variables QueueItem » et « éléments de file d'attente ».
Généralement, comme le nom l'indique, la variable QueueItem stocke un élément extrait d'un conteneur d'éléments, une file d'attente. Cette extraction s'effectue généralement dans le but d'utiliser ensuite les éléments de file d'attente dans différents scénarios. Supposons que vous représentez un établissement bancaire et que vous avez un bordereau de dépôt de 50 clients. Vous voulez traiter les données de chaque client qui avait déposé un chèque de moins de 5 000 dollars tiré sur notre banque, avec une application financière tierce. À cet effet, vous pouvez effectuer un workflow dans lequel la variable QueueItem stocke, tour à tour, les informations de chaque client. Chaque entrée lue par la variable QueueItem est stockée dans un élément de file d'attente et ajoutée à la file d'attente désignée dans Orchestrator. Le résultat de ce processus complet est une file d'attente qui contient les informations des clients, chacune dans l'élément de file d'attente correspondant.
Pour traiter ensuite les données qui remplissent la condition, vous devez créer un autre workflow qui extrait les éléments de la file d'attente auparavant créée, avec une valeur correspondante de chèque tiré sur notre banque inférieure à 5 000 dollars. Vous trouverez, à la fin de cette rubrique, une procédure pas-à-pas sur la création d'un tel projet.
Méthodes .NET prises en charge
| Nom / Syntaxe | Description |
|---|---|
|
Est égal à
| |
|
GetHashCode
| |
|
GetType
| |
|
ToString
|
Propriétés prises en charge
| Nom / Syntaxe | Description |
|---|---|
|
AssignedTo
| |
|
DueDate
|
La date et l'heure les plus récentes de traitement de l'élément. Si vide, l'élément peut être traité à tout moment. |
|
DeferDate
|
La date et l'heure les plus anciennes auxquelles l'élément est disponible pour le traitement. Si vide, l'élément peut être traité dès que possible. |
|
Id
| |
|
ItemKey
|
Identificateur unique de l'élément. Par exemple, |
|
Priorité (Priority)
|
La priorité de l'élément de file d'attente, telle que définie dans Studio dans le champ Priorité (Priority) du panneau Propriétés (Properties). |
|
ProcessingException
|
Exception de traitement d'un élément en échec. |
|
Progression (Progress)
|
Informations de la progression personnalisée sur un élément de file d'attente dont l'état est InProgress. |
|
QueueDefinitionId
|
Identificateur unique de la file d'attente sous laquelle un élément de file d'attente/une transaction a été traité. |
|
QueueName
|
Nom de la file d'attente contenant les éléments traités. |
|
Référence (Reference)
|
Valeur spécifiée par l'utilisateur pour faciliter l'identification des éléments de file d'attente. |
|
RetryNo
|
Nombre de nouvelles tentatives pour un élément. |
|
État de révision (ReviewStatus)
|
État de révision de l'élément de file d'attente, tel que récupéré depuis Orchestrator. |
|
RowVersion
|
Champ interne utilisé pour l'horodatage de la version. Il est mis à jour chaque fois qu'une propriété de la transaction actuelle est modifiée. |
|
SpecificContent
|
Collection des paires clé et valeur contenant des données personnalisées associées à la transaction en cours, telle que configurée dans l'activité Add Queue Item. |
|
StartTransactionTime
|
Date et heure de début du traitement de la transaction. |
|
État (Status)
|
État de l'élément de file d'attente, tel que récupéré depuis Orchestrator. |
Exemple d'utilisation d'une variable QueueItem
En raison de la nature de cet exemple, nous avons divisé cette section en deux parties, chacune représentant l'un des deux workflows principaux à utiliser lorsque vous gérez des files d'attente et des éléments de file d'attente.
- Téléchargement d'éléments dans une file d'attente
- Traitement des transactions à partir d'une file d'attente
Téléchargement d'éléments dans une file d'attente
Pour montrer comment ajouter des éléments dans une file d'attente, créons une automatisation qui traite les entrées contenues dans un fichier .xlsx. Supposons que vous représentez un établissement bancaire et que vous avez un bordereau de dépôt de 50 clients. Vous voulez traiter les données de chaque client qui ont déposé un chèque de moins de 5 000 dollars tiré sur notre banque, avec une application financière tierce. Le rapport contient le nom du client, la valeur du chèque tiré sur notre banque et deux autres valeurs supplémentaires, disons Encaissement et chèque non tiré sur notre banque. Nous créons un workflow dans lequel la variable QueueItem stocke, tour à tour, les informations de chaque client. Chaque entrée lue par la variable QueueItem est ensuite stockée dans un élément de file d'attente et ajoutée à la file d'attente désignée dans Orchestrator. Le résultat de ce processus complet est une file d'attente qui contient les informations spécifiques de chaque client. Avant de passer au workflow réel, vous souhaiterez peut-être examiner le rapport des clients ici. Nous allons utiliser la feuille « Rapports de juillet ».
Sans plus tarder :
-
Créez une nouvelle séquence.
-
Add an Excel Application Scope activity inside the sequence, and define the location of the workbook in the Properties pane of the activity.
-
Inside the Do section, add a Read Range activity to read the desired range of values from the report and store them in a DataTable variable. In our case, type
"A1-D51"or simply leave the default value, “”, which means the entire spreadsheet is read. -
Dans le champ Nom de la feuille (Sheet Name), entrez le nom de la feuille, à savoir
“July Report”. -
Dans le champ Table de données (Data Table), appuyez sur Ctrl + K pour créer une variable DataTable qui stocke la plage de données auparavant lue. Nommez-la
DataTable1ou un nom similaire. Le volet Variables (Variables) doit également afficher la variable récemment créée comme suit : -
Next, add a For Each Row activity to the Designer panel and fill in the blank fields with “row” and the name of the DataTable variable,
DataTable1, respectively. This activity performs the action defined in the Body section for each row in the data table. The Do section should look similar to the following screenshot so far: -
Dans la section Corps (Body) de l'activité For Each Row, ajoutez une activité Add Queue Item. Cela permet d'ajouter un élément à une file d'attente (définie ci-dessous aux étapes 8 et 12), pour chaque ligne dans le tableur.
-
Dans le volet Propriétés (Properties), champ QueueName, entrez le nom de la file d'attente dans lequel vous voulez stocker les éléments, disons
ReportQueue. -
Dans la section Entrée (Input), cliquez sur le bouton correspondant au champ ItemInformation pour ouvrir la fenêtre ItemInformation. Créez 4 arguments, chacun correspondant à une colonne du rapport. Définissez-les comme suit :
Name, en conservant les valeurs par défaut de Direction (Direction) et Type (Type), et avec l'option Valeur (Value) définie surrow(0).ToString. Cela permet de récupérer la valeur de la colonne avec le compteur 0 pour chaque ligne du classeur, dans notre cas, le nom du client.CashIn, en conservant les valeurs par défaut de Direction (Direction) et Type (Type), et avec l'option Valeur (Value) définie surrow(1).ToString. Cela permet de récupérer la valeur de la colonne avec le compteur 1 pour chaque ligne du classeur, dans notre cas, la valeur Encaissement.OnUsCheck, en conservant les valeurs par défaut de Direction (Direction) et Type (Type), et avec l'option Valeur (Value) définie surrow(2).ToString. Cela permet de récupérer la valeur de la colonne avec le compteur 2 pour chaque ligne du classeur, dans notre cas, la valeur Chèque tiré sur notre banque.NotOnUsCheck, en conservant les valeurs par défaut de Direction (Direction) et Type (Type), et avec l'option Valeur (Value) définie surrow(3).ToString. Cela permet de récupérer la valeur de la colonne avec le compteur 3 pour chaque ligne du classeur, dans notre cas, la valeur Chèque non tiré sur notre banque.
-
La fenêtre ItemInformation doit ressembler à ceci dans la capture d'écran suivante :
-
Connectez le robot de Studio à Orchestrator. Pour plus de détails sur la façon de procéder, cliquez ici.
-
Navigate to https://platform.uipath.com, log in using your credentials, and then create a queue, ReportQueue, to store the items. Make sure that, whatever name you used above (step 8), you use the same here.
-
Retournez dans Studio. À ce stade, vous workflow ne doit pas contenir d'erreurs et doit être fonctionnel. L'étape suivante consiste donc à le mettre à la disposition d'Orchestrator. À cet effet, cliquez sur Conception (Design) > Publier (Publish).
-
Pour exécuter le processus, cliquez sur Conception (Design) > Exécuter (Run).
Remarque :Prenez en compte qu'après leur traitement, les éléments de file d'attente deviennent des transactions, et sont gérés ensuite comme tels.
-
Navigate to https://platform.uipath.com again and display the transactions.
Traitement des transactions à partir d'une file d'attente
Pour montrer comment traiter ensuite des transactions à partir d'une file d'attente, nous allons créer un second workflow qui récupère à partir de la file d'attente appropriée, les transactions avec une valeur de chèque tiré sur notre banque inférieure à 5 000 dollars. Pour chaque transaction qui remplit la condition, les valeurs sont collectées et introduites dans une application factice tierce. Les autres sont appelées exceptions métier.
-
Accédez à Conception (Design) > Nouveau (New) > Organigramme (Flowchart) pour créer un fichier dans le projet lancé ci-dessus.
-
Add an Open Application activity to open the third-party dummy application. Connect it to the Start node.
-
Renseignez les détails suivants (Nom complet (Display Name), FileName, Sélecteur (Selector)) dans le panneau Propriétés (Properties), et configurez l'activité pour vous connecter à l'aide des informations d'identification correspondantes. Utilisez
adminpour le champ Nom d'utilisateur (Username), etpasswordpour le champ Mot de passe (Password). -
Dans le champ FileName, renseignez le chemin d'accès de l'application.
-
Dans le champ Sélecteur (Selector), définissez un sélecteur pour UIDemo en utilisant l'Éditeur de sélecteur.
-
Ajoutez une activité Doit arrêter au panneau Concepteur et connectez-la à l'activité Ouvrir l'application.
-
Ajoutez une activité Flow Decision au panneau Concepteur (Designer) et connectez-la à l'activité Should Stop. Ces deux dernières activités vérifient si vous avez arrêté la tâche en cours d'exécution. Ceci permet de configurer ensuite le workflow pour effectuer différentes routines de sécurité après le déclenchement de l'arrêt. Vous trouverez ci-dessous un exemple d'une telle routine :
- Ajoutez une activité Log Message et connectez-la à la branche True de la décision de flux auparavant ajoutée.
- Dans le panneau Propriétés (Properties), champ Message (Message), entrez « Processus d'arrêt requis » ou un message similaire à afficher si l'arrêt est déclenché.
- Ajoutez une activité Fermer l'application et connectez-la à l'activité Message du journal précédemment ajoutée.
- Dans le panneau Propriétés (Properties), champ DisplayName, après l'activité Close application, entrez
UIDemo.exe UIDemo.
-
Ajoutez une activité Get Transaction Item à la branche False de la décision de flux ajoutée auparavant (étape 7). Cette activité récupère les éléments de transaction de la file d'attente et les stocke, tour à tour, avec chaque itération de la boucle, dans une variable QueueItem.
-
Dans le panneau Propriétés (Properties), champ QueueName, entrez le nom de la file d'attente qui stocke vos éléments. Dans notre cas, tel que défini dans la section Téléchargement d'éléments dans une file d'attente (Uploading Items into a Queue), le nom est « ReportQueue ».
-
Dans le champ TransactionItem, appuyez sur Ctrl+K pour créer la variable QueueItem qui stocke chaque élément de transaction. Nommez-le « TransItem » ou similaire.
-
Ajoutez une activité Flow Decision au panneau Concepteur (Designer) et connectez-la à l'activité Get Transaction Item.
-
Dans le volet Propriétés (Properties), champ Condition (Condition), entrez
TransItem isNot Nothing. Cette activité vérifie la valeur de chaque élément pour déterminer si la fin de la file d'attente a été atteinte. -
Connectez la branche Faux (False) de la décision de flux à l'activité Log Message créée à l'étape 7. Cela garantit l'arrêt de la tâche lorsque la fin de la file d'attente est atteinte.
-
Ajoutez une autre activité Flow Decision au panneau Concepteur (Designer) et connectez-la à la branche Vrai (True) de la décision de flux créée à l'étape 11.
-
Dans le panneau Propriétés (Properties), champ Condition (Condition), entrez
cint(TransItem.SpecificContent("OnUSCheck").ToString) < 5000, où :-
cintconvertit une variable de type string en type integer. -
TransItemest la variable QueueItem (étape 18) utilisée pour stocker les éléments. -
SpecificContent("OnUSCheck")récupère le contenu de l'argument On US Check dans chaque élément. -
.ToStringconvertit le contenu de la variable QueueItem en variable de type string. -
< 5000est la condition pour laquelle vous devez effectuer les vérifications.L'expression ci-dessus convertit la valeur OnUSCheck de chaque variable QueueItem en variable string, qui est ensuite convertie en variable integer. La valeur ainsi obtenue fait l'objet d'une vérification de conformité avec la condition.
-
-
Ajoutez une activité Set Transaction Status au panneau Concepteur (Designer) et connectez-la à la branche Faux (False) de la décision de flux précédente (étape 13).
-
Dans le panneau Propriétés (Properties), assurez-vous que le champ État (Status) est défini sur Échec (Failed) et ErrorType sur Métier (Business). De cette façon, si la valeur du chèque tiré sur notre banque est supérieure ou égale à 5 000, la transaction est marquée comme en échec avec une exception métier
-
Dans le champ TransactionItem, ajoutez la variable
TransItem. -
Dans le champ Raison (Reason), entrez « Le montant OnUSCheck est supérieur à 5 000 ou un message similaire, à afficher pour la transaction en échec.
-
Connectez l'activité Set Transaction Status à l'activité Should Stop (étape 6), pour créer une boucle et traiter la transaction suivante dans la file d'attente.
-
Ajoutez une activité sequence au panneau Concepteur et connectez-la à la branche Vrai de la décision de flux précédente (étape 13).À l'intérieur de la sequence, ajoutez une activité Essayer de capturer et configurez-la de telle sorte que toutes les erreurs potentielles soient correctement étiquetées comme des erreurs d'application lors du traitement des éléments.
-
Ouvrez l'application UIDemo et connectez-vous à l'aide du nom d'utilisateur
adminet du mot de passepassword. -
Effectue la série suivante d'activités pour chacun des champs Encaissement (Cash In), Chèque tiré sur notre banque (On Us Check) et Chèque non tiré sur notre banque (Not On Us Check) dans l'application UIDemo :
- Into the previous Try Catch activity, add a Type Into activity.
- Cliquez sur Indiquer à l'écran (Indicate on screen) et sélectionnez dans l'interface UIDemo, le champ vide correspondant à Encaissement (Cash In).
- Dans le volet Propriétés (Properties), champ Text, entrez
transItem.SpecificContent("CashIn").ToString. Chaque terme de l'expression est expliqué ci-dessus (étape 15). Cette expression convertit la valeur dans chaque variable QueueItem en variable string. - Make sure that the Simulate Type option is selected.
-
Dans l'onglet Conception (Design), section Assistants (Wizards), cliquez sur Extraction de données d'écran (Screen Scraping) et pointez sur le numéro de transaction dans l'application UIDemo.
-
Dans l'Assistant Extracteur des données d'écran (Screen Scraper Wizard), choisissez une méthode d'extraction et cliquez sur Terminer (Finish). Cela insère une activité Extraction de données d'écran (Screen Scraping) dans votre workflow. Veillez à la positionner après les activités Type Into précédentes, et définissez le champ Texte (Text) sur une nouvelle variable, disons
TransactionValue. Cela permet de récupérer le numéro de transaction de chaque élément de file d'attente qui remplir la condition initiale. -
Ajoutez une activité Set Transaction Status après l'activité Extraction de données d'écran (Screen Scraping).
-
Dans le panneau Propriétés (Properties), assurez-vous que le champ État (Status) est défini sur Réussi (Successful) et ErrorType sur Application (Application). De cette façon, si l'ensemble de valeurs est correctement inséré dans l'application, l'état de la transaction est défini sur Réussi (Successful), ou sinon désigné comme exception d'application.
-
Dans la fenêtre Sortie (Output), définissez un nouvel argument et ajoutez la variable auparavant créée,
TransactionValue(étape 25) en tant que valeur. -
Dans le champ TransactionItem, ajoutez la variable
TransItem. -
Ajoutez une activité Click à l'activité Sequence après les activités Type Into.
-
Cliquez sur Indiquer à l'écran (Indicate on screen) et sélectionnez le bouton Accepter (Accept) dans l'interface UIDemo. Assurez-vous que l'option Simulate Type est sélectionnée.
-
L'activité Try Catch doit ressembler à ceci dans la capture d'écran suivante :
-
Revenez à l'organigramme et connectez l'activité Sequence précédente (étape 21) à l'activité Should Stop (étape 6), pour créer une boucle et traiter la transaction suivante dans la file d'attente.
-
L'organigramme doit ressembler à ceci dans la capture d'écran suivante :
-
Pour exécuter le processus, cliquez sur Conception (Design) > Exécuter (Run).
-
After the execution has ended, you may navigate to https://platform.uipath.com and display the processed transactions with the corresponding processing details:
-
Transaction réussie
-
Transaction en échec