Boutons intelligents

Création et utilisation de collections

Une collection est un ensemble d’éléments séparés par des points-virgules (;).

Par exemple : 1 ; 4; 6; ABC

Il y a quatre éléments dans cette collection, qui sont 1, 4, 6 et ABC.

Création de collections

Il existe plusieurs façons de créer des collections :

Collection de valeurs statiques

Vous pouvez créer des collections avec des valeurs statiques. En d’autres termes, chaque fois que vous exécutez un script, les valeurs de la collection sont les mêmes.

Par exemple:

  1. Utilisez l’élément XML Variable pour créer une collection de valeurs statiques qui répertorie les noms de quatre couleurs.

    <Variable VarName="ColorCollection">Red;Green;Yellow;Orange</Variable>
  2. Créez un script pour afficher tous les éléments (noms de couleurs) de la collection à l’écran.

    Copier
    <ButtonConf ButtonName="Colors" Description="" QuickCommand="">
    <Variable VarName="ColorCollection">Red;Green;Yellow;Orange</Variable>
    <ShowMessage>[ColorCollection]</ShowMessage>
    </ButtonConf>

Lecture d’informations à partir des commandes du terminal

Vous voudrez peut-être lire certaines informations à l’écran, par exemple, lire tous les numéros de billets non annulés à partir de l’affichage *HTI

Voici un exemple de script qui lit l’écran d’affichage *HTI, lit tous les billets non annulés et l’affiche à l’écran :

Copier
<ButtonConf ButtonName="all unvoided tickets" Description="" QuickCommand="">
<RunCommand>*HTI</RunCommand>
<GetString VarName="UnvoidedTicketNumbers"><![CDATA[(?!.*\/VOID)\/(\d{13})\/-[A- Z]{3}\/]]></GetString>
<ShowMessage>[UnvoidedTicketNumbers]</ShowMessage>
</ButtonConf>

En savoir plus sur l’utilisation de l’élément XML <GetString> dans la rubrique <GetString>

GDS Variables

Vous pouvez créer une collection d’éléments à l’aide de la fonctionnalité GDSVariable, par exemple, pour créer une collection de passagers.

Ce type de collecte sera dynamique (lira les noms des passagers à partir du PNR actuel)

Copier
<Variable VarName="PaxList">%PassengersList({LastName}/{FirstName})%</Variable>

 

Voici un exemple de script qui lit les noms des passagers (via les variables GDS) et les affiche à l’écran :

Copier
<ButtonConf ButtonName="Pax list" Description="" QuickCommand="">
<Variable VarName="PaxList">%PassengersList({LastName}/{FirstName})%</Variable>
<ShowMessage>[PaxList]</ShowMessage>
</ButtonConf>

Pour en savoir plus sur l’utilisation des variables GDS, consultez la rubrique Variables.

Lire des informations à partir d’Excel

Vous pouvez utiliser l’élément XML ReadFromExcel pour lire des données à partir d’un fichier Microsoft Excel.

Par exemple, si votre agence souhaite lire les numéros de client stockés dans un fichier Excel pour créer une collection de numéros de client.

Dans cet exemple, les numéros de client sont lus à partir d’un fichier Excel et affichés à l’écran.

Copier
<ButtonConf ButtonName="Excel example 4" Description="" QuickCommand="">
<ReadFromExcel VarName="CustomerNumbers" ExcelPath="C:\ Desktop\CustomerDataBase.xlsx" ReadBy="Column" Column="L" Row="3:11" />
<ShowMessage>[CustomerNumbers]</ShowMessage>
</ButtonConf>

Appel API

Vous pouvez obtenir des informations à partir de bases de données externes, telles que votre système de mid-office.

Par exemple, vous pouvez obtenir des informations sur toutes les personnes autorisées à demander des billets pour des entreprises spécifiques.

Avec l’élément XML APICall, vous pouvez envoyer des informations au système de mid-office , par exemple, avec le nom de l’entreprise, et vous recevrez des informations en retour avec une liste de toutes les personnes autorisées à demander des billets d’avion. La liste serait notre collection.

Copier
<ButtonConf ButtonName="Colors" Description="" QuickCommand="">
<ApiCall VarName="AuthorizedRequestors" Url="https://backofficeAPI.com/api/AuthorizedTicketRequestors" Parameters="CustomerName" Method="GET" AuthType="Basic" AuthorizationHeaderValue="Basic QVBJMzI4OioqKioqKioqKioqKioqKio=" />
<ShowMessage>[AuthorizedRequestors]</ShowMessage>
</ButtonConf>

