Donnez vie à vos documents numériques !
 

Problème script pour somme de données

abracadabraPDF Forums PDF – Général Problème script pour somme de données

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #45146
    CHERIBIBI
    Membre

    Bonjour,

    Je veux faire la somme de 4 champs. j’ai mis ce script :

    var PH11 = this.getField(« PH1-1 »).value;
    var PH12 = this.getField(« PH1-2 »).value;
    var PH13 = this.getField(« PH1-3 »).value;
    var PH14 = this.getField(« PH1-4 »).value;
    var U1 = this.getField(« U1 »).value;
    if(U1 != «  » && U1 != « 0 »)
    {
    event.value = (PH11+PH12+PH13+PH14) +  » u20AC »;
    }
    else {event.value = «  »;
    }

    Cela fonctionne bien si tous les champs sont renseignées. Par contre si je rempli que 2 ou 3 champs, j’ai une erreur.

    Exemple : PH11 = 10 et PH13 = 15 j’ai ce résultat : 1015 au lieu de 25

Affichage de 5 réponses de 1 à 5 (sur un total de 5)
  • Auteur
    Réponses
  • #58912
    alex
    Membre

    Bonjour,
    Si on ne précise pas le format des données saisies, le traitement procède à une concaténation de chaînes.
    On peut s’affranchir de cette « formalité » en forçant le traitement à calculer une somme, pour cela on ajoute 1* (multiplication par 1 qui lève l’ambiguité puisqu’il y a un opérateur).

    //Je veux faire la somme de 4 champs. j’ai mis ce script :
    console.clear();
    var PH11 = this.getField(« PH1-1 »).value;
    var PH12 = this.getField(« PH1-2 »).value;
    var PH13 = this.getField(« PH1-3 »).value;
    var PH14 = this.getField(« PH1-4 »).value;
    var U1 = this.getField(« U1 »).value;
    if(U1 != «  » && U1 != « 0 »)
    {
    total=1*PH11+1*PH12+1*PH13+1*PH14;
    console.println(« Resultat= »+total);
    this.event.value = total +  » u20AC »;
    }
    else
    {
    this.event.value = «  »;
    }
    Voir maquette.

    #58913
    CHERIBIBI
    Membre

    Bonsoir,

    Merci pour l’info. Je teste cela ce WE.

    Bon WE

    #58914
    Merlin
    Maître des clés

    On peut s’affranchir de cette « formalité » en forçant le traitement à calculer une somme, pour cela on ajoute 1* (multiplication par 1 qui lève l’ambiguité puisqu’il y a un opérateur).

    Le killer tip qui déchire tout !
    Je le note.

    :bravo:  :extra:

    #58915
    alex
    Membre

    Oui, c’est usant de paramétrer les formats des champs numériques un à un (et on ne peut pas le faire par script). Alors, quand ce n’est pas nécessaire on s’en passe… au moins dans les tests.

    #58916
    CHERIBIBI
    Membre

    Bonjour,
    Je viens de tester c’est OK, merci alex.
    Bon WE

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