Bonjour,
Je m'essaye à de petites personnalisations dans X3 et je ne suis pas encore très familiarisé avec les techniques qui y sont propres. Ma question peut donc être stupide, mais je n'ai pas trouvé de solution en creusant par moi même ou sur ce forum.
Explications :
J'ai créé le champ ZNOFAC (de type M 1, c'est à dire un oui/non) dans la table BPADDRESS. J'ai ensuite ajouté ce champ dans l'écran BPABPC (adresses client). Jusque là pas de soucis.
La case à cocher était donc accessible mais n'enregistrait jamais sa donnée dans la base. Quand je cliquais la case et que j'enregistrais la fiche, la case revenait à son état d'origine et la donnée n'était pas modifiée dans la base.
J'ai donc ajouté une action SPE de type Après_modif et dans le traitement spécifique SPEBPA, j'ai ajouté
Après compilation du traitement et validation de l'écran, je rencontre maintenant un comportement étrange... Quand j'arrive dans l'écran, que je modifie la case à cocher, que je passe à un autre champ (pour que le bouton Enregistrer s'active) et que j'enregistre, la case à cocher revient à son état d'origine et l'info n'est pas écrite dans la base. Si je refais la manip sans sortir de l'écran, la case à cocher conserve bien la nouvelle valeur et l'info est écrite dans la base. En gros, ça fonctionne pour toutes les modifs (tant que je reste dans l'écran) sauf pour la première.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Subprog AM_ZNOFAC(VALEUR) Variable Integer VALEUR [F:BPA]ZNOFAC = VALEUR Rewrite [F:BPA] End
Pour info, j'ai placé une instruction infbox pour voir si je passe bien dans le traitement à chaque fois, et c'est bien le cas (à la première modif et au suivante).
Auriez-vous une idée ?
Merci par avance.
Partager