Aller directement à la fin des métadonnées
Aller au début des métadonnées

Vous regardez une version antérieure (v. /wiki/spaces/UDI107/pages/10510893195/Code+traitement+et+langage+de+routine) de cette page.

afficher les différences afficher l'historique de la page

« Afficher la version précédente Vous regardez la version actuelle de cette page. (v. 3) afficher la version suivante »

Les routines de traitement permettent de réaliser des traitements particuliers via une syntaxe reconnue dans Divalto, en utilisant un langage adapté à l'écriture de routines.
Une routine peut être une simple affectation/lecture de donnée, une écriture plus avancée avec des conditions, ou un algorithme un peu plus complexe qui va permettre une mise à jour de donnée selon différents critères.

La routine du code traitement sera appelée avant ou après chaque saisie de ligne dans le formulaire.

- En mode réel, la sauvegarde des enregistrements est fait en temps réel lors de l’exécution de la routine. On ne pourra donc pas revenir en arrière sur un code traitement qui à créé ou modifié des données.
- Le mode simulation permet de se projeter et de vérifier une routine sans réaliser les créations ou mises à jours de données, cependant ce mode ne permet pas de valider une succession d’étapes qui dépendent de la sauvegarde effective des données. Afin de valider proprement l’enchaînement des routines et la cohérence du résultat obtenu, il est bien évidemment recommandé de monter vos jeux d’essais sur des environnement de TEST.

Génération des code traitement dans les implicites

Un code traitement va être converti en un “objet” utilisable dans l’ERP de la même manière que les objets livrés avec l’ERP lors de son installation. Il est donc indispensable que ces objets soient placés dans un endroit connu de l’ERP.

On utilise a cette fin les chemins implicites de l’ERP afin d’y avoir un dossier de travail pour le configurateur. Par défaut, ce dossier de travail est nomme ‘CFG’ et placé sous le dossier ‘FICHIERS’

Ce dossier de travail doit donc apparaître dans les chemins implicites ainsi que dans le code chemin de la fiche ‘Dossier communs’ dans l’onglet configurateur.

Il va servir lors de la génération des objets, puis lors de l’appel des routines lors des traitements du configurateur.

Traitement avant / Traitement après

Dans la définition des attributs de l’article configurateur, les champs Traitement avant et Traitement après peuvent contenir la dénomination de traitements à exécuter avant ou après la saisie de la valeur d'attribut associée.


Si nous reprenons l'exemple de la porte, on pourrait par exemple imaginer un Traitement avant qui se déclencherait juste avant saisie des attributs Hauteur, largeur et épaisseur et qui pourrait par exemple indiquer à l'utilisateur "Les dimensions doivent être saisies en cm".

Toujours dans l'exemple des attributs de hauteur, largeur et épaisseur de porte, on pourrait par exemple imaginer un Traitement après qui se déclencherait après saisie de la valeur de l'attribut largeur et qui pourrait par exemple indiquer à l'utilisateur:

  • S'il a saisi 70, 80 ou 90 en largeur, "porte à 1 vantail".

  • S'il a saisi 160 en largeur, "porte à 2 vantaux".

De façon plus complexe, on pourrait imaginer un attribut 1 qui correspondrait à une couleur, un attribut 2 qui correspondrait à une taille, et un attribut 3 qui correspondrait à un prix. Le Traitement avant Attribut 3 pourrait être un traitement qui lirait la matrice Couleur X Taille et qui garnirait automatiquement la valeur d'attribut 3.

Remarque : une matrice est forcément lue par un traitement avant ou après.

Table des codes traitement

L’utilisation de ces tables nécessite des connaissances en algorithmique.

La table des codes traitement est accessible par Commerce et logistique/ Fichiers/ Tables/ Tables liées au configurateur/ code traitement.

Les codes traitement correspondent à des fonctions qui reçoivent des données en entrée et retournent en sortie le résultat du traitement opéré par la fonction. Vous pouvez construire vos propres fonctions par appel à des routines préprogrammées que nous fournissons, l’utilisation de structures conditionnelles imbriquées (SI, SINON, FINSI), l’utilisation des opérateurs de calcul plus, moins, multiplier et diviser et l’affectation d’une valeur à une variable (= ).

Dans l’exemple simple ci-dessous, le traitement COMMUN_MAJ_ARTICLE fait appel à la routine préprogrammée et fournie ENREGISTRER_ARTICLE. Ce code traitement pourrait être spécifié dans le champ Traitement après de la définition d’attribut pour être exécuté après la saisie de la valeur de l’attribut.

Dans l’exemple plus complexe ci-après, le code FAUT_CALCUL_PUB illustre l’utilisation de la structure conditionnelle (SI, SINON, FINSI).

Table des codes variables

Qui dit algorithmique et utilisation de fonctions, dit utilisation de variables. Les variables sont définies dans la table Commerce et logistique/ Fichiers/ Tables/ Tables liées au configurateur/ code variable.
Une variable peut être de type numérique, alphanumérique, ou string (chaîne de caractères).

Analyser la fonction

Une fois que la fonction est écrite dans Commerce et logistique/ Fichiers/ Tables/ Tables liées au configurateur/ code traitement, le bouton Analyser va effectuer une analyse syntaxique du code. En cas d’erreurs, des messages correspondants sont restitués.

Important : L'utilisation de code Diva n’est pas autorisée. Seules les routines fournies et préprogrammées doivent être utilisées.

Générer l'éxécutable de la fonction

Une fois l’analyse de la fonction finalisée, le bouton Générer (dans Commerce et logistique/ Fichiers/ Tables/ Tables liées au configurateur/ code traitement ) permet la génération de la version exécutable de la fonction. Une fois cette étape passée sans erreurs, la fonction sera opérationnelle en exploitation.

Remarque : la génération est implicitement précédée par une phase d’analyse.

Liste des routines fournies

  • Aucune étiquette