![]() |
| Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé. | |||||||
|
|||||||
| InfoPath Forum d'entraide sur InfoPath (concevoir des formulaires basés sur XML) |
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) |
|
Invité régulier
![]() Date d'inscription: août 2008
Messages: 10
|
Bonjour,
J'aurais voulu savoir si il est possible de faire la somme d'un groupe extensible sauf du premier champ. Concrètement, j'ai créé un bon de commande à partir d'un fichier xml qui reprend les produits ( il y en a trop pour les mettre à la main), c'est pourquoi, j'ai créé un groupe extensible. Mon champ "t1" est défini que lorsque un nouveau produit apparait, il créé une ligne avec les tailles (S, M, L, XL, ...). Or, il additionne la taille avec les quantités. N'étant pas persuadé de vous avoir bien expliqué le problème, voici une petit screen: J'aimerais additionner la colonne S, mais il me calcule "S" et j'ai alors comme résultat "Nan". Est-il possible de programmer ses calculs? Merci Merci de votre aide |
|
|
|
|
|
#2 (permalink) |
|
Invité régulier
![]() Date d'inscription: août 2008
Messages: 10
|
J'ai trouvé comment faire, merci quand même.
Mais j'ai un autre petit problème, j'aimerais calculer la somme des commandes pour chaque produit. Avez-vous la formule pour cela? Quelquechose du genre, faire la somme de ... à ... |
|
|
|
|
|
#3 (permalink) |
|
Expert Confirmé
![]() |
Salut,
Désolé mais tu n'explique pas comment tu as solutioné ton premier problème?donc il m'est impossible de savoir qu'es-ce que tu as changé pour que ca marche et t'indiquer comment faire. Il me semble qu'il faut utiliser la fonction XPath sum(). ++ Tiherry
__________________
"Life is short don't forget to inhale" Mais: "Mieux vaux arriver en retard dans ce monde... qu'en avance à l'autre." Microsoft Office InfoPath MVP - Mon blog |
|
|
|
|
|
#4 (permalink) |
|
Invité régulier
![]() Date d'inscription: août 2008
Messages: 10
|
En regardant l'image, tu remarques trois colonnes (S, M et L). Mon premier soucis était de faire la somme des valeurs entrées dans les cases des colonne. Le problème qu'il me renvoyait une valeur nulle puisqu'il prenait en compte le titre de la colonne (S, M et L). Grâce au filtre, j'ai pu faire la somme de mes champts exceptés des titres. Mais maintenant, ce qui m'interesse, ce serait de faire la somme des champs de mes trois colonnes jusqu'à la barre bleu.
|
|
|
|
|
|
#5 (permalink) |
|
Expert Confirmé
![]() |
Désolé mais je ne comprends pas plusieurs chose:
Pourquoi tu dois avoir S M et L dans la première occurence de ton tableau répétitif? Pourquoi ne pas inscrire S M et L en dure dans le formulaire? Pourrais-tu me fournir le schéma (structure) de formulaire infoapth afin que je vois qu'es-ce qui se répète et ce qui ne se répète pas. Et surtout comment c'est structuré. Car sur ta photo pour toi ca a l'air d'être claire mais pour moi ca l'ai beaucoup moins.
__________________
"Life is short don't forget to inhale" Mais: "Mieux vaux arriver en retard dans ce monde... qu'en avance à l'autre." Microsoft Office InfoPath MVP - Mon blog |
|
|
|
|
|
#6 (permalink) |
|
Invité régulier
![]() Date d'inscription: août 2008
Messages: 10
|
En fait, j'ai un fichier xml qui reprend le nom du produit, ses tailles et ses couleurs. Je dois faire un tableau avec tout ça, mais j'ai des difficultés, comme le fait que j'ai des tailles différentes (S, M , L, XL pour certains produits et 30, 32, 34, 36 pour d'autres produits).
Donc, j'ai fait une concaténation avec le nom du produit et les couleurs. Mais pour les tailles, je ne savais pas trop comment faire, alors j'ai décidé d'insérer un nouveau champ("titre" qui a comme valeur "Oui" ou "non") dans mon fichier Xml. De cette façon, j'ai mis une condition : lorsque le champ titre vaut "Oui", ma ligne devient bleu et affiche les différentes taille. Lorsqu'il vaut "non", j'ai la possibilité de rentrer des données (qui correspondent aux nombres de pièces commandées). La structure: |
|
|
|
|
|
#7 (permalink) |
|
Expert Confirmé
![]() |
Bon ok j'ai compris mais pourquoi alors ne pas faire une autre structure XML car la tienne sans vouloir te vexer me parait un peu boiteuse...
genre: Code XML :
<?xml version="1.0" encoding="UTF-8"?> <Root> <Produit id="2000"> <Taille id="M"> <Couleur id="Vert">3</Couleur> <Couleur id="Rouge">2</Couleur> ... </Taille> <Taille id="L"> <Couleur id="Vert">1</Couleur> <Couleur id="Rouge">0</Couleur> ... </Taille> ... </Produit> <Produit id="1000"> <Taille id="M"> <Couleur id="Vert">3</Couleur> <Couleur id="Rouge">2</Couleur> ... </Taille> <Taille id="L"> <Couleur id="Vert">1</Couleur> <Couleur id="Rouge">0</Couleur> ... </Taille> ... </Produit> ... </Root> Et après avec une structure comme celle-ci tu pourra compter ++ Thierry
__________________
"Life is short don't forget to inhale" Mais: "Mieux vaux arriver en retard dans ce monde... qu'en avance à l'autre." Microsoft Office InfoPath MVP - Mon blog |
|
|
|
|
|
#9 (permalink) |
|
Invité régulier
![]() Date d'inscription: août 2008
Messages: 10
|
Effectivement, c'est déjà plus évident de cette façon. Merci
Petite dernière question que j'ai pas encore tester. Est-ce qu'Infopath permet une mise à jour facile du formulaire? Je veux dire par là, si dans quelques mois j'ai un nouveau fichier xml (avec la même structure), mais simplement avec des produits en plus. Est-ce qu'il me suffit de supprimer l'ancien fichier xml et de mettre le nouveau à la place? Ou existe un moyen de le modifier en deux trois clics? |
|
|
|
|
|
#10 (permalink) |
|
Expert Confirmé
![]() |
Salut,
Deux possibilités: 1. il faut juste ajoute le PI dnas ton nouveau XML et il s'ouvrira automatiquement avec ton formulaire infopath. Pour récupérer ouvre ton form en mode saisie fait enregistrer ouvre le xml dans un éditeur et copie la ligne qui ressemble a celle ci-dessous dans ton nouveau xml: Code :
<?mso-infoPathSolution solutionVersion="1.3.4.27" initialView="Vue 1" productVersion="12.0.0" PIVersion="1.0.0.0" href="http://toto.com/Test/Forms/template.xsn" name="urn:schemas-microsoft-com:office:infopath:Test:-dataFormSolution" ?><?mso-application progid="InfoPath.Document" versionProgid="InfoPath.Document.2"?> ++ Thierry P.S. au faite, ne fait pas comme dans mon exemple tu as meilleur temps de donner des nom différents a tes attributs et donc ne pas tous les appelé id.
__________________
"Life is short don't forget to inhale" Mais: "Mieux vaux arriver en retard dans ce monde... qu'en avance à l'autre." Microsoft Office InfoPath MVP - Mon blog |
|
|
|
|
|
#12 (permalink) |
|
Invité régulier
![]() Date d'inscription: août 2008
Messages: 10
|
mon formulaire est fini et marche très bien, je te remercie pour ton aide. Néanmoins, j'ai une dernière question de facilité.
Est-ce qu'il existe un moyen pour optimiser la vitesse de mon formulaire, car étant assez long, je trouve qu'il met beaucoup de temps à charger et à valider. Merci |
|
|
|
|
|
#13 (permalink) |
|
Expert Confirmé
![]() |
Salut,
en faite ca dépend d'un peu de tous. Mais la vitesse d'infopath est vraiment un de ces points faible. Tout d'abord dis-moi opu es-ce que selon ca met trop de temps? A l'ouverture? pendant que les règles s'applique? pendant que ton s'éxécute? As-tu beaucoup de mise en forme conditionnelles? Es-ce que le xml que tu traite est gros (en taille)? ++ Thierry
__________________
"Life is short don't forget to inhale" Mais: "Mieux vaux arriver en retard dans ce monde... qu'en avance à l'autre." Microsoft Office InfoPath MVP - Mon blog |
|
|
|
|
|
#14 (permalink) |
|
Invité régulier
![]() Date d'inscription: août 2008
Messages: 10
|
A l'ouverture ca prend du temps, mais c'est pas trop grave, ce qui est embettant, c'est que ce soit lent pendant la saisie. il est vrai que j'ai pas mal de mise en forme conditionnel qui s'allonge a cause de mon champ extensible
la taille de mon xml est de 421Ko |
|
|
|
|
|
#15 (permalink) |
|
Expert Confirmé
![]() |
faut me donner plus de détail? as-tu du code? si oui quoi?
Le formattage conditionnel t'en a vraiment beaucoup? es-ce surt une section répétitive? Faut faire des test essaye d'enlever tout ou partie de ton formattage et regarde si tu gagne du temps.
__________________
"Life is short don't forget to inhale" Mais: "Mieux vaux arriver en retard dans ce monde... qu'en avance à l'autre." Microsoft Office InfoPath MVP - Mon blog |
|
|
|
![]() |
![]() |
||
Faire une somme d'un champ extensible
|
||
Offres d'
emploi informatique
sur Lesjeudis.com
|
| Outils de la discussion | |
|
|