Vous consultez une page technique concernant le logiciel de gestion Mercator. Celle-ci contient des informations spécifiques destinées aux professionnels de Mercator. Souhaitez-vous être redirigés vers des informations plus générales ?


   Ne plus poser cette question

Ecrans personnalisables : scripts

0000001929     -      30/06/2016

Généralités à propos des scripts

La notion de script étend la notion de formule de prix disponible via l'option "Outils / Paramètres / Prix". Les scripts sont donc disponibles pour l'ensemble des signalétiques. Les scripts par signalétique sont éditables via "Outils / Ecrans Signalétiques / ... / Scripts")

Par l'un de ces points de menu, vous pouvez définir des scripts (respectant la syntaxe C#) qui seront exécutés dès que le curseur quitte certaines zones du signalétique correspondant.
Pour chaque zone de l'écran, il sera possible de définir si le script doit être exécuté ou non lorsque le curseur quitte la zone. Ceci se fera via "Outils / Ecrans signalétiques / Paramétrage".

Exemple :

la formule qui, en version legacy, était :

m.s_prix_ti = m.s_prix_ht * (1+(m.s_taux_tva/100))

devient

s_prix_ti = s_prix_ht * (1+(s_taux_tva/100));

Note importante : Il n'est plus obligatoire de placer un espace devant et après le symbole = comme c'était le cas en version legacy.

Le bouton "Contrôler syntaxe" permet de vérifier la syntaxe du code introduit. S'il devait y avoir une erreur, une fenêtre reprenant l'entièreté du code s'ouvre automatiquement. Vous verrez ainsi le code nécessaire pour pouvoir exécuter le script. Celui-ci est scindé en trois parties :

  1. initialisation de toutes les variables correspondant aux champs de la table;
  2. la formule introduite dans le script (située entre les lignes "//Begin of Script" et "//End of Script");
  3. initialisation des champs de la table avec les valeurs contenues dans les variables qui ont été modifiées.

Dans l'entête de cette fenêtre sont affichées les informations concernant l'erreur rencontrée à la compilation.
Exemple : Fatal : ; attendu (line 235)

Le script ne pourra être sauvé que si la syntaxe est correcte.

attention L'initialisation des variables avec tous les champs de la table (point 1 ci-dessus) ainsi que l'initialisation des champs à partir des variables (point 3 ci-dessus) se font au moment de la compilation (qui est ré-exécutée à la sauvegarde du script).
Si, par la suite, des suppressions de champs sont opérées dans le signalétique concerné, il faut absolument repasser par les scripts, y provoquer une modification et les revalider. Ils seront de la sorte recompilés en tenant compte de la structure actuelle de la DB.

Exemples

Cette fonctionnalité s'élargit à l'ensemble des signalétiques et est accessible via "Outils / Ecrans signalétiques / Scripts".
Pour pouvoir en disposer (et donc définir les scripts), il suffit de créer la variable suivante dans le signalétique correspondant :

  • CLI : C_CALCUL C(10)
  • FOU : F_CALCUL C(10)
  • PROJ : P_CALCUL C(10)
  • DEST : D_CALCUL C(10)
  • XLEAD : X_CALCUL C(10)
  • EMB : E_CALCUL C(10)
  • ...

Ensuite, dans le signalétique, il suffit d'ajouter

  1. une combobox dont la source est le champ x_CALCUL (où x représente la lettre du signalétique)
  2. un contrôle de type Object dont la propriété ObjectType est initialisée à ScriptCalculator

 


Info technique

Les scripts (assemblies compilés) sont sauvés dans la table Assemblies.


Mots clés : formules; recalcul; prix; la colonne xxx n'appartient pas à la table Table