Jump to: navigation, search

L’utilisation de formules dans les codes de champ

En plus des variables système, telles que Contact.FirstName, les codes de champ peuvent contenir des formules. Cette section donne un aperçu de l’utilisation des formules. Des détails sur bon nombre de ces sujets figurent dans Genesys eServices Field Codes Reference Manual.

Vous devez toujours délimiter les codes de champ à l’aide de <$ … $>. Si vous saisissez un code de champ directement dans le corps d’une réponse standard, vous devez entrer les délimiteurs vous-même. Si vous faites votre sélection à partir de la liste des codes de champ du Knowledge Manager, les délimiteurs sont ajoutés automatiquement.

Le texte qui apparaît à l’intérieur des délimiteurs est une formule. Les formules de code de champ sont très semblables aux formules que l’on trouve dans d’autres applications, comme Microsoft Excel.

Une formule est une séquence d’un ou de plusieurs opérandes (comme les chiffres et les chaînes de texte), séparés par des opérateurs (comme + et -).

Par exemple, dans la formule suivante, 2 et 3 sont des opérandes et + est un opérateur :

      <$2 + 3$>

Les opérandes peuvent être des valeurs qui ne changent pas (constantes), ou des valeurs qui varient selon le contexte. Dans la formule précédente, tous les opérandes sont des constantes, donc la formule prend toujours la valeur 5. La formule suivante, en revanche, prend une valeur différente pour chaque agent qui l’utilise :

      <$Agent.Signature$>

Syntaxe de code de champ

Pour résumer la syntaxe de code de champ :

  • Un code de champ doit être délimité par <$ ... $>.
  • Les chaînes alphabétiques, qu’elles soient les constantes dans les formules ou ailleurs dans un code de champ, doivent être entre guillemets doubles.
  • Les constantes numériques ne nécessitent aucun traitement particulier.
  • Vous devez utiliser des caractères spéciaux à certaines fins. Par exemple, pour votre code de champ à afficher avec un saut de ligne, vous ne pouvez pas simplement saisir un retour chariot. Vous devez plutôt insérer l’expression \n. Une liste de ces caractères spéciaux est disponible.

HTML dans les codes de champ

Avec une configuration particulière, les codes de champ peuvent contenir des balises HTML. Par exemple, vous pourriez avoir un code de champ <$my.agent.signature$> défini comme

Sam Agent<BR />
Acme Products<BR />
29 Exterior Blvd<BR />
Springfield, CX 09090<BR /> 

Pour l’activer, vous devez utiliser la propriété Java -Dsrl-field-code-allow-html=true, d’une des manières suivantes :

  • L’ajouter à la section JavaArgs de ContactServerDriver.ini
  • L’ajouter en tant qu’argument à la ligne de commande de démarrage dans contactServer.sh.

Priorité des opérateurs

Si vous utilisez plus d’un opérateur dans une formule, l’ordre dans lequel ils sont évalués dépend de leur priorité relative (les opérateurs dont la priorité est plus élevée sont évalués en premier). Par exemple, la multiplication (*) a une priorité plus élevée que l’addition (+), de sorte que la formule ci-dessous correspond à 14 et non à 20 :

      <$2 + 3 * 4$>

Vous pouvez utiliser des parenthèses pour remplacer la priorité par défaut. La formule ci-dessous correspond à 20 :

      <$(2 + 3) * 4$>

Pour une liste complète des opérateurs et de leur priorité relative, consultez "Priorité des opérateurs dans le Genesys eServices Field Codes Reference Manual.

Types de données

Des opérandes de différents types peuvent apparaître dans les formules :

  • Numérique
  • Chaîne (texte)
  • Date/heure
  • Booléen (true ou false)
  • Objet (contact, interaction et agent)

Chaque type de données se comporte différemment dans les formules, et les opérateurs ont des significations différentes lorsque vous les utilisez avec différents types de données. Par exemple, l’opérateur + signifie « ajouter » lorsqu’il est utilisé avec des chiffres, mais « concaténer » (coller ensemble) lorsqu’il est utilisé avec des chaînes. Cette formule correspond à Uncle Sam Wants You


      <$"Uncle Sam" + "Wants You"$>

De plus, certains opérateurs ne peuvent tout simplement pas être utilisés avec certains types de données. Par exemple, vous ne pouvez pas utiliser l’opérateur de multiplication (* ) avec deux chaînes.
Toutes les formules, quel que soit leur type de données finales, sont converties en chaînes avant d’être fusionnées dans votre réponse standard. Cette conversion suit un ensemble de règles par défaut qui dépendent du type de données Par exemple, les règles par défaut pour les nombres les arrondissent en nombres entiers. Cette formule fait en sorte que 2 est inséré dans votre réponse standard, même si le résultat réel est 2,25 :

      <$9 / 4$>

Vous pouvez utiliser la fonction texte (voir ci-dessous) ou opérateur de format:) pour remplacer la mise en forme par défaut. Chacune des formules suivantes insère 2,25 dans votre réponse standard :

      <$Text(9 / 4, "#.##")$>
      <$(9 / 4):"#.##"$>

Pour une liste détaillée des types de données et de la façon dont vous pouvez les utiliser, consultez "Types de données dans le Genesys eServices Field Codes Reference Manual.

Fonctions

Lors de la composition de formules, vous pouvez utiliser de nombreuses fonctions intégrées. Les fonctions sont des formules prédéfinies qui effectuent des calculs en utilisant des valeurs, appelées arguments, que vous fournissez. Pour utiliser une fonction, écrivez son nom suivi d’une parenthèse ouvrante, des arguments de la fonction séparés par des virgules, puis d’une parenthèse fermante.

Les arguments d’une fonction peuvent être de n’importe quel type de données, bien que des fonctions individuelles puissent imposer des restrictions à leurs arguments. Les arguments d’une fonction peuvent être des constantes ou des formules. La fonction de longueur, par exemple, prend un argument de chaîne unique et rend sa longueur en caractères. Cette formule correspond à 13 :

      <$Length("Hello, world!")$>

La fonction de date, qui prend des composants de date individuels (année, mois, jour et ainsi de suite) et construit une valeur date/heure, est un autre exemple. La formule ci-dessous correspond à 1965-11-23 09:03:10 :

      <$Date(1965, 11, 23, 9, 3, 10)$>

Les fonctions peuvent agir en tant qu’arguments pour d’autres fonctions. La fonction WeekdayName prend un seul argument date/heure et rend le jour de la semaine sous forme de chaîne. La formule ci-dessous correspond à mardi :

      <$WeekdayName(Date(1965, 11, 23, 9, 3, 10))$>

Cette formule correspond à 7 :

      <$Length(WeekdayName(Date(1965, 11, 23, 9, 3, 10))$>)

Pour une description détaillée de toutes les fonctions disponibles, consultez "Fonctions" dans le Genesys eServices Field Codes Reference Manual.

L’utilisation d’objets

Toutes les paires objet/propriété sont également disponibles dans le menu déroulant Variables, qui se trouve dans l’éditeur de code de champ du Knowledge Manager.
Les propriétés des objets peuvent être de n’importe quel type de données. Par exemple,Agent.FullName est une chaîne, tandis que Interaction.DateCreated est une valeur date/heure.
Le type de données d’une propriété d’objet peut même être un autre objet. Par exemple, Contact.EmailAddresses mène à un autre objet appelé ContactEmailAddressList. Dans les cas comme celui-ci, vous pouvez accéder aux propriétés de l’objet résultant en entrant un point (.), suivi du nom de propriété, comme décrit précédemment. Par exemple, la formule ci-dessous correspond au nombre d’adresses de courriel attribuées au contact :

      <$Contact.EmailAddresses.Count$>

Certaines propriétés d’objet requièrent des arguments, tout comme les fonctions. Pour ce type de propriétés, écrivez les arguments entre parenthèses après le nom de propriété, comme il a été vu précédemment.

Par exemple, l’objet ContactEmailAddressList a une propriété nommée Exists que vous pouvez utiliser pour tester si une adresse de courriel en particulier est attribuée à un contact. Le type de données de cette propriété est booléen (true ou false), et utlise un argument, l’adresse de courriel, pour effectuer un test. Par exemple :

      <$Contact.EmailAddresses.Exists("samd@acme.com")$>

Pour une description détaillée de tous les objets et de leurs propriétés, consultez "Objets" dans le Genesys eServices Field Codes Reference Manual.

This page was last edited on July 26, 2017, at 19:45.
Comments or questions about this documentation? Contact us for support!