DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Fonctions spécifiques au WEB / Fonctions de gestion des pages
  • Vérification de la désynchronisation
ChangeAction (Exemple)
Vérification de la désynchronisation
Ce code permet de vérifier que l'enregistrement manipulé dans la base correspond à l'enregistrement affiché.
Ce code n'est exécuté qui si IL Y A EFFECTIVEMENT une désynchronisation.
ATTENTION : Dans le cas d'un traitement Ajax, il n'y a pas de rafraîchissement de la page, donc pas de désynchronisation possible.
Dans les traitements Ajax qui font des actions sur des enregistrements "en cours", il convient donc de vérifier que l'enregistrement en cours est bien celui attendu.
ID_CLEUNIQUE est un entier sur 8
// La fonction PageParamètre() permet de récupérer les valeurs renvoyées par la page du client
// Dans la page, un champ de saisie (invisible ou non) "SAI_ID_CLE_UNIQUE" contient la clé unique
// de l'enregistrement en cours
ID_CLEUNIQUE = PageParamètre(SAI_ID_CLE_UNIQUE..Alias)
 
// L'enregistrement courant a été changé ?
// (gnDernierIDAffiche contient l'identifiant du dernier affiché)
SI ID_CLEUNIQUE=gnDernierIDAffiche ALORS
// Il est aussi possible de vérifier l'enregistrement en cours, exemple :
// HLit(CLIENT, hNumEnrEnCours)
// SI CLIENT.ID_CLIENT=ID_CLEUNIQUE ALORS
 
// L'enregistrement en cours est le bon
// On continue
ChangeAction(caContinuer)
SINON
// L'enregistrement en cours N'est PAS le bon
// On se re-positionne au niveau du serveur :
SI PAS HLitRecherchePremier(CLIENT, "ID_CLEUNIQUE", ID_CLEUNIQUE) ALORS
// on a pu se repositionner
// Met à jour l'id mémorisé (à faire aussi au chargement de la page et
// dans toute action qui change l'enregistrement en cours)
 gnDernierIDAffiche = ID_CLEUNIQUE
// on a pu se repositionner, on laisse l'exécution continuer
// Cela va donc exécuter le traitement demandé par l'internaute avec
// l'enregistrement que l'on vient de repositionner
ChangeAction(caContinuer)
SINON
// on ne trouve plus l'enregistrement...
// on annule l'action de l'utilisateur,
// la page va donc se rafraîchir avec les données actuellement sur le serveur
Info("Les données n'existent plus, l'action demandée n'a pas été prise en compte", ...
"Affichage des dernières données chargées sur le serveur")
PageActualise()
ChangeAction(caRien)
 
// OU....
// on laisse le traitement par défaut avec le message d'erreur par défaut
// // ChangeAction(caErreur)
FIN
FIN
Version minimum requise
  • Version 9
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 25/05/2022

Signaler une erreur ou faire une suggestion | Aide en ligne locale