Message posté par : nbarchi (nbuchet(a)archimed-env.com)
----------------------------------------
Bonjour à tous,
Je rencontre un problème bloquant concernant la visibilité conditionnelle et les valeurs
par défaut dans une relation 1:N (Parent : Points/Lignes/Polys -> Enfant : Données
espèces).
Ma configuration :
Couches Parents : Saisie Points, Saisie Lignes, Saisie Polygones (Champ :
id_station).
Couche Enfant : donnees_especes (Champs : id_parent_pt, id_parent_ln, id_parent_pl).
Relation : Configurée dans les propriétés du projet via les identifiants mentionnés
ci-dessus.
Objectif : Un champ dans la couche enfant (type_releve_calc) doit récupérer le type de
protocole (type_releve) du parent pour filtrer les listes d'espèces et
afficher/masquer des onglets du formulaire.
______
Lorsque je clique sur "Ajouter une entité enfant" depuis le formulaire parent
:
La clé étrangère (id_parent_pt) est correctement remplie via current_parent_value.
Cependant, mon champ de calcul type_releve_calc reste NULL.
Par conséquent, mes onglets conditionnels (Espèces, Habitats) restent masqués car ils
dépendent de cette valeur.
/! Si j'enregistre le parent, que je ferme le formulaire et que je le rouvre via la
table attributaire pour ajouter des enfants, l'expression fonctionne et les onglets
apparaissent. Il semble que get_feature ne parvienne pas à "voir" le lien en
temps réel lors de la création initiale du formulaire.
Ce que j'ai déjà testé :
Utiliser get_feature avec le nom exact de la couche.
Utiliser current_parent_value('id_station') et
current_value('id_parent_pt').
Cocher l'option "Appliquer la valeur par défaut sur la mise à jour".
Vérifier les types de données (les deux sont en texte/string).
On dirait un problème de rafraîchissement ou de timing. Quelqu'un a-t-il trouvé un
moyen de forcer QGIS à évaluer un get_feature basé sur l'ID du parent "non encore
enregistré" mais actif dans l'interface ?
Merci par avance pour votre aide !
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=377345#p377345
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net