Aller au contenu

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

    Introduction

    Les méthodes du type « Callformula() » 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 :

    <td width= »165″>
    <strong>Type de formule attendue</strong>
    </td>

    <td>
    Boolean
    </td>

    <td>
    Date
    </td>

    <td>
    Duration
    </td>

    <td>
    Number
    </td>

    <td>
    String
    </td>

    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 :

    call date formula

    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.Callformula(FORMULA)

    Avec :

    <td >
    <strong>Type</strong>
    </td>

    <td >
    <strong>Description</strong>
    </td>

    <td >
    <strong>Obligatoire</strong>
    </td>

    <td >
    String
    </td>

    <td >
    Formule (ou variable globale) à évaluer
    </td>

    <td >
    oui
    </td>

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

    Evaluateur javascript fin sous chaine

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