AP_CHOIX

Description

Cette action est appelée juste après après avoir "clické" sur un bouton ou un menu.

Modèle

Saisie fenêtre

Utilisation

Elle permet d'exécuter un traitement après avoir "clické" sur un bouton ou un menu. En effet, pour la plupart des boutons, le modèle n'a pas de traitement banalisé. Le traitement doit être écrit dans cette action. Les boutons pris en charge par le modèle sont les suivants :
"FIN", "IMPRIME", "LISTE", "PIECES JOINTES", "COMMENTAIRE", "PROPRIETES".

Cette action intervient avant les actions sur bouton ( AVANT_BOUTON, BOUTON et  AVANT_XXX, XXX ) où XXX est l'identifiant du bouton pré-défini.

Cette action intervient avant les actions sur menu ( AVANT_MEN, MEN )

La variable REPONSE contient le statut du bouton et , par conséquent, nous indique le bouton activé par l'utilisateur. 

Pour les boutons pré-définis, vous trouverez ci-dessous les variables identifiant le bouton :

REPONSE Statut Bouton
GSTAESC 7 FIN
GSTANEW 91 Nouveau
GSTAENR 92 Enregistrer
GSTACRE 93 Créer
GSTAANU 94 Supprimer
GSTASEL 95 Sélection
GSTAFIR 96 Premier
GSTALAS 97 Dernier
GSTASUI 98 Suivant
GSTAPRE 99 Précédent
GSTAOK 1029 Ok
GSTAFIN 1792 Abandon
GSTACHG 1793 Changement de code
GSTAJOI 1794 Pièces jointes
GSTACOM 1795 Commentaires
GSTAEDI 1796 Impression
GSTALIS 1797 Liste
GSTADAT 1798 Propriétés
GSTARAF 1799 Rafraîchissement liste de gauche

Pour les autres boutons, la variable REPONSE contiend un statut commençant à :
1101    pour les boutons validants
1801    pour les boutons non validants 
2001    pour les menus 

Donc, si on a 2 boutons validants suivis d'un bouton non validant, on a les statuts suivants dans REPONSE :
1101
1102
1803

On n'utilise pas directement ce statut car il dépend de la position du bouton dans le dictionnaire de la fenêtre. Dans un premier temps, on recherche la position du bouton dans le dictionnaire de la fenêtre, puis, en fonction de cette position on en déduit le code du bouton. On a deux tableaux à disposition : LBOUT(n) contient le statut des boutons, CBOUT(n) contient le code des boutons (n étant la position du bouton dans le dictionnaire de la fenêtre).

Exemple :

$AP_CHOIX
Local Integer I
I=find(REPONSE,LBOUT)
If I<1 : Return : Endif
Case CBOUT(I-1)

    When "M"
    When "R"
    When "E"
Endcase
Return

On utilise plus fréquemment les actions AVANT_BOUTON et AVANT_MEN pour lesquelles le code bouton / menu est exploitable par la variable BOUT.