AXOPEN

Scripting OJS : les méthodes du type « CallXXXXformula() »

Introduction

Les méthodes du type « Call<type>formula() » sont utilisées pour exécuter des formules OPX2 directement dans le code OJS. Le nom de chacune de ces méthodes indique quel type de formule elle permet d’évaluer (boolean, string, number, duration, date).

Les méthodes sont donc les suivantes :

Méthode Type de formule attendue
Callbooleanformula() Boolean
Calldateformula() Date
Calldurationformula() Duration
Callnumberformula() Number
Callstringformula() String

 

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 :

Utilisation de la méthode « Calldateformula »

 

Ici on cherche à afficher la variable globale « DATE_COURANTE » qui de type « date ».


Arguments de la méthode

my_object.Call<type>formula(FORMULA)

Avec :

Argument Type Description Obligatoire
FORMULA String Formule (ou variable globale) à évaluer oui

 

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

Utilisation de la méthode « Callstringformula »


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 « \ ».