Les fonctions Iterop

Contents

Introduction

Cette page a pour objectif de recenser les fonctions Iterop utilisables dans des scripts ou dans la configuration de données d’entrée.

Si vous n’êtes pas déjà familier avec les fonction Iterop ou les scripts en général, il est fortement recommandé de prendre connaissance de la page qui aborde les scripts en général.

Guide d’utilisation pour les fonctions

Sur cette page, nous vous indiquons l’intitulé de la fonction, avec en paramètre, les types + noms des arguments à transmettre.

Exemple

getExemple(String chaineDeCaractère, int numero, Boolean trueOrFalse, Object objet)

  • String indique que la méthode attend une chaîne de caractère.
  • int indique que la méthode attend un nombre.
  • Boolean indique que la méthode attend true (vrai) ou (false) faux.
  • Object indique que la méthode attend un Objet.

Important

Lorsque vous utilisez la méthode dans un script, il ne faut pas indiquer le type des arguments comme ci-dessus mais transmettre une donnée qui respecte le type attendu.

La meilleure chose à faire est donc de copier/coller les exemples proposés dans les encarts gris et de les adapter à votre besoin/script.

Fichiers Excel (excel)

Sélecteur : excel

Méthodes Juel concernant le bean ExcelBean : permet d’ouvrir des fichiers excel dans des processus, de lire et de modifier des cellules, de changer les feuilles, et de les ré-enregistrer.

Attention

Les méthodes qui modifient des données (des cellules ou des feuilles) modifient le fichier excel passé en paramètre, sans créer de copie. Si vous voulez conserver une copie et éviter d’écraser un fichier, vous pouvez utiliser les méthodes de copie du Juel – Manipulation des fichiers

getCellValue(String idFile, Object sheet, String cell)

${excel.getCellValue(fileExcelVariableId, "sheet_sumamry", "A3")}

Retourne la valeur d’une cellule d’un fichier Excel.

Parameters:

  • idFile – l’id du fichier Excel
  • sheet – l’index ou le nom de la feuille recherchée
  • cell – la cellule recherchée, au format LettreNombre (A1, C3, …)

Returns: la valeur contenue dans la cellule.

getCellValues(String idFile, Object sheet)

${excel.getCellValues(fileExcelVariableId, "sheet_sumamry")}

Retourne dans un tableau JSON l’ensemble des valeurs des cellules sur une plage dynamique. La plage débute en A1 et terminera dès qu’une cellule sera vide.

Exemple : si A7 et G1 sont vides, la plage sera alors A1-E6. Même méthode que getCellValues(String, Object, String, String) sans préciser la plage

Parameters:

  • idFile – l’id du fichier Excel
  • sheet – l’index ou le nom de la feuille recherchée

Returns: toutes les valeurs des cellules

getCellValues(String idFile, Object sheet, String startingCellReference, String endingCellReference)

${excel.getCellValues(fileExcelVariableId, "sheet_sumamry", "A1", "E10")}

Retourne dans un tableau JSON l’ensemble des valeurs des cellules contenus dans une plage spécifiée, depuis un fichier Excel.

Exemple : si la plage était A1-C4, voici le résultat :

{"table":[["Value in A1","Value in B1","Value in C1","Value in D1"],["Test","Value","True","False"],["20","","","Other_value"]]}

Parameters:

  • idFile – l’id du fichier Excel
  • sheet – l’index ou le nom de la feuille recherchée
  • startingCellReference – la première cellule de la plage , au format LettreNombre (A1, C3, …)
  • endingCellReference – la dernière cellule de la plage

Returns: toutes les valeurs des cellules

setCellValue(String idFile, Object sheet, String cell, Object value)

${excel.setCellValue(fileExcelVariableId, "sheet_sumamry", "A10", other_variable)}

Rempli une cellule d’un fichier Excel par une valeur spécifiée en paramètre.

Parameters:

  • idFile – l’id du fichier Excel
  • sheet – l’index ou le nom de la feuille recherchée
  • cell – la cellule cible, au format LettreNombre (A1, C3, …)
  • value – la valeur à saisir dans la cellule

setCellValues(execution, String idFile, Object sheet, String values)

${excel.setCellValues(fileExcelVariableId, "sheet_sumamry", "A1:'Text fixe'##B1:variable_id")}

Rempli plusieurs cellules en même d’un fichier Excel par des valeurs spécifiées en paramètre. Le format des valeurs est sous cette forme :

"cellule:value##cellule2:value2##cellule3:value3##…"

le tout entouré de “.

En fonction du type de la valeur :

  • Chaîne de caractères : entourer de simple quote ‘
  • Valeur d’une variable : laisser l’id tel quel
  • Un nombre / Boolean : laisser tel quel

Voici un exemple de format de données à insérer :

"B2:'Text fixe example'##C5:variable_id##A6:45"

Parameters:

  • execution – laisser tel quel
  • idFile – l’id du fichier Excel
  • sheet – l’index ou le nom de la feuille recherchée
  • values – les valeurs ainsi ques les cellules cibles

addSheet(String idFile, String name)

${excel.addSheet(fileExcelVariableId, "new_sheet")}

Ajoute une feuille au fichier excel spécifié.

Parameters:

  • idFile – l’id du fichier Excel
  • name – le nom de la feuille créée
  • Returns: l’index de la feuille

addSheet(String idFile, String name, Integer index)

${excel.addSheet(fileExcelVariableId, "new_sheet", 3)}

Ajoute une feuille au fichier excel spécifié à l’index donné.

Parameters:

  • idFile – l’id du fichier Excel
  • name – le nom de la feuille à créer
  • index – l’index de la nouvelle feuille

Returns: l’index de la feuille créé

removeSheet(String idFile, String name)

${excel.removeSheet(fileExcelVariableId, "sheet_to_remove")}

Supprime une feuille d’un fichier excel.

Parameters:

  • idFile – l’id du fichier Excel
  • name – le nom de la feuille à supprimer

getNumberSheets(String idFile)

${excel.getNumberSheets(fileExcelVariableId)}

Retourne le nombre de feuilles d’un fichier Excel.

Parameters:

  • idFile – l’id du fichier Excel

Returns: un entier

getSheetName(String idFile, int index)

${excel.getSheetName(fileExcelVariableId, 2)}

Retourne le nom d’une feuille excel.

Parameters:

  • idFile – l’id du fichier Excel
  • index – l’index de la feuille à récupérer

Returns: le nom de cette feuille

getAllSheetNames(String idFile)

${excel.getAllSheetNames(fileExcelVariableId)}

Retourne le nom de toutes les feuilles d’un fichier Excel séparé par ## (utilisable dans les variables multi-sélections)

Parameters:

  • idFile – l’id du fichier Excel
  • Returns: le nom de toutes les feuilles

setSheetName(String idFile, int index, String name)

${excel.setSheetName(fileExcelVariableId, 0, "new_sheet_name")}

Modifie le nom d’une feuille Excel.

Parameters:

  • idFile – l’id du fichier Excel
  • index – l’index de la feuille à changer
  • name – le nouveau nom de la feuille

setColorSheet(String idFile, int index, String colorName)

${excel.setColorSheet(fileExcelVariableId, 2, "red")}

