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 :

REPONSEStatutBouton
GSTAESC7FIN
GSTANEW91Nouveau
GSTAENR92Enregistrer
GSTACRE93Créer
GSTAANU94Supprimer
GSTASEL95Sélection
GSTAFIR96Premier
GSTALAS97Dernier
GSTASUI98Suivant
GSTAPRE99Précédent
GSTAOK1029Ok
GSTAFIN1792Abandon
GSTACHG1793Changement de code
GSTAJOI1794Pièces jointes
GSTACOM1795Commentaires
GSTAEDI1796Impression
GSTALIS1797Liste
GSTADAT1798Propriétés
GSTARAF1799Rafraî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.