studio
2022.4
false
UiPath logo, featuring letters U and I in white

Guide de l’utilisateur de Studio

Dernière mise à jour 19 déc. 2024

Variables propriétaires UiPath

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.

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

  • Function GenericValue.CompareTo(other As GenericValue) As Integer
  • Fonction GenericValue.CompareTo(obj As Object) As Integer

[Cliquez ici pour plus de détails][1]

[1] : https://msdn.microsoft.com/en-us/library/system.string.compareto(v=vs.110).aspx

Contient

  • Function GenericValue.Contains(other As String) As Boolean

[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 [SentenceVariable].Contains("term"), dans laquelle [SentenceVariable] est la variable de type GenericValue qui contient la phrase et "term" est le mot recherché.
Remarque : lorsque cette méthode est utilisée avec une variable de type GenericValue contenant des données de type Int, Float ou Booléen, les données sont automatiquement converties en chaînes de caractères et traitées en tant que telles.

Est égal à

  • Function GenericValue.Equals(other As GenericValue) As Boolean
  • Function GenericValue.Equals(obj As Object) As Boolean

[Cliquez ici pour plus de détails][3]

[3] : https://msdn.microsoft.com/en-us/library/system.string.equals(v=vs.110).aspx

GetHashCode

  • Function GenericValue.GetHashCode() As Integer

[Cliquez ici pour plus de détails.][5]

[5] : https://msdn.microsoft.com/en-us/library/system.string.format(v=vs.110).aspx

GetType

  • Function Object.GetType() As Type

[Cliquez ici pour plus de détails][6]

[6] : https://msdn.microsoft.com/en-us/library/system.object.gettype(v=vs.110).aspx

GetTypeCode

  • Function GenericValue.GetTypeCode() As TypeCode

[Cliquez ici pour plus de détails][7]

[7] : https://msdn.microsoft.com/en-us/library/system.string.gettypecode(v=vs.110).aspx

IndexOf

  • Function GenericValue.IndexOf(value As String) As Integer
  • Function GenericValue.IndexOf(value As String, comparisonType As StringComparison) As Integer
  • Function GenericValue.IndexOf(value As String, startIndex As Integer) As Integer
  • Function GenericValue.IndexOf(value As String, startIndex As Integer, comparisonType As StringComparison) As Integer

[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 [SentenceVariable].IndexOf("locate"), dans laquelle [SentenceVariable] est la variable de type GenericValue qui contient la phrase et "locate" est le mot recherché.
Remarque : lorsque cette méthode est utilisée avec une variable de type GenericValue contenant des données de type Int, Float ou Booléen, les données sont automatiquement converties en chaînes de caractères et traitées en tant que telles.

Longueur

  • Function GenericValue.Lenght() As Integer

[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 [WordVariable].Length, dans laquelle [WordVariable] est la variable de type GenericValue qui contient le mot.
Remarque : lorsque cette méthode est utilisée avec une variable de type GenericValue contenant des données de type Int, Float ou Booléen, les données sont automatiquement converties en chaînes de caractères et traitées en tant que telles.

Remplacer (Replace)

  • Function GenericValue.Replace(oldValue As String, new value As String) As String

[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 C:\ExampleFolder\Main.xaml par son chemin serveur correspondant C:/ExampleFolder/Main.xaml, il faut employer l'expression [PathVariable].Replace("\","/"), dans laquelle [PathVariable] est la variable de type GenericValue qui contient le chemin, "\" est le caractère à remplacer et "/" est le caractère qui le remplace.
Remarque : lorsque cette méthode est utilisée avec une variable de type GenericValue contenant des données de type Int, Float ou Booléen, les données sont automatiquement converties en chaînes de caractères et traitées en tant que telles.

Fractionner

  • Function GenericValue.Split(ParamArray separator As Char()) As String()
  • Function GenericValue.Split(ParamArray separator As String()) As String()
  • Function GenericValue.Split(separator As Char(), options As StringSplitOptions) As String()
  • Function GenericValue.Split(separator As String(), options As StringSplitOptions) As String()

[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 [DateVariable].Split(".".ToCharArray)(2), dans laquelle [DateVariable] est la variable de type GenericValue qui contient la date, "." est le caractère qui sert de séparateur, .ToCharArray crée un tableau contenant les éléments délimités par le séparateur et (2) représente l'index de l'élément à extraire (c'est-à-dire l'année dans cet exemple).
Remarque : lorsque cette méthode est utilisée avec une variable de type GenericValue contenant des données de type Int, Float ou Booléen, les données sont automatiquement converties en chaînes de caractères et traitées en tant que telles.

Sous-chaîne

  • Function GenericValue.Substring(startIndex As Integer) As String
  • Function GenericValue.Substring(startIndex As Integer, length As Integer) As String

[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 [SentenceVariable].Substring(10,3), dans laquelle [SentenceVariable] est la variable de type GenericValue qui contient la phrase, 10 est l'index du premier caractère à extraire et 3 représente la longueur de la sous-chaîne à partir du premier caractère. Dans cet exemple, la sous-chaîne résultante serait donc « 100 ».
Remarque : lorsque cette méthode est utilisée avec une variable de type GenericValue contenant des données de type Int, Float ou Booléen, les données sont automatiquement converties en chaînes de caractères et traitées en tant que telles.

ToBoolean

  • Function GenericValue.ToBoolean(provider As IFormatProvider) As Boolean

[Cliquez ici pour plus de détails][13]

[13] : https://msdn.microsoft.com/en-us/library/bb346937(v=vs.110).aspx

ToByte

  • Function GenericValue.ToByte(provider As IFormatProvider) As Byte

[Cliquez ici pour plus de détails][14]

[14] : https://msdn.microsoft.com/en-us/library/bb355898(v=vs.110).aspx

ToChar

  • Function GenericValue.ToChar(provider As IFormatProvider) As Char

[Cliquez ici pour plus de détails] [15]

[15]: https://msdn.microsoft.com/en-us/library/bb335877(v=vs.110).aspx

ToDecimal

  • Function GenericValue.ToDecimal(provider As IFormatProvider) As Decimal
  • Function GenericValue.ToDecimal(format As NumberStyles) As Decimal

[Cliquez ici pour plus de détails][17]

[17]: https://msdn.microsoft.com/en-us/library/bb359959(v=vs.110).aspx

Doubler

  • Function GenericValue.ToDouble(provider As IFormatProvider) As Double
  • Function GenericValue.ToDouble(format As NumberStyles) As Double

[Cliquez ici pour plus de détails][18]

[18]: https://msdn.microsoft.com/en-us/library/bb154906(v=vs.110).aspx

ToInt

  • Function GenericValue.ToInt(culture As IFormatProvider) As Integer?
  • Function GenericValue.ToInt() As Integer?

Cette méthode est utilisée pour convertir une valeur donnée en integer pouvant accepter la valeur Null.

Remarque : Lorsque cette méthode est utilisée avec une variable GenericValue de type booléen, les valeurs « True » et « False » sont respectivement converties en 1 et 0.

ToInt16

  • Function GenericValue.ToInt16(provider As IFormatProvider) As Short

[Cliquez ici pour plus de détails] [20]

[20]: https://msdn.microsoft.com/en-us/library/bb293091(v=vs.110).aspx

Remarque : Lorsque cette méthode est utilisée avec une variable GenericValue de type booléen, les valeurs « True » et « False » sont respectivement converties en 1 et 0.

ToInt32

  • Function GenericValue.ToInt32(provider As IFormatProvider) As Integer

[Cliquez ici pour plus de détails][21]

[21]: https://msdn.microsoft.com/en-us/library/bb300452(v=vs.110).aspx

Remarque : Lorsque cette méthode est utilisée avec une variable GenericValue de type booléen, les valeurs « True » et « False » sont respectivement converties en 1 et 0.

ToInt64

  • Function GenericValue.ToInt64(provider As IFormatProvider) As Long

[Cliquez ici pour plus de détails][22]

[22]: https://msdn.microsoft.com/en-us/library/bb359566(v=vs.110).aspx

Remarque : Lorsque cette méthode est utilisée avec une variable GenericValue de type booléen, les valeurs « True » et « False » sont respectivement converties en 1 et 0.

ToLower

  • Function GenericValue.ToLower() As String

[Cliquez ici pour plus de détails.][23]

[23]: https://msdn.microsoft.com/en-us/library/system.string.tolower(v=vs.110).aspx

Remarque : lorsque cette méthode est utilisée avec une variable de type GenericValue contenant des données de type Int, Float ou Booléen, les données sont automatiquement converties en chaînes de caractères et traitées en tant que telles.

ToLowerInvariant

  • Function GenericValue.ToLowerInvariant() As String

[Cliquez ici pour plus de détails][24]

[24]: https://msdn.microsoft.com/en-us/library/system.string.tolowerinvariant(v=vs.110).aspx

Remarque : lorsque cette méthode est utilisée avec une variable de type GenericValue contenant des données de type Int, Float ou Booléen, les données sont automatiquement converties en chaînes de caractères et traitées en tant que telles.

ToSByte

  • Fonction GenericValue.ToSByte(provider As IFormatProvider) As SByte

[Cliquez ici pour plus de détails][25]

[25]: https://msdn.microsoft.com/en-us/library/bb342232(v=vs.110).aspx

ToSingle

  • Function GenericValue.ToSingle(provider As IFormatProvider) As Single

[Cliquez ici pour plus de détails][26]

[26]: https://msdn.microsoft.com/en-us/library/bb360375(v=vs.110).aspx

ToString

  • Function GenericValue.ToString(formatProvider As IFormatProvider) As String
  • Fonction GenericValue.ToString(format As String, formatProvider As IFormatProvider) As String
  • Function GenericValue.ToString() As String

[Cliquez ici pour plus de détails][27]

[27]: https://msdn.microsoft.com/en-us/library/system.string.tostring(v=vs.110).aspx

ToType

  • Function GenericValue.ToType(conversionType As Type, provider As IFormatProvider) As Object

[Cliquez ici pour plus de détails][29]

[29]: https://msdn.microsoft.com/en-us/library/bb358540(v=vs.110).aspx

ToUInt16

  • Fonction GenericValue.ToUInt16(provider As IFormatProvider) As UShort

[Cliquez ici pour plus de détails.][30]

[30]: https://msdn.microsoft.com/en-us/library/bb337265(v=vs.110).aspx

Remarque : Lorsque cette méthode est utilisée avec une variable GenericValue de type booléen, les valeurs « True » et « False » sont respectivement converties en 1 et 0.

ToUInt32

  • Fonction GenericValue.ToInt32(provider As IFormatProvider) As UInteger

[Cliquez ici pour plus de détails][31]

[31]: https://msdn.microsoft.com/en-us/library/bb357762(v=vs.110).aspx

Remarque : Lorsque cette méthode est utilisée avec une variable GenericValue de type booléen, les valeurs « True » et « False » sont respectivement converties en 1 et 0.

ToUInt64

  • Fonction GenericValue.ToUInt64(provider As IFormatProvider) As Ulong

[Cliquez ici pour plus de détails][32]

[32]: https://msdn.microsoft.com/en-us/library/bb155099(v=vs.110).aspx

Remarque : Lorsque cette méthode est utilisée avec une variable GenericValue de type booléen, les valeurs « True » et « False » sont respectivement converties en 1 et 0.

ToUpper

  • Function GenericValue.ToUpper() As String

[Cliquez ici pour plus de détails][33]

[33]: https://msdn.microsoft.com/en-us/library/system.string.toupper(v=vs.110).aspx

Remarque : lorsque cette méthode est utilisée avec une variable de type GenericValue contenant des données de type Int, Float ou Booléen, les données sont automatiquement converties en chaînes de caractères et traitées en tant que telles.

ToUpperInvariant

  • Function GenericValue.ToUpperInvariant() As String

[Cliquez ici pour plus de détails][34]

[34]: https://msdn.microsoft.com/en-us/library/system.string.toupperinvariant(v=vs.110).aspx

Remarque : lorsque cette méthode est utilisée avec une variable de type GenericValue contenant des données de type Int, Float ou Booléen, les données sont automatiquement converties en chaînes de caractères et traitées en tant que telles.

Découper

  • Function GenericValue.Trim(ParamArray trimChars As Char()) As String
  • Function GenericValue.Trim() As String

[Cliquez ici pour plus de détails.][35]

[35]: https://msdn.microsoft.com/en-us/library/system.string.trim(v=vs.110).aspx

Remarque : lorsque cette méthode est utilisée avec une variable de type GenericValue contenant des données de type Int, Float ou Booléen, les données sont automatiquement converties en chaînes de caractères et traitées en tant que telles.

TrimEnd

  • Fonction GenericValue.TrimEnd(ParamArray trimChars As Char()) As String

[Cliquez ici pour plus de détails][36]

[36]: https://msdn.microsoft.com/en-us/library/system.string.trimend(v=vs.110).aspx

Remarque : lorsque cette méthode est utilisée avec une variable de type GenericValue contenant des données de type Int, Float ou Booléen, les données sont automatiquement converties en chaînes de caractères et traitées en tant que telles.

TrimStart

  • Function GenericValue.TrimStart(ParamArray trimChars As Char()) As String

[Cliquez ici pour plus de détails][37]

[37]: https://msdn.microsoft.com/en-us/library/system.string.trimstart(v=vs.110).aspx

Remarque : lorsque cette méthode est utilisée avec une variable de type GenericValue contenant des données de type Int, Float ou Booléen, les données sont automatiquement converties en chaînes de caractères et traitées en tant que telles.

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).

  1. Créez un nouveau projet vierge.
  2. Créez trois variables de type GenericValue : Int, Str et Result.
  3. Dans la colonne Par défaut de la variable Int, tapez 12 et pour la variable Str, tapez « 34 ». La première variable est interprétée comme un entier, tandis que la seconde est interprétée comme une chaîne.


  4. Ajoutez une activité de type Attribuer (Assign) au module Concepteur (Designer) et reliez-la au nœud Initial.
  5. Rendez-vous dans le module Propriétés (Properties) et saisissez la variable Result dans le champ À (To).
  6. Indiquez Int + Str dans le champ Valeur (Value).
  7. Ajoutez une activité Écrire une ligne (Write Line) et reliez-la à l'activité de type Attribuer (Assign).
  8. Dans le volet Propriétés, dans le champ Texte, saisissez la variable Result.

    Le projet doit ressembler à la capture d'écran suivante.



  9. Appuyez sur la touche F5 pour exécuter votre projet d'automatisation. Remarque : la somme des deux nombres apparait dans le module Sortie (Output).



  10. Revenez à l'activité Assign précédemment ajoutée et changez le champ Value en Str + Int, pour inverser l'ordre des variables. Le projet doit ressembler à la capture d'écran suivante.


  11. 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

Il est recommandé de consulter la page À propos des files d'attente et transactions, pour avoir une vue d'ensemble sur les files d'attente et les transactions, avant de passer ensuite à 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 à

  • Function GenericValue.Equals(obj As Object) As Boolean

GetHashCode

  • Function Object.GetHashCode() As Integer

GetType

  • Function Object.GetType() As Type

ToString

  • Function Object.ToString() As String

Propriétés prises en charge

Nom / Syntaxe

Description

AssignedTo

  • Property QueueItem.AssignedTo As String

DueDate

  • Property QueueItem.DueDate As Date?

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

  • Property QueueItem.DueDate As Date?

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

  • Property QueueItem.Id As Long?

ItemKey

  • Property QueueItem.ItemKey As Guid
Identificateur unique de l'élément. Par exemple, 1bf829e1-cd6b-4275-a364-19db3cfe09c7.

Priorité (Priority)

  • Property QueueItem.Priority As QueueItemPriority

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

  • Property QueueItem.ProcessingException As ProcessingException

Exception de traitement d'un élément en échec.

Progression (Progress)

  • Property QueueItem.Progress As String

Informations de la progression personnalisée sur un élément de file d'attente dont l'état est InProgress.

QueueDefinitionId

  • Property QueueItem.QueueDefinitionId As Long

Identificateur unique de la file d'attente sous laquelle un élément de file d'attente/une transaction a été traité.

QueueName

  • Property QueueItem.QueueName As String

Nom de la file d'attente contenant les éléments traités.

Référence (Reference)

  • Propriété QueueItem.Reference As String

Valeur spécifiée par l'utilisateur pour faciliter l'identification des éléments de file d'attente.

RetryNo

  • Property QueueItem.RetryNo As Integer

Nombre de nouvelles tentatives pour un élément.

État de révision (ReviewStatus)

  • Property QueueItem.ReviewStatus As String

État de révision de l'élément de file d'attente, tel que récupéré depuis Orchestrator.

RowVersion

  • Property QueueItem.RowVersion As Byte()

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

  • Property QueueItem.SpecificContent As Dictionary(Of String, Object)

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

  • Property QueueItem.StartTransactionTime As Date?

Date et heure de début du traitement de la transaction.

État (Status)

  • Property QueueItem.Status As QueueItemStatus

É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

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 :

  1. Créez une nouvelle séquence.
  2. Ajoutez une activité Excel Application Scope à l'intérieur de la séquence et définissez l'emplacement du classeur dans le volet Propriétés (Properties) de l'activité.
  3. Dans la section Do , ajoutez une activité Read Range pour lire la plage de valeurs souhaitée dans le rapport et les stocker dans une variable DataTable . Dans notre cas, tapez "A1-D51" ou laissez simplement la valeur par défaut, "", ce qui signifie que la feuille de calcul entière est lue.
  4. Dans le champ Nom de la feuille (Sheet Name), entrez le nom de la feuille, à savoir “July Report”.
  5. Dans le champ Table de données (Data Table), appuyez sur Ctrl + K pour créer une nouvelle variable TableDonnées (DataTable) qui stocke la plage de données précédemment lue. Nommez-la DataTable1 ou attribuez-lui un nom similaire. Le volet Variables doit également afficher la variable nouvellement créée comme suit :


  6. Ensuite, ajoutez une activité For Each Row au panneau Designer et remplissez les champs vides avec «ligne» et le nom de la variable DataTable, DataTable1, respectivement. Cette activité exécute l'action définie dans la section Body pour chaque ligne du tableau de données. La section Do devrait ressembler à la capture d'écran suivante jusqu'à présent:


  7. 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.
  8. 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.
  9. 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 pour Direction et Type , et avec Value définie sur row(0).ToString. Cela récupère 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 pour Direction et Type , et avec Value définie sur row(1).ToString. Cela récupère la valeur de la colonne avec le compteur 1 pour chaque ligne du classeur, dans notre cas, la valeur Cash In.
    • OnUsCheck, en conservant les valeurs par défaut pour Direction et Type, et avec Value définie sur row(2).ToString. Cela récupère la valeur de la colonne avec le compteur 2 pour chaque ligne dans le classeur, dans notre cas, la valeur de contrôle sur nous.
    • NotOnUsCheck, en conservant les valeurs par défaut pour Direction et Type, et avec Value définie sur row(3).ToString. Cela récupère la valeur de la colonne avec le compteur 3 pour chaque ligne dans le classeur, dans notre cas, la valeur de contrôle non activé.
  10. La fenêtre ItemInformation doit ressembler à ceci dans la capture d'écran suivante :



  11. Connectez le Robot de Studio à Orchestrator. Pour plus de détails sur la façon de procéder, cliquez ici.
  12. Accédez à https://platform.uipath.com, connectez-vous à l'aide de vos informations d’identification, puis créez une file d'attente (FileAttenteRapports (ReportQueue)) pour stocker les éléments. Assurez-vous que, quel que soit le nom que vous avez utilisé ci-dessus (étape 8), vous utilisez le même ici.
  13. 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).
  14. 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.
  15. Accédez à nouveau à https://platform.uipath.com et affichez les 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.

  1. Accédez à Conception (Design) > Nouveau (New) > Organigramme (Flowchart) pour créer un fichier dans le projet lancé ci-dessus.
  2. Ajoutez une activité Open Application pour ouvrir l'application factice tierce. Connectez-la au nœud de départ (Start).
  3. Renseignez les détails requis (Nom complet (Display Name), NomFichier (FileName), Sélecteur (Selector)) dans le panneau Propriétés (Properties), et configurez l'activité de façon à se connecter avec les informations d'identification correspondantes. Utilisez admin pour le champ Nom d'utilisateur et password pour le champ Mot de passe (Password).
  4. Dans le champ FileName, renseignez le chemin d'accès de l'application.
  5. Dans le champ Sélecteur (Selector), définissez un sélecteur pour UIDemo en utilisant l'Éditeur de sélecteur.
  6. Ajoutez une activité Should Stop au panneau Concepteur (Designer) et connectez-la à l'activité Open Application.
  7. 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 lors de son exécution. Cela vous donne la possibilité de configurer davantage le workflow afin qu'il effectue différentes routines de sécurité après le déclenchement de l'arrêt. Consultez ci-dessous un exemple de ce type de routine :

    • Ajoutez une activité Log Message et connectez-la à la branche Vrai (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é Close Application et connectez-la à l'activité Log Message auparavant ajoutée.
    • Dans le panneau Propriétés (Properties), champ DisplayName, après l'activité Close application, entrez UIDemo.exe UIDemo.
  8. Ajoutez une activité Get Transaction Item à la branche Faux (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.
  9. 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 ».
  10. 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.
  11. Ajoutez une activité Flow Decision au panneau Concepteur (Designer) et connectez-la à l'activité Get Transaction Item.
  12. Rendez-vous dans le module Propriétés (Properties) et saisissez TransItem isNot Nothing dans le champ Condition. Cette activité vérifie la valeur de chaque élément pour déterminer si la fin de la file d'attente a été atteinte.
  13. 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.
  14. 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.
  15. Dans le panneau Propriétés (Properties), champ Condition (Condition), entrez cint(TransItem.SpecificContent("OnUSCheck").ToString) < 5000, où :
    • cint convertit une variable de type string en type integer.
    • TransItem est 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.
    • .ToString convertit le contenu de la variable QueueItem en variable de type string.
    • < 5000 est 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.

  16. 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).
  17. 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
  18. Dans le champ TransactionItem, ajoutez la variable TransItem.
  19. Dans le champ Raison (Reason), entrez « Le montant OnUSCheck est supérieur à 5 000 ou un message similaire, à afficher pour la transaction en échec.
  20. 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.
  21. Ajoutez une activité Sequence au panneau Concepteur (Designer) et connectez-la à la branche Vrai (True) de la décision de flux précédente (étape 13). À l'intérieur de la séquence, ajoutez une activité Try Catch et configurez-la de sorte que les erreurs potentielles soient correctement nommées comme erreurs d'application lors du traitement des éléments.
  22. Ouvrez l'application UIDemo et connectez-vous à l'aide du nom d'utilisateur admin et du mot de passe password.
  23. 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 :

    • Dans l'activité Try Catch précédente, ajoutez une activité Type Into.
    • Cliquez sur Indiquer à l'écran (Indicate on screen) et sélectionnez dans l'interface UIDemo, le champ vide correspondant à Encaissement (Cash In).
    • Dans le panneau Propriétés (Properties), champ Texte (Text), entrez transItem.SpecificContent("CashIn").ToString, où : Chaque terme de l'expression est expliqué ci-dessus (étape 15). Cette expression convertit la valeur de chaque variable ÉlémentFileAttente (QueueItem) en variable de chaîne.
    • Assurez-vous que l'option Simulate Type est sélectionnée.
  24. 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.



  25. Dans l'Assistant Screen Scraper, choisissez une méthode d' extraction et cliquez sur Terminer. Cela insère une activité Capture d’écran dans votre workflow. Assurez-vous de le positionner après les activités Type Into précédentes et définissez le champ Texte sur une nouvelle variable, disons TransactionValue. Cela récupère le numéro de transaction pour chaque élément de la file d'attente qui remplit la condition initiale.
  26. Ajoutez une activité Set Transaction Status après l'activité Extraction de données d'écran (Screen Scraping).
  27. 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.
  28. 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.
  29. Dans le champ TransactionItem, ajoutez la variable TransItem.
  30. Ajoutez une activité Click à l'activité Sequence après les activités Type Into.
  31. 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.
  32. L'activité Try Catch doit ressembler à ceci dans la capture d'écran suivante :



  33. 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.
  34. L'organigramme doit ressembler à ceci dans la capture d'écran suivante :



  35. Pour exécuter le processus, cliquez sur Conception (Design) > Exécuter (Run).
  36. Une fois l'exécution terminée, vous pouvez naviguer à https://platform.uipath.com et afficher les transactions traitées avec les détails de traitement correspondants :
  • Transaction réussie



  • Transaction en échec



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

Obtenez l'aide dont vous avez besoin
Formation RPA - Cours d'automatisation
Forum de la communauté UiPath
Uipath Logo White
Confiance et sécurité
© 2005-2024 UiPath Tous droits réservés.