Dans l’ERP, il existe la possibilité d’exécuter des actions à des moments précis lors d’une navigation dans l’ERP. Cela s’effectue à l’aide de fichiers texte avec « evt » comme extension, et des préfixes définis.
Ou se trouvent ces fichiers ?
Les évènements sont obligatoirement stockés dans le dossier "PARAMETRAGES\EVENEMENTS\TOUTESBASES". Ils sont ensuite classés par code application (exemple : « ARTICLE5 » pour l’application « Articles ».
Leur nombre n’est pas limité, mais un nombre important peut occasionner des ralentissements.
Remarque : Pour les évènements du menu de l’ERP, il faut créer un dossier « SILOG ». s’il n’existe pas
Comment nommer ces fichiers ?
Le nom du fichier est donc composé d’un préfixe, d’une partie descriptive puis de son extension.
Exemples :
TRCREATE-ControlesSaisie.evt.
Remarque : Si le préfixe déclenche plusieurs fichiers, l’ordonnancement suivra l’ordre alphabétique du nom de fichier.
Construction du nom du fichier :
Certains fichiers peuvent être construits suivant une règle suivante :
SEQUENCE + MODE + UNITE
SEQUENCE | MODE (Sauf CHECK) | CLES (pour CREAT) | UNITE | Avec Décalage | Description | EXEMPLE |
---|---|---|---|---|---|---|
AVANT | LECT CREAT MODIF SUPPR ANNUL | E OU C Entête ou Corps | “_” | “-” + Description Libre | AVANTLECTE-XXX.evt AVANTLECTC-XXX.evt | |
TM | CREAT MODIF SUPPR | CLES | E OU C Entête ou Corps | “_” | “-” + Description Libre | TMCREATCLESE-XXX.evt TMCREATCLESC-XXX.evt |
TR | CREAT MODIF SUPPR | E OU C Entête ou Corps | “_” | “-” + Description Libre | TRMODIFE-XXX.evt TRMODIFC-XXX.evt | |
APRES | LECT CREAT MODIF SUPPR ANNUL | E OU C Entête ou Corps | “_” | “-” + Description Libre | APRESSUPPRE-XXX.evt APRESSUPPRC-XXX.evt | |
CHECK | E OU C Entête ou Corps | “-” + Description Libre | CHECKE-XXX.evt CHECKC-XXX.evt |
Les séquences :
AVANT : se déclenche avant le lancement du mode, pour LECT c’est avant la recherche des informations, pour les autres, c’est au clic sur le bouton correspondant (création, modification, suppression ou annulation).
TM : se déclenche après le TR. et le traitement facultativement lancé automatiquement suite à une validation. Exemple : avant la liste des fournisseurs suite à la validation d’une création d’un article de nature « Acheté ».
Exemple : TMCREATE-XXX.evt
Remarque : on ne peut plus stopper la validation en générant une erreur (g_err%=1).
TR : se déclenche après le traitement potentiel lancé automatiquement suite à une validation. Exemple : avant la liste des fournisseurs suite à la validation d’une création d’un article de nature « Acheté ».
Exemple : TRCREATE_XXX.evt
Remarque : Il est possible de stopper la validation en générant une erreur (g_err%=1).
APRES : se déclenche après la validation/lecture.
Remarque : il n’est plus possible de stopper la validation.
CHECK : se déclenche après tabulation d’une zone de saisie
Exemple : Dans l’application “Clients”, le contenu du fichier ci-dessous teste la valeur du nom du client, pour interdire qu’il soit vide.
S’il est blanchi, alors il reprend sa valeur d’avant, c’est ce que contient la variable m_CLI.NomClient.
si la valeur d’avant est vide, alors la variable g_err% est alimentée avec la valeur 1 pour interdire la validation.
Les modes :
LECT : Lecture
CREAT : Création
MODIF : Modification
SUPPR : Suppression
ANNUL : Annulation
Remarque : Le mode n’est pas à préciser pour le CHECK
Les unités :
E : En-tête
C : Corps
Avec décalage
En ajoutant un « _ » à la fin du préfixe, on obtient un évènement qui se déclenche légèrement plus tard.
Les autres évènements
FIRSTPOINT : se déclenche à l’ouverture de l’application
LASTPOINT : se déclenche à la fermeture de l’application
DEBUTCORPS : se déclenche au passage dans le corps
FINCORPS : se déclenche au passage en en-tête
CANLOADAPPLICATION : pour bloquer le chargement d'une application. Il faut utiliser la variable "g_err%" pour indiquer à l'application si elle peut se charger ou non. Les variables g_mess1$ et g_mess2$ sont utilisés pour afficher un message.
Exemple de contenu du fichier :
Au chargement on obtient le message suivant :
CANQUITAPPLICATION : pour interdire de quitter une application. Il faut utiliser la variable "g_err%" pour indiquer à l'application si elle peut se fermer ou non. Les variables g_mess1$ et g_mess2$ sont utilisés pour afficher un message.
En quittant l’application on obtient le message suivant :
CanAlwaysCreate_E, CanAlwaysDuplicate_E, CanAlwaysModify_E et CanAlwaysDelete_E, CanAlwaysCreate_C, CanAlwaysDuplicate_C, CanAlwaysModify_C et CanAlwaysDelete_C : Ces évènements permettent respectivement de donner la possibilité de paramétrer ou non l'affichage des boutons "Création", "Duplication", "Modification" et "Suppression" pour les unités "Entête" (..._E) et/ou "Corps" (..._C). Ces évènements sont exécutés à l'ouverture de l'application concernée pour interdire l'action en fonction de conditions spécifiques ou non..
Il faut utiliser la variable globale "g_err%" et lui assigner la valeur 1 ou 0 :1 : Action interdite.
0 : Action autorisée.
Par exemple, dans le fichier "CanAlwaysCreate_E.evt" de l'application client, le fait d'écrire "g_err%=1" supprime le bouton "Création" et "Duplication" (car c'est une création) de l'application client lors de l'ouverture de l'application.