PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE

  • 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/iPadApple WatchUniversal Windows 10 AppWindows Mobile
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 "Désactiver le mécanisme de synchronisation des pages pour ce champ" n'a pas été désactivée dans la fenêtre de description du champ exécutant le code serveur (onglet "Avancé").
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 "Utiliser le mécanisme de synchronisation" de l'onglet "Détail" 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 "Désactiver le mécanisme de synchronisation des pages pour ce champ" décochée dans l'onglet "Avancé" de la description du champ).
  2. Créez un champ invisible dans la 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