APRES_CHOI

Description

Cette action est appelée avant l'exécution d'une action ( bouton, menu, liste gauche, ... ). Un statut définissant l'action est envoyé par le superviseur dans la variable REPONSE.

Type d'OBJet

Simple, Tableau, Combiné

Transaction

Non

Utilisation

Il est possible de court-circuiter le traitement normal de votre bouton, menu : Cette action permet de lancer son propre traitement à la place du traitement modèle puis de remettre REPONSE à 0.

Les différentes valeurs possibles pour la variable REPONSE sont données par des variables globales, dont le nom est donné dans le tableau ci-dessous :

Statut

Bouton correspondant

GSTAENR Enregistrement
GSTACRE Création
GSTAANU Annulation
GSTAFIN Abandon
GSTACHG Changement de code
GSTASUI Suivant
GSTAPRE Précédent
GSTAFIR Premier enregistrement
GSTALAS Dernier enregistrement
GSTALFT Simple click dans liste gauche
GSTALF2 Double click dans liste gauche
GSTALF3 Simple click dans liste hiérarchisée
GSTALF4 Double click dans liste hiérarchisée
GSTARET Entrée
GSTANEW Fichier / nouveau
GSTASEL Fichier / sélection
GSTACOM Fichier / commentaire
GSTAEDI Impression
GSTALIS Liste
GSTAJOI Pièce jointes
GSTAHLP Aide
GSTAESC Abandon (par fermeture de la fenêtre)
GSTAOK OK
GSTAPCK Sélection picking dans GEODE
GSTADAT Propriété
>=GSTABOU Bouton spécial défini par un chiffre (les contrôles sont effectués sur les champs de la page au delà du champ en cours de saisie, et il y a blocage si un contrôle n'est pas satisfait).
>=GSTABOU2 Bouton spécial défini par une lettre minuscule (la page n'est pas contrôlée avant le lancement de la fonction).

Exemple : SUBADI   gestion des tables diverses

La gestion des tables diverses est une gestion tableau. Les boutons magnéto ne sont donc pas pris en charge par ce type de gestion. On a donc programmer des traitements particuliers pour ces boutons magnéto pour permettre à l'utilisateur d'afficher la table suivante, précédente, la première ou dernière table.

$APRES_CHOI
Case REPONSE
When GSTASUI : Gosub SUIVANT : REPONSE = 0
When GSTAPRE : Gosub PRECEDENT : REPONSE = 0
When GSTAFIR : Gosub PREMIER : REPONSE = 0
When GSTALAS : Gosub DERNIER : REPONSE = 0
Endcase
Return

$SUIVANT
If VERROU : Gosub DEVERROU From GOBJET : Endif
   Read [ADV]CODE > [M]NUMTAB
   If fstat>2
      GMESSAGE = mess(11,100,1) : GERR = 1 : Return
   Else
      [M]NUMTAB = [F:ADV]NUMTAB
      CLE2 = num$([M]NUMTAB
   Gosub RELIT From GOBJSUB
   Endif
Endif
Return