Cette action est appelée juste après après avoir "clické" sur un bouton ou un menu.
Saisie fenêtre
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
When "M"
Local Integer I
I=find(REPONSE,LBOUT)
If I<1 : Return : Endif
Case CBOUT(I-1)
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.