PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV (précédentes versions) → [W20] Utiliser une table hiérarchique d'une fenêtre interne dans un état
[W20] Utiliser une table hiérarchique d'une fenêtre interne dans un état
Débuté par zzebulon, 27 fév. 2025 15:34 - 5 réponses
Membre enregistré
21 messages
Posté le 27 février 2025 - 15:34
Bonjour,

J'ai déjà réalisé plusieurs états avec comme données des tables hiérarchiques.

Dans le cas qui me préoccupe, la table est dans une fenêtre interne (qui est dans un champs fenêtre interne).
Je peux réaliser l'état mais lorsque je veux l'exécuter, je butte sur une erreur :

"Erreur à la ligne 19 du traitement Procédure globale ImprimerEtat.
Vous avez appelé la fonction iImprimeEtat.
La table, source de données de l'état, est introuvable."

L'état est appelé depuis une procédure locale de la fenêtre interne :

Procedure PRIVÉE Action_ImprimeRésultatsAssistant()

ExécuteActionPrédéfinie(actOuvreEtat,ETAT_RésultatsAssistantRecherche)


Cette procédure est exécutée depuis un bouton de la fenêtre principale.
Si je place le bouton dans la fenêtre interne, cela ne change rien...

Merci d'avance pour vos bonnes idées.

Cordialement.
Message modifié, 27 février 2025 - 15:34
Membre enregistré
859 messages
Posté le 27 février 2025 - 16:05
Bonjour zzebulon,
Regardez si vous y parvenez avec cette méthode (il s'agissait de FI et Onglet mais le problème est semblable), Post #8 :

https://forum.pcsoft.fr/fr-FR/pcsoft.fr.windev/275417-appel-procedure-globale-qui-trouve-dans-fenetre-interne-275457/read.awp…

Cdlt
Membre enregistré
21 messages
Posté le 27 février 2025 - 18:06
Cédric_34 a écrit :
Bonjour zzebulon,
Regardez si vous y parvenez avec cette méthode (il s'agissait de FI et Onglet mais le problème est semblable), Post #8 :

https://forum.pcsoft.fr/fr-FR/pcsoft.fr.windev/275417-appel-procedure-globale-qui-trouve-dans-fenetre-interne-275457/read.awp…

Cdlt



Bonjour Cédric et merci pour l'aide.

Malheureusement cela ne résout pas mon problème : la solution proposée de lancer une procédure (qui visiblement est dans un onglet).

Dans mon cas, la procédure de lancement de l'état est bien lancée (je peux d'ailleurs aussi la placer dans la fenêtre externe) mais c'est l'exécution de l'état qui produit l'erreur indiquée. L'état ne retrouve pas la table hiérarchique à l'exécution...

PS : Je cherche en parallèle comment modifier la source des données au lancement de l'état.

Cordialement
Membre enregistré
859 messages
Posté le 27 février 2025 - 19:15
Pour la source,

NomSource (Propriété)
https://doc.pcsoft.fr/?2511035

pour le reste, je vais y réfléchir car toute la difficulté est de se mettre dans votre contexte.
Cdlt
Membre enregistré
859 messages
Posté le 28 février 2025 - 01:36
Dites-nous si la propriété NomSource vous a permis de localiser la table source de l'état (en précisant la fenêtre qui contient la table)
Quelque chose comme :

ETAT_RésultatsAssistantRecherche..NomSource = "Fen_FI.MaTABLE"

Cdlt
Membre enregistré
21 messages
Posté le 28 février 2025 - 13:53
Bonjour,

J'avais fini par trouver une solution. Mais ma réponse postée hier vers 19h00 n'a pas été publiée. Je la reposte donc :

Il faut ajouter dans le code d'initialisation de l'état une commande sous la forme :
MoiMême..NomSource = "FEN_Externe.CFI_ChampFenetreInterne.FI_FenetreInterne.TABLE_maTable"


Bien placer la référence à la source dans une chaine de texte.

Merci pour votre aide !

Cordialement.