Scripting OJS : les méthodes du type « CallXXXXformula() »
Par Thibault Gonin
Introduction
Les méthodes du type « Call
Les méthodes sont donc les suivantes :
Méthode |
Callbooleanformula() |
Calldateformula() |
Calldurationformula() |
Callnumberformula() |
Callstringformula() |
Contexte d’utilisation
Ces méthodes sont employées pour utiliser des formules OPX2 (ou des variables globales) dans du code OJS sans avoir à recoder le ces formules en OJS.
Elles s’appliquent sur les objets Planisware.
Par exemple :
Ici on cherche à afficher la variable globale « DATE_COURANTE » qui de type « date ».
**
**
Arguments de la méthode
my_object.Call
formula(FORMULA)
Avec :
Argument |
FORMULA |
Le principe est le même pour les 5 méthodes. La formule (ou la variable globale) appelée doit impérativement être du même type que celui de la méthode. Par exemple une formule de type « booléen » devra être appelée par la méthode « Callbooleanformula() ».
Si la formule n’est pas correcte la fonction renvoie une erreur.
Exemple d’utilisation
L’exemple suivant va utiliser la formule « FINSOUSCHAINE » (de type string) pour afficher les 8 dernières lettres d’une chaine de caractères.
var my_string = "Ma chaîne complète";
var formula = "FINSOUSCHAINE(\""+my_string+"\",8,0)";
alert(formula);
var name=context.callstringformula(formula);
alert(name);
**
**
Remarque importante :
On constate ici que la formule nommée que l’on va stocker dans la variable « formula » doit être une chaîne de caractères comprenant tous les caractères que l’on aurait entré dans Planisware pour définir un filtre par exemple (avec notamment les parenthèses, virgules et guillemets). Une mauvaise composition de la formule est LA principale erreur dans l’utilisation de ces méthodes. Car comme on le voit ici les guillemets doivent être protégés par des « \ ».
L'équipe AXOPEN