Opération de fichier

Une collection d’éléments peut également être créée en lisant un fichier texte à l’aide du contrôle FileOperation . Chaque ligne de texte de ce fichier peut être traitée comme un élément de la collection (StringToCollection="True »).

Par exemple, vous pouvez conserver tous les noms des clients dans un fichier texte.

Pour créer un script qui lit tous les noms de compte et les affiche dans une boîte de message :

Copier
<ButtonConf ButtonName="" Description="" QuickCommand="">
<FileOperation Mode="Read" VarName="Accounts" StringToCollection="True">
<FilePath><![CDATA[C:\OneDRive\OneDrive - Travelport\Desktop\Account List.txt]]></FilePath>
</FileOperation>
<ShowMessage>[Accounts]</ShowMessage>
</ButtonConf>

Utilisation des collections

Dans les exemples précédents, les éléments de collection sont affichés à l’écran, comme exemple d’une action qui peut être effectuée avec une collection.

Les exemples suivants montrent des actions supplémentaires qui peuvent être effectuées avec une collection.

Lister tous les éléments de l’agent à l’aide de l’élément XML CheckListBox

Lorsque vous avez préparé votre collection à l’aide de l’une des méthodes ci-dessus, vous pouvez afficher tous les éléments de la collection à l’agent avec l’élément XML CheckListBox , les éléments pouvant être vérifiés.

Action de boucle avec l’élément XML ForEach

À l’aide de l’élément ForEach , vous pouvez effectuer la même action pour chaque élément d’une collection.

Par exemple, si votre collection est une liste de tous les noms de passagers, vous pouvez ajouter des remarques du bloc-notes qui contiennent le nom des passagers avec une remarque du bloc-notes par passager.

Utilisez à la fois CheckListBox et ForEach

Vous pouvez combiner les éléments CheckListBox et ForEach .

Par exemple, vous pouvez afficher à l’agent une liste de cases à cocher de tous les éléments de la collection. Ensuite, vous pouvez effectuer un ForEach sur la nouvelle collection pour permettre à l’agent de sélectionner certains des éléments de la collection. Par exemple, un agent peut sélectionner deux noms de passagers et effectuer la même action pour les éléments sélectionnés dans une nouvelle collection.

Valeur**Collection de clés

Dans Smart Buttons, les agents peuvent créer et opérer sur deux types de collections :

Collecte simple

Une collection simple est une collection d’éléments séparés par un point-virgule , où chaque élément de la collection est une chaîne de texte.

Par exemple:

  • Collecte des numéros de clients : 7987439 ; 237879; 872387; 23; Référence 21113

  • Retrait des numéros de billets : 080 7436823321 ; 220 8393828321

  • Collection des noms des passagers : JOHNSON/KATE ; JOHNSON/JOHN ; PERRY/MATTHIEU

Valeur**Collection de clés

Une collection « Value**Key » est une collection d’éléments séparés par des points-virgules ;, où chaque élément de la collection contient une Value et une Key séparées par deux astérisques **. Ce type de collection peut être utilisé pour créer des scripts plus avancés qui fonctionnent sur des collections bidimensionnelles .

La première partie de l’élément avant les astérisques ** est une valeur et la deuxième partie de l’élément est une clé. Par exemple:

  • Nom et numéro du passager : JOHNSON/JOHN**1 ; JOHNSON/GREG**2 ; SMITH/KATE**3

  • Nom et numéro de client : IVECOINC**938792 ; IBM**27632 ; COCACOLA**238782

Ce type de collection permet d’opérer séparément sur la valeur et la clé. Il distingue la partie de l’élément que nous voulons afficher à l’agent (Valeur ou Clé) à l’aide de CheckListBox et celle que nous voulons consommer (passer à la variable suivante, etc.).

Par exemple, considérez cette collection de clés Value** :

  • Nom et numéro de client : IVECOINC**938792 ; IBM**27632 ; COCACOLA**238782

Nous ne pouvons afficher que les noms de clients (Valeur) à l’agent, mais lorsque l’agent sélectionne un nom de client, nous pouvons ajouter le numéro de client associé à la remarque DI (Clé).

Contrôles (éléments XML) conçus pour fonctionner avec Value**Collections de clés

Les contrôles suivants fonctionnent avec les collections de clés Value** :