Forum des développeurs  

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é.
Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > InfoPath

InfoPath Forum d'entraide sur InfoPath (concevoir des formulaires basés sur XML)

Réponse
 
Outils de la discussion
Vieux 27/08/2008, 10h49   #1 (permalink)
Invité régulier
 
Date d'inscription: août 2008
Messages: 10
Par défaut Faire une somme d'un champ extensible

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
f0nzy est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 28/08/2008, 17h28   #2 (permalink)
Invité régulier
 
Date d'inscription: août 2008
Messages: 10
Par défaut

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 ... à ...
f0nzy est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 01/09/2008, 08h36   #3 (permalink)
Expert Confirmé
 
Avatar de virgul
 
Date d'inscription: novembre 2004
Localisation: I Love Techno me voila!!!
Âge: 24
Messages: 1 603
Envoyer un message via MSN à virgul Envoyer un message via Skype™ à virgul
Par défaut

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
virgul est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 01/09/2008, 12h21   #4 (permalink)
Invité régulier
 
Date d'inscription: août 2008
Messages: 10
Par défaut

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.
f0nzy est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 01/09/2008, 14h15   #5 (permalink)
Expert Confirmé
 
Avatar de virgul
 
Date d'inscription: novembre 2004
Localisation: I Love Techno me voila!!!
Âge: 24
Messages: 1 603
Envoyer un message via MSN à virgul Envoyer un message via Skype™ à virgul
Par défaut

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
virgul est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 01/09/2008, 14h55   #6 (permalink)
Invité régulier
 
Date d'inscription: août 2008
Messages: 10
Par défaut

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:
f0nzy est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 01/09/2008, 15h15   #7 (permalink)
Expert Confirmé
 
Avatar de virgul
 
Date d'inscription: novembre 2004
Localisation: I Love Techno me voila!!!
Âge: 24
Messages: 1 603
Envoyer un message via MSN à virgul Envoyer un message via Skype™ à virgul
Par défaut

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>
... symbolise un élément qui se répète

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
virgul est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 01/09/2008, 15h56   #8 (permalink)
Invité régulier
 
Date d'inscription: août 2008
Messages: 10
Par défaut

Oui je vois, je vais essayer de regarder ça ... Merci de ton aide
f0nzy est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 02/09/2008, 09h48   #9 (permalink)
Invité régulier
 
Date d'inscription: août 2008
Messages: 10
Par défaut

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?
f0nzy est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 02/09/2008, 11h42   #10 (permalink)
Expert Confirmé
 
Avatar de virgul
 
Date d'inscription: novembre 2004
Localisation: I Love Techno me voila!!!
Âge: 24
Messages: 1 603
Envoyer un message via MSN à virgul Envoyer un message via Skype™ à virgul
Par défaut

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"?>
2. Ou alors tu peux aussi ouvrir ton modèle de formulaire faire fichier-> fussionner les formulaire et la Infoapth ce charge de tout sauf de supprimer la première section du document qui sera vide.

++

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
virgul est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 02/09/2008, 16h12   #11 (permalink)
Invité régulier
 
Date d'inscription: août 2008
Messages: 10
Par défaut

merci de ta rapidité et de tes réponses claires, j'essayerais ça plus tard ...
f0nzy est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 19/09/2008, 12h53   #12 (permalink)
Invité régulier
 
Date d'inscription: août 2008
Messages: 10
Par défaut

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
f0nzy est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 19/09/2008, 13h47   #13 (permalink)
Expert Confirmé
 
Avatar de virgul
 
Date d'inscription: novembre 2004
Localisation: I Love Techno me voila!!!
Âge: 24
Messages: 1 603
Envoyer un message via MSN à virgul Envoyer un message via Skype™ à virgul
Par défaut

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
virgul est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 22/09/2008, 16h16   #14 (permalink)
Invité régulier
 
Date d'inscription: août 2008
Messages: 10
Par défaut

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
f0nzy est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 25/09/2008, 13h41   #15 (permalink)
Expert Confirmé
 
Avatar de virgul
 
Date d'inscription: novembre 2004
Localisation: I Love Techno me voila!!!
Âge: 24
Messages: 1 603
Envoyer un message via MSN à virgul Envoyer un message via Skype™ à virgul
Par défaut

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
virgul est déconnecté   Envoyer un message privé Réponse avec citation
Réponse

Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > InfoPath

 
Offres d' emploi informatique sur Lesjeudis.com


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide