|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre éprouvé
![]() Formateur en informatique Inscription : mai 2007 Messages : 507 ![]() |
Bonjour
J'ai deux niveaux de sections extensibles imbriquées. J'ai des listes déroulantes dont je veux récupérer des données annexes : exemple : on sélectionne le client dans la liste et on stocke le mel du contact dans un deuxième champ. Dans une liste classique "moderne" ça se fait bien par la valeur par défaut recalculée, en filtrant la source secondaire sur le critère codeclient-connexionprincipale = codeclient-sourcesecondaire. En iph2003 je récupère toujours l'info du premier codeclient choisi (rappel : j'ai des clients multiples). Je cherche un formule en xpath qui m'extraie le codeclient de la section active.J'ai cherché du côté de codeclient[position()=count(../preceding-sibling::*)+1] pas d'erreur détectée par la vérif de syntaxe, mais ça ne remonte rien. Merci d'avance
__________________
Jean-François Fustec - Consultant Formateur - Sharepoint Infopath Lotus |
|
|
00
|
|
|
#2 |
|
Membre chevronné
![]() MVP InfoPath Inscription : juillet 2007 Messages : 555 ![]() |
Bonjour,
De mémoire il existe une fonction current() qu'il est possible d'utiliser sur sur un tableau extensible. Je rallumes une VM avec InfoPath 2003 dans la journée pour vous confirmer tout cela. Cordialement |
|
|
00
|
|
|
#3 |
|
Membre chevronné
![]() MVP InfoPath Inscription : juillet 2007 Messages : 555 ![]() |
Bonjour je viens de réaliser un test simple.
A priori, il suffit d'aller chercher le champ en remontant depuis le tableau extensible de plus bas niveau. Pour savoir comment récupérer la valeur, suivez les étapes suivantes:
Il faudra ensuite utiliser l'expression visible en cliquant "Modifier une expression XPath (avancé)" afin que vous sachiez l'expression XPath à utiliser. En espérant que cela vous a aidé. Cordialement. |
|
|
00
|
|
|
#4 |
|
Membre éprouvé
![]() Formateur en informatique Inscription : mai 2007 Messages : 507 ![]() |
Merci.
La deuxième piste fonctionne pour récupérer l'info brute (le code saisi dans la liste déroulante), mais pas pour utiliser cette info dans le filtre... C'est le current() qui marche. Exemple : récupérer dans la connexion Liste-secondaire le champ Nom correspondant à l'élément dont l'IdSociétéSecondaire correspond à ce qui est sélectionné dans la liste déroulante servant à saisir le champ IdSocietePrincipale : Code :
xdXDocument:GetDOM("liste-secondaire")/dataroot/liste-11/Nom[../IdSociétéSecondaire = current()/my:IdSocietePrincipale]
Ouf ! amis débutants, courage ![]() Et merci à Rémi d'être toujours là.
__________________
Jean-François Fustec - Consultant Formateur - Sharepoint Infopath Lotus |
|
|
10
|
Copyright © 2000-2012 - www.developpez.com