Change la couleur d’un onglet de feuille. Le nom de la couleur doit appartenir aux noms des couleurs en anglais, disponibles par Excel (ex: red, green, pink, …).

Parameters:

  • idFile – l’id du fichier Excel
  • index – l’index de feuille
  • colorName – le nom de la couleur

Formatage de données (format)

Sélecteur : format

Méthodes Juel concernant le bean FormatBean rassemblant les méthodes de formatage de données automatique et de test si une variable existe ou non.

hasValue(execution, String variableId)

${format.hasValue(execution, "variableId")};

Retourne false dans le cas ou la variable est Null, vide ou n’existe pas. La variable ne peut être vide que dans le cas ou c’est un String (ou un dérivé comme les type User/Groupe/Password/Select…).

Parameters:

  • execution – laisser execution tel quel dans le JUEL
  • variableId – la variable ID entre double quotes (“variableId”)

Returns: un boolean

isExists(execution, String variableId)

${format.isExists(execution, "variableId")};

Retourne l’existence ou non d’une variable. Une variable n’existe pas si elle n’a pas été initialisé par un script ou elle n’a jamais été affiché dans un formulaire.

Parameters:

  • execution – laisser execution tel quel dans le JUEL
  • variableId – la variable ID entre double quotes (“)

Returns: un boolean

formatIfNoValue(execution, String variableId, String valueIfNull, String valueIfNotNull)

${format.formatIfNoValue(execution,"variableId","Valeur_si_la_variable_est_null","Autre_valeur")}

En fonction de l’existence ou non de la valeur passée en paramètre, retourne un autre String passé en paramètre. Remplace la condition ternaire traditionnelle.

Si la valeur passé en paramètre est null, vide ou n’existe pas, c’est valueIfNull qui sera renvoyé. Sinon, c’est valueIfNotNull.

Parameters:

  • execution – laisser execution tel quel dans le Script JUEL
  • variableId – la variable Id entre “

Returns: un des deux Strings passé en paramètre

replaceValueIfNull(execution, String variableId, String valueIfNull)

${format.replaceValueIfNull(execution,"variableId","Valeur_si_la_variable_est_null")}

Remplace la valeur d’une variable par l’expression donné en paramètre dans le cas ou la valeur est nulle ou n’existe pas.

Parameters:

  • execution – laisser execution tel quel dans le Script JUEL
  • variableId – la variable Id entre “
  • valueIfNull – la valeur dans le cas ou l’autre variable est nulle

concat(String separator, String… values)

${format.concat(";","value1", "value2", "value3", "value4")}

Concatène tous les Strings en les séparant par un séparateur dans le cas ou celui ci est spécifié. Il est possible de mettre autant de String que l’on veut, séparé par des ,

Parameters:

  • separator – le separateur entre chaque valeur
  • values – toutes les valeurs à concatener

Returns: Un string avec toutes les chaînes de caractères concaténées

formatValueHtml(Object value)

${format.formatValueHtml(variable_juel)};

Formate une valeur passée en paramètre en html, en fonction du type de celle ci, pour pouvoir l’afficher par la suite, dans l’interface ou dans un mail :

  • Null : renvoi “aucune donnée”
  • String simple : renvoi un string simple
  • Multi valeurs : liste <ul> de ces valeurs
  • Date : formatte automatiquement la date
  • Boolean : Affiche oui/non
  • Autre : transforme en String

Il faut donc utiliser en paramètre la variableId sans ”

Parameters:

  • value – la valeur à afficher

Returns: un html formaté pour l’affichage

formatValue(Object value)

${format.formatValue(variable_juel)};

Même méthode que formatValueHtml(Object value) mais la sortie ne sera pas HTML mais texte simple. Change uniquement pour les multi-valeurs qui seront simplement séparées par des virgules.

Parameters:

  • value – la valeur à afficher

Returns: un String formaté pour l’affichage

See Also: formatValueHtml(Object)

Gestion des fichiers (files)

Sélecteur : files

Méthode Juel concernant le bean FilesBean : elle inclut des méthodes de récupération de nom et d’extension de fichiers ainsi que la création de fichiers PDF depuis des sources HTML.

getName(String idFiles)

${files.getName(fileVariableId)}

Renvoi le nom et l’extension du fichier dont l’ID est passé en paramètre. Si le fichier n’est pas trouvé ou n’existe pas, une chaîne de caractère vide sera renvoyée.

L’ID peut provenir d’une variable multi-fichiers. Dans ce cas, les noms de tous les fichiers seront renvoyés et séparés par une virgule.

Parameters :

idFile : L’ID du fichier à récupérer. Cela peut être une variable ID sans guillemets comme dans l’exemple.

setName(String idFiles, String newNameFile, Boolean changeExtension, Boolean incrementMultiFile)

${files.setName(variable_files, "mon_fichier", false, true)}
${files.setName(autre_variable_files, "autre_fichier.pdf", true, true)}

Modifie le nom d’un ou plusieurs fichiers passés en paramètre. Il est possible au choix de remplacer le nom complet du fichier (nom + extension) ou seulement le nom du fichier, au moyen du boolean changeExtension.
Si le nom de plusieurs fichiers doit être changé, alors, en fonction de la valeur de incrementMultiFile :

  • si true : les noms des fichiers seront suffixés avec un incrément (ex: mon_fichier_1.pdf, mon_fichier_2.doc…)
  • si false : les noms des fichiers seront tous les même (ex: mon_fichier.pdf, mon_fichier.doc

Parameters :

  • idFiles : mettre sans guillements l’id d’une variable contenant un ou des fichiers
  • newNameFile : le nouveau nom du ou des fichiers
  • changeExtension : change ou nom l’extension du fichier
  • incrementMultiFile : suffixe d’un incrément en cas de multi fichiers

getExtension(String idFiles)

${files.getExtension(fileVariableId)}

Renvoi l’extension d’un fichier dont l’ID est passé en paramètre. Si le fichier n’est pas trouvé ou n’existe pas, une chaîne de caractère vide sera renvoyée.

L’ID peut provenir d’une variable multi-fichiers. Dans ce cas, les extensions de tous les fichiers seront renvoyées et séparées par une virgule.

Parameters :

idFile : L’ID du fichier dont on veut connaître l’extension.

setExtension(String idFiles, String extension)

${files.setExtension(variable_files, "pdf")}

Modifie l’extension d’un ou plusieurs fichiers passés en paramètre.
Il faut saisir l’extension sans le “.” devant.
Si l’extension en paramètre est vide, alors, le système supprimera les extensions des différents fichiers.

Parameters :

  • idFiles : mettre sans guillements l’id d’une variable contenant un ou des fichiers
  • extension : l’extension désirée sans le “.”

createPdfFileFromHtmlSource(execution, String fileName, String htmlSource, Boolean generatePdfError)

${files.createPdfFileFromHtmlSource(execution, "My_file", task_textRichHtmlValue, false)}

Crée et enregistre un nouveau fichier PDF à partir d’une source HTML.

Renvoi l’ID du fichier généré qui peut être utilisé dans une variable de type “FICHIER” pour créer un lien vers ce fichier PDF généré.

Cette méthode peut être utilisée comme script JUEL en valeur d’entrée d’une variable de type “FICHIER”.

Si une erreur durant la création d’un fichier pdf survient, en fonction du boolean passé en paramètre generatePdfError :

  • Si celui-ci est à true, alors le script continuera et générera un pdf vide avec un message d’erreur dedans
  • Si celui-ci est à false, une exception sera levée et la tâche/le script … apparaîtra alors dans l’onglet erreur dans Play

Parameters :

  • execution : ne pas modifier.
  • fileName : le nom du fichier PDF qui sera généré.
  • htmlSource : la source HTML. S’il s’agit du contenu d’une variable, mettre la variable ID sans les guillemets.
  • generatePdfError :
    • si true : génère un fichier même dans le cas d’une erreur
    • si false : renvoi une erreur et laisse le système la traiter

createPdfFileFromHtmlSource(execution, String fileName, String htmlSource)

Même méthode que la méthode précédente mais la génération d’un document pdf d’erreur est par défaut désactivée.

createPdfFileFromHtmlSource(execution, String fileName, String htmlSource, String targetVariableId, Boolean generatePdfError)

${files.createPdfFileFromHtmlSource(execution, "My_file", task_textRichHtmlValue, "variable_id", true)}

Crée et enregistre un nouveau fichier PDF à partir d’une source HTML.

Remplit automatiquement la targetVariableId avec le nouvel ID du fichier généré.

Cette méthode peut être utilisée dans une tâche de script pour alimenter une variable de type “FICHIER” désignée avec targetVariableId.

Si une erreur durant la création d’un fichier pdf survient, en fonction du boolean passé en paramètre generatePdfError :

  • Si celui ci est à true, alors le script continuera et générera un pdf vide avec un message d’erreur dedans
  • Si celui ci est à false, une exception sera levée et la tâche/le script … apparaîtra alors dans l’onglet erreur dans Play

Parameters :

  • execution : ne pas modifier.
  • fileName : le nom du fichier PDF qui sera généré.
  • htmlSource : la source HTML. S’il s’agit du contenu d’une variable, mettre la variable ID sans les guillemets.
  • targetVariableId : la variable ID entre guillemets qui prendra comme valeur l’ID du nouveau fichier. Cette variable doit être de type “FICHIER”.
  • generatePdfError :
    • si true : génère un fichier même dans le cas d’une erreur
    • si false : renvoi une erreur et laisse le système la traiter

createFileFromString(execution, String fileName, String source)

${files.createFileFromString(execution, "my_file.txt", variableId)}

Créé et enregistre un nouveau fichier à partir d’une source de type texte. Renvoie l’identifiant du fichier créé à récupérer dans une variable de type fichier.

Parameters :

  • execution : ne pas modifier.
  • fileName : le nom du fichier PDF qui sera généré.
  • source : la source texte. S’il s’agit du contenu d’une variable, mettre la variable ID sans les guillemets.

createSimpleIcsFile(String fileName, String summary, …)

Fonction complète : createSimpleIcsFile(String fileName, String summary, Object startDate, Object endDate, String location, String description, String partipantsCalendarMails, String organizer, String mailOrganizer)

${files.createSimpleIcsFile(execution, "Invitation Réunion", "Réunion XXXX", variable_date_start, variable_date_end, "Bureau A25", "Voici les thèmes abordées…", multi_user_variable, variable_user_organize)}

Créé un fichier de type ICS (calendar) simple et standard. Certains paramètres sont obligatoires (comme la date de début, la date de fin et l’intitulé) et d’autres optionnels. Si un champ requis n’est pas présent, une erreur sera renvoyée.

Parameters:

  • execution – laisser tel quel
  • fileName – le nom du fichier ics généré
  • summary – l’intitulé de l’invitation
  • startDate – la date de début de l’évènement
  • endDate – la date de fin de l’évènement
  • location – le lieu de l’évènement
  • description – la description de l’évènement
  • partipants – les calendriers des participants potentiels, séparés par des ##.
  • organizer – l’organisateur
  • mailOrganizer – Le mail de l’organisateur

Returns: Un id correspondant au fihcier ics créé

getFileDigest(String fileId, String algo)

 ${files.getFileDigest(fileVariableId, "SHA256")}

Génère l’empreinte (hash en hexadécimal) d’un fichier en utilisant l’algorithme fourni.

Cette méthode peut être utilisée pour vérifier l’intégrité d’un fichier.

Parameters :

  • fileId : Id du fichier à récupérer
  • algo : Algorithme à utiliser pour l’empreinte (Valeurs possibles : MD5, SHA1, SHA256, SHA512).

checkFileDigest(String fileId, String algo, String digest)

${files.checkFileDigest(fileVariableId, "SHA256", "7a1813e36f0657a8efcabf9d33c7a7c8")}

Vérifie l’intégrité d’un fichier en se basant sur l’empreinte fournie.

Retourne true si l’emprunte calculée est identique à celle de référence (le fichier est intègre), false sinon.

Parameters :

  • fileId : Id du fichier à récupérer
  • algo : Algorithme à utiliser pour l’empreinte (Valeurs possibles : MD5, SHA1, SHA256, SHA512).
  • digest : Valeur d’empreinte de référence en hexadécimal

copyFile(execution, String idFileSource, String idVariableTarget, Boolean sendError)

${files.copyFile(execution, fileId, "variable_Id", true)}

Copie un fichier existant et rempli une variable abec le nouvel id du fichier ainsi copié. La méthode renvoie également l’ID du nouveau fichier. Le boolean sendError permet d’envoyer une erreur si l’id du fichier à copier est null, si le fichier n’existe pas ou si il y a eu un problème durant la copie. Si le boolean est à false, aucune erreur ne sera renvoyé et le processus continuera son cours.

Parameters :

  • execution
  • idFileSource : l’id du fichier copier
  • idVariableTarget : l’id de la variable recevant le nouveau fichier. Laisser entre ” cet id
  • sendError : boolean pour envoyer une erreur ou non

Retourne : l’id du nouveau fichier

getFileBase64(String idFileSource)

${files.getFileBase64(fileId)}

Retourne un texte représentant le fichier encodé en base 64. Renvoie null si une erreur survient ou si le fichier n’existe pas.

Parameters :

  • execution
  • idFileSource : l’id fichier à convertir en Base64

Retourne : un texte encodé en base 64

createFileFromBase64(execution, String fileName, String base64Stream)

${files.createFileFromBase64(execution, "my_file.png", base64source)}

Créé un fichier dans le processus depuis un texte d’un fichier encodé en base 64 et renvoie son ID créé.

Parameters :

  • execution
  • fileName : le nom du fichier à copier
  • base64Stream : la source en Base64 à convertir
  • Retourne : l’id du nouveau fichier

createFileFromBase64(execution, String fileName, String base64Stream, Boolean sendError)

${files.createFileFromBase64(execution, "my_file.png", base64source, true)}

Créé un fichier dans le processus depuis un texte d’un fichier encodé en base 64 et renvoie son ID avec la possibilité de générer une erreur en cas de problème de conversion.

Parameters :

  • execution
  • fileName : le nom du fichier à copier
  • base64Stream : la source en Base64 à convertir
  • sendError : boolean pour envoyer une erreur ou non

Retourne : l’id du nouveau fichier

Gestion des listes (list)

Sélecteur : list

Méthode Juel concernant le bean list : elle inclut des méthodes de récupération d’éléments d’après des tables de dépendance et des listes dynamiques.

Comment connaître l’id d’une table de dépendance (listLinkId) ?

Depuis l’interface de gestion des tables de dépendance, les IDs sont visibles dans la liste déroulante :

getLinkedValues(Integer listLinkId, String source, String separator, Boolean isIntersection);

${list.getLinkedValues(12, multi_select_variable_id, ";", false)}
${list.getLinkedValues(12, "value1##value2##value3", null, false)}

Récupère les valeurs liées par une table de dépendance à une ou plusieurs données sources. La donnée source doit être un String dont les valeurs sont séparés par le séparateur système d’Iterop, à savoir ##. La méthode retourne un String concaténant les valeurs des éléments dépendants des éléments source, séparées par un separator renseigné, ou le séparateur système ## si celui ci n’est pas spécifié.
La méthode fait une union ou une intersection des données dépendantes en fonction du boolean passé en paramètre.
Pour connaître l’id d’une table de dépendance (listLinkId), voir ci-après.

Exemple : A est lié à 1 et 2, et B est lié à 2 et 3. Si on renseigne source = A##B.
Si isIntersection = true, résultat = 2 (intersection)
Si isIntersection = false, résultat = 1##2##3 (union)

Parameters :

  • listLinkId – l’iD de la table de dépendance
  • source – des valeurs source fixes entre ” ” ou une variable id pour laisser le système récupérer la valeur
  • separator – le séparateur choisi pour séparer les valeurs finales. Si null, c’est le séparateur système
  • isIntersection – mettre true pour une intersection / false pour une union des données

Returns : un String concaténant toutes les données retrouvées

getLinkedValues(Integer listLinkId, String source)

${list.getLinkedValues(12, multi_select_variable_id)}

Même méthode que #getLinkedValues. Le séparateur par défaut est celui du système (##) et la méthode de recoupement est Union.

getLinkedValues(Integer listLinkId, String source, String separator)

${list.getLinkedValues(12, multi_select_variable_id, ";")}

Même méthode que #getLinkedValues. La méthode de recoupement par défaut est l’Union.

addElements(Integer listDefinitionId, String… elements)

${list.addElements(2, multi_select_variable_id)} 
${list.addElements(2, "pomme", "poire", "banane")}

Ajoute des nouvelles valeurs dans une liste liée (ou liste dynamique). Si ces valeurs existent déja, celles-ci ne seront pas ajoutés, si non, elles seront ajoutées à la fin de la liste.

Il est possible de mettre des valeurs provenant de multi-sélection (e.g valeurs séparés par des ##), des valeurs provenant de variables simple, ou de valeurs fixes (dans ce cas, entourés par des “).

Tout peut être mélangé, il suffit de séparer chaque valeur par une ,. La list definition id est trouvable depuis le tableau des listes de valeurs, depuis IteropDesign, sur la gauche, entre parenthèse après le nom de celle ci.

Parameters:

  • listDefinitionId – l’iD de la liste de valeurs
  • elements – les éléments à ajouter. Peut être fixe ou variable

deleteElements(Integer listDefinitionId, String… elements)

${list.deleteElements(2, multi_select_variable_id)} 
 ${list.deleteElements(2, "pomme", "poire", "banane")}

Même méthode et mêmes caractéristiques que la méthode #addElements(Integer, String…), mais cette fois, on supprime les éléments dans la liste.

getElements(Integer listId, String separator)

${list.getElements(3, ";")}

Récupère l’ensemble des éléments d’une liste dynamique dans le format “chaîne de caractères” séparés par un separator passé en paramètre. Ci celui ci n’est pas spécifié, ce sera alors le séparateur système ## qui sera utilisé.

Parameters:

  • listId – l’ID de la liste dynamique. Cette information peut être trouvée depuis l’onglet “Liste liées”
  • separator – le séparateur entre les valeurs de la liste

Returns: un String avec les éléments séparés par un séparateur. Ex : Pomme##Poire##Orange

getElements(Integer listId)

${list.getElements(3)}

Même méthode que getElements(Integer listId, String separator) mais avec le séparateur système utilisé par défaut, à savoir ##.

linkTwoElements(Integer listLinkId, String source, String target)

${list.linkTwoElements(12, "user_login", variable_id)} 
${list.linkTwoElements(15, variable_id, variable_id2}

Lie deux éléments dans une table de dépendance donnée. Les deux éléments doivent correspondre au type de la table de dépendance (un login si la table de dépendance lie un utilisateur, par exemple).

Si la source ou la target n’existe pas, une erreur sera renvoyée. Si les éléments sont déja liées et qu’on tente de re-créer ce lien, aucune erreur ne sera envoyée.

Pour connaître l’id d’une table de dépendance (listLinkId), voir dans l’onglet table de dépendance, dans la liste déroulante.

Parameters:

  • listLinkId – l’id de la table de dépendance
  • source – l’objet source (login utilisateur, group id, ou valeur de liste)
  • target – l’objet cible (idem que pour la source)

removeLinkTwoElements(Integer listLinkId, String source, String target)

${list.removeLinkTwoElements(12, "user_login", variable_id)} 
${list.removeLinkTwoElements(12, variable_id, variable_id2}

Supprime un lien entre deux éléments dans une table de dépendance donnée. Les deux éléments doivent correspondre au type de la table de dépendance (un login si la table de dépendance lie un utilisateur, par exemple).

Si la source ou la target n’existe pas, une erreur sera renvoyée. Si les éléments ne sont plus liées et qu’on tente de re-supprimer ce lien, aucune erreur ne sera envoyée.

Pour connaître l’id d’une table de dépendance (listLinkId), voir dans l’onglet table de dépendance, dans la liste déroulante.

Parameters:

  • listLinkId – l’id de la table de dépendance
  • source – l’objet source (login utilisateur, group id, ou valeur de liste)
  • target – l’objet cible (idem que pour la source)

linkElements(Integer listLinkId, Boolean updateAll, String json)

${list.linkElements(12, true, "[ { 'source':'val1','target' : 'valA'} , { 'source':'val1','target' : 'valA'} ]"}
${list.linkElements(12, true, "[ { 'source':'login','target' : 'valA'} , { 'source':'login2','target' : 'valB'} ]"}

Remplit une table de dépendance en se basant sur un json. Si la valeur updateAll est renseignée à true, l’ensemble des liens déjà présents dans la table qui ne se retrouvent pas dans le json seront supprimés.
Si un des éléments du json n’est pas présent dans les listes le script se mettra en erreur

Parameters:

  • listLinkId – l’id de la table de dépendance
  • updateAll– true si on veut supprimer les anciennes valeurs
  • json – Les données à renseigner en json

linkElements(Integer listLinkId, Boolean updateAll, String json, Boolean addUnknownElement)

${list.linkElements(12, true, "[ { 'source':'val1','target' : 'valA'} , { 'source':'nouvelle valeur','target' : 'valA'} ]",true}
${list.linkElements(12, true, "[ { 'source':'login','target' : 'valA'} , { 'source':'login2','target' : 'valB'} ]",false}

Voir la méthode linkElements
Si le boolean addUnknownElement est true, les éléments de listes qui ne sont pas présents dans les listes en questions seront ajoutés avant d’être liés. Cependant aucun utilisateur ni groupe ne peut être créé par cette méthode : une erreur sera envoyée si le json contient un id de groupe ou d’utilisateur inconnu du système

Parameters:

  • listLinkId – l’id de la table de dépendance
  • updateAll– true si on veut supprimer les anciennes valeurs
  • json – Les données à renseigner en json
  • addUnknownElement – ajoute les éléments non présents

Données de l’historique (history)

Sélecteur : history

Méthodes Juel concernant le bean HistoryBean: utilisées pour récupérer des informations sur les données des tâches réalisées, des variables saisies dans l’application, …

getHistoryReportActivities(execution, Boolean boolean_displayVariables, Boolean boolean_isHtml)

${history.getHistoryReportActivities(execution, true, true)}

Retourne un rapport sur l’historique du processus (Date de démarrage du processus et des tâches, etc).

Parameters:

  • execution : laisser tel quel
  • boolean_displayVariables : si “true”, les variables des tâches et leurs valeurs seront dans le rapport.
  • boolean_isHtml : Si “true”, le rapport sera en HTML (stylisé)

Returns: Une chaine de caractère

getHistoryValuesHtml(String variable_id, execution)

${history.getHistoryValuesHtml("variable_id", execution)}

Retourne un rapport (en HTML) sur l’historique de la variable dont l’ID a été donné en argument.

Parameters:

  • execution : laisser tel quel
  • variable_id : l’id de la variable dont on veut faire le rapport

Returns: Une chaine de caractère

getHistoryValues(String variable_id, execution)

${history.getHistoryValuesHtml("variable_id", execution)}

Retourne un rapport (en texte brut) sur l’historique de la variable dont l’ID a été donné en argument.

Parameters:

  • execution : laisser tel quel
  • variable_id : l’id de la variable dont on veut faire le rapport

Returns: Une chaine de caractère

getCompletedActivityNumber(execution, String activityDefinitionKey)

${history.getCompletedActivityNumber(execution, "activity_key")}

Retourne le nombre d’activité qui ont déja été terminés et qui ont pour clé l’activity Key passé en paramètre.

Parameters:

  • execution : laisser tel quel
  • activityDefinitionKey : l’id de l’activité

Returns: un nombre format Long

isActivityFinished(execution, String activityDefinitionKey)

${history.isActivityFinished(execution, "activity_key")}

Retourne vrai si l’activité précisé a déjà été terminé au moins une fois.

Parameters:

  • execution : laisser tel quel
  • activityDefinitionKey : l’id de l’activité

Returns: un boolean

getTaskEndDate(execution, String activityDefinitionKey)

${history.getTaskEndDate(execution, "activityKey")}

Retourne la date de réalisation d’une tâche spécifiée. Voir getEndDateTask(DelegateExecution, String, Boolean).

getTaskEndDate(execution, String activityDefinitionKey, Boolean findFirstTaskOccurence)

${history.getTaskEndDate(execution, "activityKey", false)} 

Retourne la date de réalisation d’une tâche spécifiée.

Si la tâche a été réalisée plusieurs fois (dans le cas d’une boucle), c’est le boolean findFirstTaskOccurence qui indiquera si il faut prendre la première ou la dernière.

  • Si findFirstTaskOccurence == true, alors, ce sera la première tâche de la boucle qui sera prise en compte.
  • Si findFirstTaskOccurence == false, ce sera la dernière tâche dans la boucle.
  • Si findFirstTaskOccurence n’est pas renseignée, ce sera la dernière tâche dans la boucle.

Parameters:

  • execution : laisser tel quel
  • activityDefinitionKey : l’id de l’activité
  • firstTaskOccurence : un boolean pour récupérer la première ou dernière tâche d’une boucle

Returns: une date

getTaskStartDate(execution, String activityDefinitionKey)

${history.getTaskStartDate(execution, "activityKey")}

Retourne la date de démarrage d’une tâche spécifiée. Voir getStartDateTask(DelegateExecution, String, Boolean).

getTaskStartDate(execution, String activityDefinitionKey, Boolean findFirstTaskOccurence)

${history.getTaskStartDate(execution, "activityKey", false)}

Retourne la date de démarrage d’une tâche spécifiée.

Si la tâche a été réalisée plusieurs fois (dans le cas d’une boucle), c’est le boolean findFirstTaskOccurence qui indiquera si il faut prendre la première ou la dernière.

  • Si findFirstTaskOccurence == true, alors, ce sera la première tâche de la boucle qui sera prise en compte.
  • Si findFirstTaskOccurence == false, ce sera la dernière tâche dans la boucle.
  • Si findFirstTaskOccurence n’est pas renseignée, ce sera la dernière tâche dans la boucle.

Parameters:

  • execution : laisser tel quel
  • activityDefinitionKey : l’id de l’activité
  • firstTaskOccurence : un boolean pour récupérer la première ou dernière tâche d’une boucle

Returns: une date

getTaskActor(execution, String activityDefinitionKey)

${history.getTaskActor(execution, "activityKey")}

Retourne l’acteur d’une tâche spécifiée. Voir getActorTask(DelegateExecution, String, Boolean).

getTaskActor(execution, String activityDefinitionKey, Boolean findFirstTaskOccurence)

${history.getTaskActor(execution, "activityKey", false)} 

Retourne l’acteur d’une tâche spécifiée.

Si la tâche a été réalisée plusieurs fois (dans le cas d’une boucle), c’est le boolean findFirstTaskOccurence qui indiquera si il faut prendre la première ou la dernière.

  • Si findFirstTaskOccurence == true, alors, ce sera la première tâche de la boucle qui sera prise en compte.
  • Si findFirstTaskOccurence == false, ce sera la dernière tâche dans la boucle.
  • Si findFirstTaskOccurence n’est pas renseignée, ce sera la dernière tâche dans la boucle.

Parameters:

  • execution : laisser tel quel
  • activityDefinitionKey : l’id de l’activité
  • firstTaskOccurence : un boolean pour récupérer la première ou dernière tâche d’une boucle

Returns: le login de l’acteur

Informations affectations (en cours de rédaction)

Informations utilisateurs (en cours de rédaction)

Méthodes d’exécution (execution)

Sélecteur : runtime

Méthodes Juel concernant le bean RuntimeBean : utilisées pour récupérer des informations sur l’exécution d’un processus, d’une tâche…

getCurrentTaskId(execution, String definitionKeyTask)

${runtime.getCurrentTaskId(execution, "sid45654540840984")};

Retourne l’id de l’instance d’une ou des tâches en cours qui ont pour definition-key la clé passé en paramètre, et appartenant à la même instance que le script JUEL.

Dans le cas ou plusieurs tâches de même definition-key sont en cours, les ids seront renvoyés séparés par une “,” (ex : “12455,13001,13250”)

Parameters :

  • execution: laisser execution tel quel dans le JUEL
  • definitionKeyTask : la definition-key de la tâche recherchée. L’entourer de double quotes (“). Cette donnée peut être retrouvée dans le modeleur lorsqu’on clique sur tâche

getParentProcessVariable(execution, String variableId)

${runtime.getParentProcessVariable(execution, "variable_id")}

Récupère une valeur de variable provenant du processus parent.

Parameters:

  • execution – laisser tel quel
  • variableId – id de la varaible cherché à mettre entre “

Returns: la valeur de cette variable

setParentProcessVariable(execution, String variableId, Object value)

${runtime.setParentProcessVariable(execution, "variable_id", variable_value)}

Modifie la valeur d’une variable dans un processus parent.

Parameters:

  • execution – laisser tel quel
  • variableId – id de la varaible cherché à mettre entre “
  • value – la valeur en fixe ou provenant d’une donnée du processus enfant

getCurrentActivityNumber(execution, String activityDefinitionKey)

${runtime.getCurrentActivityNumber(execution, "activity_key")}

Retourne le nombre d’activité qui sont en cours et qui ont pour clé l’activityKey passé en paramètre.

Parameters:

  • execution : laisser tel quel
  • activityDefinitionKey : l’id de l’activité
  • Returns: le nombre d’activité en cours au format Long

isActivityCurrent(execution, String activityDefinitionKey)

${runtime.isActivityCurrent(execution, "activity_key")}

Retourne vrai si au moins l’activité précisé est en cours. Ex:

Parameters:

  • execution : laisser tel quel
  • activityDefinitionKey : l’id de l’activité

Returns: un boolean

getTaskPriority(execution, String definitionKeyTask)

${runtime.getTaskPriority(execution, "task_key")}

Récupère la valeur de la priorité de la tâche souhaitée.

Attention

Pour pouvoir appliquer cette méthode, il est nécessaire que la tâche passée en paramètre “existe”. C’est à dire qu’elle doit être en attente de traitement dans votre liste de tâches ou dans vos tâches de fond.

Parameters:

  • execution : laisser tel quel
  • definitionKeyTask : l’id de la tâche

Returns: la valeur de la priorité de la tâche

setTaskPriority(execution, String definitionKeyTask, Integer newPriority)

${runtime.setTaskPriority(execution, "task_key", newPriority)}

Modifie la valeur de la priorité de la tâche souhaitée.

Attention

Pour pouvoir appliquer cette méthode, il est nécessaire que la tâche passée en paramètre “existe”. C’est à dire qu’elle doit être en attente de traitement dans votre liste de tâches ou dans vos tâches de fond.

Parameters:

  • execution : laisser tel quel
  • definitionKeyTask : l’id de la tâche
  • newPriority : nouvelle valeur de la priorité souhaitée (0 à 5, 0 étant “Tâche de fond” – 4 et 5 étant “Urgent”)

setTaskPriority(execution, String definitionKeyTask, Integer newPriority, Boolean sendError)

${runtime.setTaskPriority(execution, "task_key", newPriority, true)}

Modifie la valeur de la priorité de la tâche souhaitée avec la gestion des erreurs.

Attention

Pour pouvoir appliquer cette méthode, il est nécessaire que la tâche passée en paramètre “existe”. C’est à dire qu’elle doit être en attente de traitement dans votre liste de tâches ou dans vos tâches de fond.

Parameters:

  • execution : laisser tel quel
  • definitionKeyTask : l’id de la tâche
  • newPriority : nouvelle valeur de la priorité souhaitée (0 à 5, 0 étant “Tâche de fond” – 4 et 5 étant “Urgent”)
  • sendError : mettre “true” pour activer la gestion des erreurs

Méthodes utilitaires (utils)

Sélecteur : utils

Méthodes Juel concernant le bean JuelUtilsBean rassemblant les méthodes utilitaire telles que le formatage de date, le parsing de date, la conversion en multi-valeurs…

formatUniformDate(Object date)

${utils.formatUniformDate(variable_id)}

Formate une date selon un format uniforme. Cette date en chaîne de caractères pourra être utilisé pour la transmission dans les WebServices, ou dans l’utilisation des Timers.
Exemple, le 9 juin 2019, à 17h21 en France, voici le résultat formatté selon le standart : 2017-06-09T15:21+0000.

Voici le formater utilisé : “yyyy-MM-dd’T’HH:mmZ”

Parameters:

  • date – une donnée au format date ou au format string. Possible de mettre une variable_id sans guillemets pour envoyer directement une valeur de date

Returns: une chaîne de caractère de la date formaté

formatDate(String format, Object date)

${utils.formatDate("dd/MMM/yyyy HH:mm", variable_id)}

Formate une date passé en paramètre selon le format spécifié. Le type de format est celui utilisé dans le langage JAVA.

  • yyyy : l’année
  • MM : le mois
  • dd : le jour du mois
  • E : le jour de la semaine (Lundi, lun.)
  • w : semaine dans l’année
  • H : l’heure
  • m : les minutes
  • s : les secondes

Parameters:

  • format – le format utilisé pour formater la date
  • date – une donnée au format date ou au format string. Possible de mettre une variable_id sans guillemets pour envoyer directement une valeur de date

Returns : une chaîne de caractère de la date formaté

parseDate(String parserPattern, String date)

${utils.parseDate("dd/MMM/yyyy HH:mm", variable_id)}

Parse une date (au format chaîne de caractères) selon un parser spécifié. Le format de parser est le même que la fonction #formatDate(String format, Object date).

Parameters:

  • parserPattern – le parser
  • date – la date au format chaîne de caractères .Possible de mettre une variable_id sans guillemets pour envoyer directement une valeur de date

Returns: une Date

parseDateXml(String dateXml)

${utils.parseDateXml(variable_id)}

Parse une date de type Xml (ISO8601) passé en paramètre.

Parameters:

  • dateXml – la date au format ISO8601

Returns: une variable de type date

uniformMultiValues(String expression, String separator)

${utils.uniformMultiValues(variable_id, ";")}

Uniformise une expression contenant plusieurs valeurs séparés par un séparateur passé en paramètre, pour la rendre compatible avec les valeurs de l’application de type MultiSelect. Le séparateur sera alors remplacé en ##.

Parameters:

  • expression – expression à convertir
  • separator – le separator utilisé dans l’expression passé en paramètre

Returns: une chaîne de caractère dans le bon format d’Iterop

now()

${utils.now()}

Renvoie la date d’aujourd’hui.

Returns: la date

Supervision dynamique

Sélecteur : roles

Il est possible d’ajouter des superviseurs/contrôleurs pour une instance précise pendant l’exécution d’un processus, au moyen d’une tâche de script.

La tâche de script devra être configurée en JUEL et pourra récupérer la valeur d’une variable de type groupe, utilisateur ou multi-utilisateurs.

addSupervisorUsers(String user_variable_id, execution)

${roles.addSupervisorUsers(user_variable_id, execution)}

Ajouter un ou plusieurs utilisateurs superviseurs dynamiques.
Pour pouvoir ajouter plusieurs utilisateurs, il suffit de mettre l’id d’une variable “multi-user” plutôt que celle d’un user.

Parameters:

  • user_variable_id – l’id de l’utilisateur (ou multi-user)
  • execution – laisser tel quel

addSupervisorGroups(String group_variable_id, execution)

${roles.addSupervisorGroups(group_variable_id, execution)}

Ajouter un ou plusieurs groupes superviseurs dynamiques.
Pour pouvoir ajouter plusieurs groupes, il suffit de mettre l’id d’une variable “multi-group” plutôt que celle d’un groupe.

Parameters:

  • group_variable_id – l’id du groupe (ou multi-group)
  • execution – laisser tel quel

addLimitedSupervisorUsers(String user_variable_id, execution)

${roles.addLimitedSupervisorUsers(user_variable_id, execution)}

Ajouter un ou plusieurs utilisateurs superviseurs limités dynamiques.
L’aspect limité implique que l’utilisateur pourra accéder au suivi mais n’accédera pas aux variables et à leurs valeurs.
Pour pouvoir ajouter plusieurs utilisateurs, il suffit de mettre l’id d’une variable “multi-user” plutôt que celle d’un user.

Parameters:

  • user_variable_id – l’id de l’utilisateur (ou multi-user)
  • execution – laisser tel quel

addLimitedSupervisorGroups(String group_variable_id, execution)

${roles.addLimitedSupervisorGroups(group_variable_id, execution)}

Ajouter un ou plusieurs groupes superviseurs limités dynamiques.
L’aspect limité implique que le groupe pourra avoir accès au suivi mais n’accédera pas aux variables et à leurs valeurs.
Pour pouvoir ajouter plusieurs groupes, il suffit de mettre l’id d’une variable “multi-group” plutôt que celle d’un groupe.

Parameters:

  • group_variable_id – l’id du groupe (ou multi-group)
  • execution – laisser tel quel

updateSupervisorUsers(String user_variable_id, execution)

${roles.updateSupervisorUsers(user_variable_id, execution)}

Mettre à jour les utilisateurs superviseurs dynamiques.
Pour pouvoir ajouter plusieurs utilisateurs, il suffit de mettre l’id d’une variable “multi-user” plutôt que celle d’un user.

Lors de l’update, une variable multi-user est envoyée avec dedans “User A”, “User B” et “User C” :

  • Si l’un des trois users cités est déjà superviseur, rien ne change
  • Si l’un des trois users n’est pas déjà superviseur, il le devient
  • Si “User D” (qui n’est pas dans la multi-user envoyée par la méthode) était superviseur, il ne le sera plus

Parameters:

  • user_variable_id – l’id de l’utilisateur (ou multi-user)
  • execution – laisser tel quel

updateSupervisorGroups(String group_variable_id, execution)

${roles.updateSupervisorGroups(group_variable_id, execution)}

Mettre à jour les groupes superviseurs dynamiques.
Pour pouvoir ajouter plusieurs groupes, il suffit de mettre l’id d’une variable “multi-group” plutôt que celle d’un groupe.

Lors de l’update, une variable multi-group est envoyée avec dedans “Group A”, “Group B” et “Group C” :

  • Si l’un des trois groupes cités est déjà superviseur, rien ne change
  • Si l’un des trois groupes n’est pas déjà superviseur, il le devient
  • Si “Group D” (qui n’est pas dans la multi-group envoyée par la méthode) était superviseur, il ne le sera plus

Parameters:

  • group_variable_id – l’id du groupe (ou multi-group)
  • execution – laisser tel quel

removeSupervisorUsers(String user_variable_id, execution)

${roles.removeSupervisorUsers(user_variable_id, execution)}

Supprimer un ou plusieurs utilisateurs superviseurs dynamiques.
Pour pouvoir supprimer plusieurs utilisateurs, il suffit de mettre l’id d’une variable “multi-user” plutôt que celle d’un user.

Parameters:

  • user_variable_id – l’id de l’utilisateur (ou multi-user)
  • execution – laisser tel quel

removeSupervisorGroups(String group_variable_id, execution)

${roles.removeSupervisorGroups(group_variable_id, execution)}

Supprimer un ou plusieurs groupes superviseurs dynamiques.
Pour pouvoir supprimer plusieurs groupes, il suffit de mettre l’id d’une variable “multi-group” plutôt que celle d’un groupe.

Parameters:

  • user_variable_id – l’id du groupe (ou multi-group)
  • execution – laisser tel quel

Les fonction “updateSupervisorUsers” et “updateSupervisorGroups” permettent de mettre à jour directement tout les superviseurs depuis la valeur d’une variable passée en paramètre.

Référentiels métiers (businessTable)

Sélecteur : businessTable

Méthodes Juel concernant les référentiels métiers qui permettent de :
– Ajouter une/des ligne(s)
– Supprimer une/des ligne(s)
– Sélectionner des données ou des référentiels métiers
– Mettre à jour un référentiel

addBusinessTableRow(Integer businessTableId, String json)

${businessTable.addBusinessTableRow(businessTable_id, '{"columnId":"value","columnId2":"value2"}')}

Ajoute une ligne à un référentiel métier.

Parameters:

  • businessTableId – l’id du référentiel métier
  • json – un json de la forme :
    '{"column_key" : "valueColumn1", "clomn_key2" : "valueColumn2"}'
    Exemple :
    '{"f1_nom" : "Damien", "f2_age" : 8}'
    ou ‘{"f1_nom" : "' + prenom_utilisateur_id + '", "f2_age" : age_utilisateur_id}'
    Les colonnes qui ne sont pas citées dans le JSON sont laissées vides.

Returns: “true” si l’opération est réussie

addBusinessTableRows(Integer businessTableId, String json)

${businessTable.addBusinessTableRows(businessTable_id, '[{"columnId":"value","columnId2":"value2"}, ...]')}

Ajoute plusieurs lignes à un référentiel métier.

Parameters:

  • businessTableId – l’id du référentiel métier
  • json – une liste de json de la forme : 
    '[{"column_key" : "valueColumn1", "clomn_key2" : "valueColumn2"}, ...]'
    Exemple :
    '[{"f1_nom" : "Damien", "f2_age" : 8},{"f1_nom" : "Glu", "f2_age" : 2}, ...]'
    ou '[{"f1_nom" : "' + utilisateur1_id + '", "f2_age" : "' + age_utilisateur1_id + '"},{"f1_nom" : "' + utilisateur2_id + '", "f2_age" : "' + age_utilisateur2_id + '"}, ...] '
    Les colonnes qui ne sont pas citées dans le JSON sont laissées vides.

Returns: “true” si l’opération est réussie

deleteBusinessTableRows(Integer businessTableId, String json)

${businessTable.deleteBusinessTableRows(businessTable_id,
'[{"columnId":"value","columnId2":"value2"}, …]'
)}

Supprime les lignes d’un référentiel qui répondent aux conditions définies par l’argument “json”.

Parameters:

  • businessTableId – l’id du référentiel métier
  • json – une liste de sélecteurs json de la forme :
    '[{"column_key" : "value1", "column_key2" : "value2"},{"column_key" : "value3"}, ...]'
    Les conditions dans le même sélecteur JSON représentent des intersections “ET logique”, tandis que plusieurs conditions réparties sur plusieurs JSON représenteront une union “OU logique”.
    Exemple :
    '[{"f1_race" : "chat", "f2_color" : "bleu"},{"f1_race" : "chien"}]'
    ou '[{"f1_race" : "' + race1_id + '", "f2_color" : "' + color_id + '"},{"f1_race" : "' + race2_id + '"}]'
    supprimera l’ensemble des chats bleus ainsi que l’ensemble des chiens.

Returns: le nombre de lignes supprimées

deleteAllRows(Integer businessTableId)

${businessTable.deleteAllRows(businessTable_id)}

Vide un référentiel métier.

Parameters:

  • businessTableId – l’id du référentiel métier

Returns: “true” si le référentiel s’est bien vidé

updateBusinessTableRows(Integer businessTableId, String jsonSelector, String jsonNewValues)

${businessTable.updateBusinessTableRows(businessTable_id,
'[{"columnId":"value","columnId2":"value2"}, …]', '{"columnIdToChange":"newValue",
"columnId2ToChange":"newValue2"}')}

Mise à jour d’un référentiel : Les entrées qui répondent à la condition définie par l’argument “jsonSelecteur” seront mises à jour en fonction de l’argument jsonNewValues.

Parameters:

  • businessTableId – l’id du référentiel métier
  • jsonSelector – une liste de sélecteurs json de la forme :
    '[{"column_key" : "value1", "clomn_key2" : "value2"},{"column_key" : "value3"}, ...]'
    Les conditions dans le même sélecteur JSON représentent des intersections “ET logique”, tandis que plusieurs conditions réparties sur plusieurs JSON représenteront une union “OU logique”.
    Exemple :
    '[{"f1_race" : "chat", "f2_color" : "bleu"}, {"f1_race" : "chien"}]'
    ou '[{"f1_race" : "' + race1_id + '" , "f2_color" : "' + couleur_id + '"}, {"f1_race" : "' + race2_id + '"}]'
    renverra l’ensemble des chats bleus ainsi que l’ensemble des chiens.
  • jsonNewValues – un JSON de la forme :
    '{"column_key_to_modify" : "newValue", "column_key_to_modify_2" : "newValue2", ...}'
    Exemple :
    '{"f1_race" : "' + js_newRace + '", "f2_color" : "' + js_newRace2 + '", ...}'

Returns: le nombre de lignes du référentiel mises à jour

getBusinessTableRows(Integer businessTableId, String jsonSelector, String jsonColumnsToRetrieve)

${businessTable.getBusinessTableRows(businessTableId,
'[{"columnId":"value","columnId2":"value2"}, …]',
'["columnId","columnId2", …]')}

Sélectionne l’ensemble des entrées d’un réferentiel qui répondent à la condition définie par le JSON (jsonSelector), ne retournant que les colonnes précisées en argument (jsonColumnsToRetrieve).

Parameters:

  • businessTableId – l’id du référentiel métier
  • jsonSelector – une liste de sélecteurs JSON de la forme :
    '[{"column_key" : "value1", "clomn_key2" : "value2"},
    {"column_key" : "value3"}, ...]'

    Les conditions dans le même sélecteur JSON représentent des intersections “ET logique”, tandis que plusieurs conditions réparties sur plusieurs JSON représenteront une union “OU logique”.
    Exemple :
    '[{"f1_race" : "chat", "f2_color" : "bleu"}, {"f1_race" : "chien"}]'
    ou '[{"f1_race" : "' + js_race1 + '", "f2_color" : "' + js_couleur + '"}, {"f1_race" : "' + js_race2 + '"}]'
    renverra l’ensemble des chats bleus ainsi que l’ensemble des chiens.
  • jsonColumnsToRetrieve – liste des clés de colonnes que vous souhaitez récupérer, de la forme :
    '["column_key", "clomn_key2", ... ]'
    Exemple :
    '["f1_race", "f2_color", ... ]'

Returns: une liste JSON contenant les valeurs sélectionnées, de la forme :
[{"column_key" : "value1", "clomn_key2" : "value2 }, ... ]

getBusinessTable (Integer businessTableId)

${businessTable.getBusinessTable(businessTable_id)}

Sélectionne l’ensemble des entrées d’un réferentiel qui répondent à la condition définie par le JSON en argument.

Parameters:

  • businessTableId – l’id du référentiel métier

Returns: une liste JSON contenant les valeurs du réferentiel, de la forme : [{"column_key" : "value1", "clomn_key2" : "value2}, ... ]

getAllColumnsBusinessTable(Integer businessTableId, String json)

${businessTable.getAllColumnsBusinessTable(businessTable_id,
'[{"columnId":"value","columnId2":"value2"}, …]')}

Sélectionne l’ensemble des entrées d’un référentiels qui répondent à la condition définie par le JSON en argument.

Parameters:

  • businessTableId – l’id du référentiel métier
  • json – une liste de sélecteurs JSON, de la forme :
    '[{"column_key" : "value1", "clomn_key2" : "value2"},
    {"column_key" : "value3"}, ...]'

    Les conditions dans le même sélecteur JSON représentent des intersections “ET logique”, tandis que plusieurs conditions réparties sur plusieurs JSON représenteront une union “OU logique”.
    Exemple :
    '[{"f1_race" : "chat", "f2_color" : "bleu" }, {"f1_race" : "chien"}]'
    ou '[{"f1_race" : "' + js_race1 + '", "f2_color" : "' + js_color + '" }, {"f1_race" : "' + js_race2 + '"}]'
    renverra l’ensemble des chats bleus ainsi que l’ensemble des chiens.

Returns: une liste JSON contenant les valeurs sélectionnées, de la forme :
[{"column_key" : "value1", "clomn_key2" : "value2 }, ... ]

getBusinessTableDefinition(Integer businessTableId, String jsonSelector,
String jsonColumnsToRetrieve)

${businessTable.getBusinessTableDefinition(businessTable_id)}

Récupère la description de la structure d’un référentiel métier.

Parameters:

  • businessTableId – l’id du référentiel métier

Returns: un JSON décrivant la structure du référentiel

getAllBusinessTableDefinition()

${businessTable.getAllBusinessTableDefinition()}

Récupère l’ensemble des descripteurs des référentiels métiers présents dans l’application.

Returns: une liste de JSON décrivant les structures des référentiels métiers

removeColumnFromTable(Integer businessTable_id, String businessTable_column_id)

${businessTable.removeColumnFromTable(businessTable_id, businessTable_column_id)}

Supprime une colonne d’un référentiel métier.

Parameters:

  • businessTable_id – l’id du référentiel métier
  • businessTable_column_id – l’id de la colonne à supprimer

addColumnToTable(Integer businessTable_id, String columnType, String defaultValue, Boolean boolean_isIndex)

${addColumnToTable(businessTable_id, \"Nom de la colonne\", \"Type de la colonne (TEXT ou NUMBER ou BOOLEAN)\", \"Valeur par défaut\", boolean_isIndex)}

Ajouter une nouvelle colonne à un référentiel métier.

Parameters:

  • businessTable_id – l’id du référentiel métier
  • columnType – le type de colonne (Texte, numéro ou booléen)
  • defaultValue – la valeur par défaut (il est possible de mettre “null” si vous ne voulez pas de valeur par défaut)
  • boolean_isIndex – mettre “true” si vous voulez que la colonne soit indexée. Celle permet de pouvoir faire des recherches plus rapides dessus.

Updated on 5 septembre 2019

Was this article helpful?

Related Articles