IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

InfoPath .NET Discussion :

Faire une somme d'un champ extensible


Sujet :

InfoPath .NET

  1. #1
    Futur Membre du Club
    Inscrit en
    Août 2008
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 16
    Points : 7
    Points
    7
    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

  2. #2
    Futur Membre du Club
    Inscrit en
    Août 2008
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 16
    Points : 7
    Points
    7
    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 ... à ...

  3. #3
    Membre expérimenté
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Points : 1 666
    Points
    1 666
    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."

  4. #4
    Futur Membre du Club
    Inscrit en
    Août 2008
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 16
    Points : 7
    Points
    7
    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.

  5. #5
    Membre expérimenté
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Points : 1 666
    Points
    1 666
    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."

  6. #6
    Futur Membre du Club
    Inscrit en
    Août 2008
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 16
    Points : 7
    Points
    7
    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:

  7. #7
    Membre expérimenté
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Points : 1 666
    Points
    1 666
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    <?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."

  8. #8
    Futur Membre du Club
    Inscrit en
    Août 2008
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 16
    Points : 7
    Points
    7
    Par défaut
    Oui je vois, je vais essayer de regarder ça ... Merci de ton aide

  9. #9
    Futur Membre du Club
    Inscrit en
    Août 2008
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 16
    Points : 7
    Points
    7
    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?

  10. #10
    Membre expérimenté
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Points : 1 666
    Points
    1 666
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    <?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."

  11. #11
    Futur Membre du Club
    Inscrit en
    Août 2008
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 16
    Points : 7
    Points
    7
    Par défaut
    merci de ta rapidité et de tes réponses claires, j'essayerais ça plus tard ...

  12. #12
    Futur Membre du Club
    Inscrit en
    Août 2008
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 16
    Points : 7
    Points
    7
    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

  13. #13
    Membre expérimenté
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Points : 1 666
    Points
    1 666
    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."

  14. #14
    Futur Membre du Club
    Inscrit en
    Août 2008
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 16
    Points : 7
    Points
    7
    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

  15. #15
    Membre expérimenté
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Points : 1 666
    Points
    1 666
    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."

Discussions similaires

  1. Réponses: 3
    Dernier message: 19/12/2014, 19h31
  2. [AC-2007] Faire une somme d'un champ en fonction d'une periode
    Par Rambov dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 12/03/2010, 13h25
  3. Réponses: 4
    Dernier message: 09/02/2006, 15h20
  4. filtrer saisies et faire une somme globale
    Par mcellier dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 13/09/2005, 17h00
  5. faire une somme dans un état
    Par PAINCO dans le forum Access
    Réponses: 1
    Dernier message: 23/06/2005, 19h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo