PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2025 → Vos conseils d'expérience...
Vos conseils d'expérience...
Débuté par Monsieur Serge, 01 avr. 2020 23:43 - 1 réponse
Membre enregistré
213 messages
Posté le 01 avril 2020 - 23:43
Bonjour,

Supposons une fiche produit et un environnement à multiples langues.
- 1 fichier pour la fiche produit (Tous les détails + Détail dernière modification)
- 1 fichier pour les descriptifs (Français, Anglais, Espagnol, etc)

Une fenêtre qui affiche la liste des produits
- Sommaire + description langue courante
Ok

Une fenêtre qui affiche un produit spécifique.
- Détail du produit (X champs de saisie)
- Table pour les descriptions dans chaque langue
Ok

Fichier vers écran pour le détail du produit.
Table sur fichier pour les descriptions, filtrée sur le code du produit pour ne charger que le requis.
Ok

Maintenant, je tourne en rond et je cherche conseil basé sur expérience.

Pour la fiche produit:
FichierVersÉcran / ÉcranVersFichier, c'est tout beau.

La table des descriptions en modification...
C'est fonctionnel, Windev fait bien son boulot.

Mais...

Sur modification de la fiche d'une description, la fiche produit n'indique pas le détail de la dernière modification.

J'aimerais appliquer la modification "en lot" sans m'éloigner du principe de "Windev le gère".
"En lot" = Ficher produit + 3 fiches descriptions d'un seul coup.

Vos suggestions seront appréciées.

Serge
Membre enregistré
213 messages
Posté le 06 avril 2020 - 23:22
Bonjour,

Après quelques jours de lecture, essais et erreurs, je finis par me répondre...
Sera peut-être utile pour un autre développeur qui débute...


---<Sommaire>-----------------------------------------------------
Une fenêtre qui affiche la liste des produits
- Sommaire + description langue courante
- Table reliée à la base de données
Ok

Double-clic sur une ligne de la table.

Une fenêtre interne qui affiche ce produit spécifique
- Champs de saisie pour le détail du produit
- Incluant un champ "Code de Produit"
- ÉcranVersFichier
Ok

- Table pour les descriptions dans chaque langue
- Table reliée à la base de données
- Code de produit dans une colonne masquée
- Clé de parcours = Code de produit
- MaTable..filtre = MonChampCodeDeProduit..valeur
- Enregistrer en sortie de ligne (Modif.) n'est PAS coché <--- Nuance importante
Ok


---< Par défaut en affichage>--------------------------------------
Par défaut, je suis en "affichage seulement".
Boutons "Ajouter", "Modifier" et "Supprimer" en bas de page.
Bouton "Valider" grisé.


---<Ajouter>---------------------------------------------------------
Petite moulinette pour initialiser le tout à vide.
Selon les besoins, l'utilisateur effectue ses modifications.
Puis il clique sur "Valider", qui n'est plus grisé.

Je valide selon les besoins.
Si c'est valide:
Je génère un nouveau code de produit
ÉcranVersFichier
HAjoute

Petite boucle sur la table des descriptions
Inscription du code de produit généré
TableEnregistre sur chaque ligne

Produit, puis Descriptions.
Pour respecter l'intégrité.


---<Modifier>-------------------------------------------------------
Selon les besoins, l'utilisateur effectue ses modifications.
Puis il clique sur "Valider", qui n'est plus grisé.

Je valide selon les besoins.
Si c'est valide:
ÉcranVersFichier
HModifie

Petite boucle sur la table des descriptions
TableEnregistre sur chaque ligne

Produit, puis Descriptions.
Pour respecter l'intégrité.


---<Supprimer>-------------------------------------------------------
Rien à faire pour l'utilisateur sinon "Valider".

Petite boucle sur la table des descriptions
TableSupprime sur chaque ligne

HSupprime pour les champs

Descriptions, puis Produit.
Pour respecter l'intégrité.


---<HSurErreur>---------------------------------------------------------
hErrBlocage, hErrIntégrité, hErrDoublon, hErrModification
Je fais la gestion.


----------------------------------------------------------------------

Voilà.

C'est à haut niveau, mais c'est ma recette actuelle.
À nouveau, vos commentaires / suggestions seront appréciés.

Serge