Donnez vie à vos documents numériques !
 

Formule rapide pour addition de champs

abracadabraPDF Forums PDF – Général Formule rapide pour addition de champs

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #45002

    Bonjour à vous!

    Je recherche une façon simple et rapide pour additionner plusieurs champs. Ma façon de faire présentement est dans la propriété de mon champs TOTAL, je lui met : somme (+) des champs et je sélectionne manuellement tout mes champs. C’est long car j’ai au moins 30 champs à sélectionner dans chacun de mes PDF (au moins 60). Est-ce qu’il y a une formule simple qui me permet de dire d’additionner ex. le champs V1 à V50…. dans notation simplifié de champs ou dans script de calcul personnalisé ?

    Merci!

Affichage de 7 réponses de 1 à 7 (sur un total de 7)
  • Auteur
    Réponses
  • #57931
    alex
    Participant

    Bonjour,
    Ci-joint une maquette pour illustrer la manière:
    Le champ “TotalMontants” embarque le script qui vous intéresse. Ce script fait la somme de tous les champs dont le nom commence par Montant.
    On peut créer autant de champs de calcul que l’on veut, il suffit de préciser l’en-tête du nom des champs à additionner (teteNom=”xxxx”;)
    Voici ce script avec quelques éditions pour la console (Ctrl J pour l’afficher).

    console.clear();
    teteNom=”Montant”;
    indexField=0;
    indexTerme=0;
    total=0;
    while(indexField {
    //Recupere le nom du champ.
    nameField=this.getNthFieldName(indexField);
    if(nameField.substring(0,teteNom.length)==teteNom)
    {
    indexTerme=indexTerme+1;
    console.println(indexTerme+”-“+nameField+”-valeur=”+this.getField(nameField).value)
    total=total+1*this.getField(nameField).value;
    }
    indexField=indexField+1;
    }
    console.println(“Total=”+total)
    this.event.value=total;

    #57932
    Merlin
    Maître des clés

    Je recherche une façon simple et rapide pour additionner plusieurs champs.

    N’est-ce pas à toi que j’ai déjà conseillé l’utilisation de la Convention de dénomination des champs de formulaires ?
    Il y a un exemple sur cette page : http://abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/duplication-rapide-de-champs-de-formulaire/

    :Smiley01:

    #57933
    alex
    Participant

    Salut Merlin,
    Je connais bien cette manière de faire qui conduit certes à un script de calcul très court mais qui restreint la liberté de choisir les noms des données, en particulier lorsqu’on doit les envoyer vers un serveur ou les récupérer en XML.
    Dans mon exemple, j’ai bien sûr une série de termes de la forme “Montant.x” mais aussi des champs aux noms légèrement différents (“MontantEmballage” ou “MontantTransport” par exemple) plus explicites.
    A chacun sa manière…
    Bonne soirée à tous.

    #57934

    Ça fonctionne merci, par contre, j’ai une condition. Il faut que la case soit cochée.
    EX : je coche une case, ensuite dans une autre boite j’écrit le montant. Ce qui résulte à ce moment-là l’addition.

    1. J’ai ma case à cocher : “C.0”

    2. j’ai ma case “v.0” invisible qui a le script suivant :

    var c0 = this.getField(“c.0”);
    var aa = this.getField(“PrixOption.0”);

    if (c0.isBoxChecked (0))
        getField(“v.0”).value = aa.value;
    else
        getField(“v.0”).value = 0;

    3. Et j’ai la case suivante ou je met mon montant : “PrixOption.0”

    4. Ensuite j’ai mis le script que vous venez de me donner dans ma case total et l’addition se fait, par contre elle se fait que le carré soit coché ou non…

    #57935

    Voici mon document de test.

    Donc, je voudrais que l’utilisateur puisse écrire le montant qu’il désire, mais que ça se calcule seulement si la case est cochée.

    Au départ, le document a été monté de façon très élémentaire, mais j’aimerais que le travail s’effectue plus rapidement,
    d’où l’idée d’un script pour le calcul rapide des cases sans refaire l’opération de sélection 3000 fois.

    Merci beaucoup de m’aider !

    #57936

    Je viens de m’auto-répondre :) Je n’avais pas mis la demande de calcul aux bonnes places !!!
    Donc Merlin, ta Convention de dénomination des champs, c’est magique… je n’avais pas réalisé à quel point c’est efficace et surtout RAPIDE.

    Merci !

    #57937
    Merlin
    Maître des clés

    Dans mon exemple, j’ai bien sûr une série de termes de la forme “Montant.x” mais aussi des champs aux noms légèrement différents (“MontantEmballage” ou “MontantTransport” par exemple) plus explicites.

    J’ai bien noté cette particularité de ton script surpuissant, que je garde bien au chaud dans un coin…
    :extra:  :bravo:

Affichage de 7 réponses de 1 à 7 (sur un total de 7)
  • Vous devez être connecté pour répondre à ce sujet.