| |
Membre enregistré 136 messages Popularité : +12 (14 votes) |
|
Posté le 24 mai 2018 - 10:47 |
Bonjour
La question est dans le titre !
Je n'arrive pas à trouver la syntaxe me permettant, à partir de la fenêtre contenant une TABLE rattachée à une Fenêtre interne pour le détail ligne : - d'accéder à un champ de la FI associée à une ligne en particulier - d'exécuter une procédure locale de la FI associée à une ligne en particulier
J'ai cherché en vain sur ce forum. J'ai bien trouvé la technique pour accéder aux informations de la fenêtre principale depuis la FI Mais dans l'autre sens, je sèche...
Si quelqu'un.e a une expérience ou une idée...
Merci d'avance
Christophe |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 948 messages Popularité : +30 (92 votes) |
|
Posté le 24 mai 2018 - 10:53 |
>Message modifié, 24 mai 2018 - 10:54 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 136 messages Popularité : +12 (14 votes) |
|
Posté le 24 mai 2018 - 12:05 |
Oui, Charly ? Exprime-toi... |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 948 messages Popularité : +30 (92 votes) |
|
Posté le 24 mai 2018 - 12:24 |
Coucou,
Comment tu associe ta FI a la ligne ?
-- In üs we trust
Chocolat en Suisse - #Foetus Kaeng Khiao Wan en Thailland - #ATR Kopi luwak en Indonesie - #Abracadabra Durio zibethinus en Malaisie - #JamaisFinie Bánh Mì H?ng Hoa au Viêt Nam - #ImprévisibleMaGénération Pizza à Cannes - #RAS |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 136 messages Popularité : +12 (14 votes) |
|
Posté le 24 mai 2018 - 12:32 |
Finalement, je pense avoir trouvé la solution Si cela peut aider quelqu'un un jour...
Exemple de test qui fonctionne :
J'ai une fenêtre interne FI_TestListe qui contient - un champ LIB_SansNom1 initialisé avec un libellé aléatoire - une procédure locale "Valider" contenant une Trace du contenu de LIB_SansNom1
J'ai une fenêtre principale FEN_TestListe qui contient - un champ TABLE_Liste relié à FI_TestListe pour l'affichage d'un détail ligne - un bouton "Valider" pour lancer la
Le bouton Valider est programmé ainsi :
POUR TOUTE LIGNE nIndex de TABLE_Liste SI TABLE_Liste[nIndex]..FenêtreDétailLigne = "" ALORS CONTINUER SI TABLE_Listre[nIndex]..Enroulé ALORS CONTINUER chp est un Champ <- {"TABLE_Liste[" + nIndex + "].FI_TestListe",indChamp} Trace(chp.LIB_SansNom1) chp.Valider() FIN
On voit que l'on peut : - accéder à un champ de chaque FI depuis la fenêtre principale - lancer une procédure locale de chaque FI
Le résultat de la trace montre que l'on est bien dans le contexte de chaque fenêtre interne :
|
| |
| |
| | | |
|
| | |
| |
Membre enregistré 57 messages Popularité : +17 (17 votes) |
|
Posté le 24 mai 2018 - 12:36 |
Bonjour,
La syntaxe pour accéder à un champ est : TABLE_COMMANDE[Indice].FI_LIGNE_COMMANDE.CHAMP
Par contre, il n'y a pas de syntaxe pour exécuter une procédure de la fenêtre interne.
-- Loïc HAMEL (Twitter : @HAMELLoic) Support Technique PC SOFT |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 948 messages Popularité : +30 (92 votes) |
|
Posté le 24 mai 2018 - 12:37 |
Coucou,
Loic, on peut pas utiliser ExécuteTraitement ?
Reference: https://doc.pcsoft.fr/?3013031
ExécuteTraitement(TABLE_COMMANDE[Indice].FI_LIGNE_COMMANDE, trtProcedure, TaProcédure)
-- In üs we trust - Amicalement - N10
Chocolat en Suisse - #Foetus Kaeng Khiao Wan en Thailland - #ATR Kopi luwak en Indonesie - #Abracadabra Durio zibethinus en Malaisie - #JamaisFinie Bánh Mì H?ng Hoa au Viêt Nam - #ImprévisibleMaGénération Pizza à Cannes - #RASMessage modifié, 24 mai 2018 - 12:45 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 136 messages Popularité : +12 (14 votes) |
|
Posté le 24 mai 2018 - 13:55 |
Pour charly :
J'associe la fenetre à chaque ligne dans le traitemetn de la table "afficher une ligne" :
clObj est un MaClasseHierarchique = TABLE_Liste nIndex est un entier = IndiceEnCours()
SI clObj.Items..Vide ALORS TABLE_Liste[nIndex]..FenêtreDétailLigne = "" SINON TABLE_Liste[nIndex]..FenêtreDétailLigne = "FI_TestListe" FIN
Cela me permet de conditionner l'accès de chaque ligne à la FI en fonction de son contexte |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 136 messages Popularité : +12 (14 votes) |
|
Posté le 24 mai 2018 - 14:06 |
Pour Loïc :
En effet, ta solution fonctionne pour l'accès à un champ Par contre, elle ne permet pas d'accéder à une procédure locale de la FI, avec ou sans ExecuteTraitement et dans ce cas, la solution que j'ai trouvée (voir au dessus) fonctionne bien
Merci |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 889 messages Popularité : +227 (347 votes) |
|
Posté le 24 mai 2018 - 16:30 |
Si j'ai bien tout compris : -Tu as un champ table (TABLE_Toto) -Lorsque tu sélectionnes une ligne de TABLE_Toto, tu veux que le détail s'affiche via une FI (FI_Détail) contenue dans un CFI (CFI_DétailToto).
-- Il y a peut être plus simple, mais, ça tourne |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 136 messages Popularité : +12 (14 votes) |
|
Posté le 24 mai 2018 - 17:56 |
A voroltinquo :
Pas besoin de CFI, la fonctionnalité de connexion d'une FI à un champ table pour représentation de données de détail existe depuis plusieurs versions dans Windev
Le pb concernait seulement les modes de communication entre la fenêtre principale (celle contenant la table) et des fenêtres internes associées à chaque ligne de la table
Grâce à l'aide de chacun, c'est maintenant clair et ça marche bien |
| |
| |
| | | |
|
| | |