Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 8 Next »

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

image-20240110-112725.png

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.

image-20240111-144946.png

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 :

image-20240110-134033.png

Au chargement on obtient le message suivant :

image-20240110-134056.png
  • 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.

image-20240110-134157.png

En quittant l’application on obtient le message suivant :

image-20240110-134218.png
  • 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.

image-20240110-134402.png

  • No labels