DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / Développer une application ou un site / Champs, fenêtres et pages / Page / Gestion du Back
  • Présentation
  • Principe
  • Rappel
  • Mise en oeuvre
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Le champ Zone répétée : Synchronisation personnalisée
Présentation
Comment gérer la synchronisation entre :
  • la page affichée dans le navigateur. Cette page contient un champ Zone répétée affichant des enregistrements d'un fichier HFSQL.
  • le contexte de page correspondant existant sur le serveur.
Grâce à une gestion personnalisée de la synchronisation, lors d'une action sur une répétition dans la page (par exemple clic sur un lien pour commander le produit affiché), les informations mémorisées sur le serveur sont mises à jour en fonction de l'identifiant présent dans la répétition en cours sur le navigateur.
Principe
La méthode de synchronisation personnalisée pour les champs Zone répétée s'appuie sur une information cachée dans la page : l'identifiant de la répétition sélectionnée.
La synchronisation va consister à envoyer au serveur l'identifiant de la répétition en cours sur le navigateur.

Rappel

Le code de synchronisation est déclenché lorsque les conditions suivantes sont réunies :
  • la page affichée sur le navigateur ne correspond plus au contexte de page du serveur.
  • l'internaute exécute un code serveur (en cliquant sur un lien, un bouton, une image, une option de menu, ...). L'option "Appeler le traitement de synchronisation de la page si l'internaute a utilisé le bouton précédent du navigateur" n'a pas été décochée dans l'onglet "Avancé" de la description du champ exécutant le code serveur.
Mise en oeuvre
Pour personnaliser la gestion de synchronisation pour les champs Zone répétée fichier :
  1. Vérifiez que le mécanisme de gestion de synchronisation est activé.
    • au niveau de la page (option "Utilisation du bouton "Précédent" du navigateur" correspondant à "Autorisé (exécute le code de synchronisation)" de l'onglet "UI" de la description de la page).
    • au niveau de chaque bouton permettant de gérer la zone répétée ou d'effectuer une action sur l'enregistrement sélectionné dans la zone répétée (option "Appeler le traitement de synchronisation de la page si l'internaute a utilisé le bouton précédent du navigateur" non décochée dans l'onglet "Avancé" de la description du champ).
  2. Créez un champ invisible dans le champ Zone répétée.
  3. Définissez un attribut sur la valeur de ce champ invisible (nommé "IDUNIK" par exemple) dans la description du champ Zone répétée. Ce champ doit contenir l'identifiant de la répétition en cours. L'initialisation de ce champ doit être réalisée principalement dans le code de clic sur le lien ou le bouton présent dans le champ Zone répétée.
  4. Personnalisez le code de synchronisation de la page en cours. Ce code de synchronisation doit :
    • lire la valeur du champ caché de la répétition en cours.
    • relire l'enregistrement correspondant à l'identifiant stocké dans le champ caché.
    • effectuer les traitements nécessaires selon l'application.
Un exemple de code de synchronisation peut être :
Ch est une chaîne
Clé est une chaîne
Ch = "_" + PageParamètre(ZR_ZoneRépétée1) + "_" + IDUNIK
// Ch = nom du champ IDUNIK dans la répétition en cours
Clé = PageParamètre(Ch)
// Clé = contenu du champ IDUNIK dans la répétition en cours
// Recherche de l'enregistrement sélectionné 
HLitRecherche(PRODUIT, PRCLEUNIK, Clé)
SI HTrouve() ALORS
// Traitement Ã  effectuer
...
// Continue l'application sans afficher de message
ChangeAction(caContinuer)
SINON
ChangeAction(caErreur)
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