Donnez vie à vos documents numériques !
 

Problème avec une formule

abracadabraPDF Forums PDF – Général Problème avec une formule

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #46606
    Pretre
    Membre

    Bonjour à tous,

    je me présenterais plus tard si il y a un forum dédié pour cela. Je viens vers vous pour une demande d’aide.

    J’ai cette formule dans mon PDF pour permettre des additions entre différentes cases et un total sur la dernière :

    var a = Number(this.getField(“AcroAb”).value);
    var b = Number(this.getField(“AcroRa”).value);
    var c = Number(this.getField(“AcroOth”).value);

    if(b == 0){
        event.value = 0;
        }
    else{
        event.value = a + b + c;
        }


    Or l’addition se fait bien, sauf si je met une valeur de 0 dans une des cases. Dans ce cas là mon total devient 0. Je n’arrive pas à voir ce qui ne va pas dans le code. Pour information, ce n’est pas moi qui l’ai codé, je l’ai trouvé sur une document déjà conçu et employé dans le mien. Quelqu’un peut il me donner un coup de main ?

Affichage de 6 réponses de 1 à 6 (sur un total de 6)
  • Auteur
    Réponses
  • #69253
    Merlin
    Maître des clés

    Bonjour et bienvenue

    Tu peux te présenter si tu veux mais il n’y a pas de rubrique dédiée, partant du principe que c’est un forum “technique” et qu’on n’y vient pas pour raconter sa vie. Contrairement à d’autres forums plus “relationnels”.  :geek:

    Où est placé ce script ?
    A priori il devrait fonctionner mais seulement s’il est placé en script de validation. Est-ce le cas ?
    Peux tu partager ton document ? (Voir : https://abracadabrapdf.net/forum/index.php/topic,2974.0.html)

    #69254
    Pretre
    Membre

    Rebonjour,

    déjà merci pour la réponse.
    Je vous mets le lien du document car il est trop lourd pour être placé en pièce jointe :

    http://pretreart.free.fr/jdr/MnM/MM3_FdP_edit.pdf

    Les calculs sont sur la page 2 dans la partie Compétence.

    #69255
    Pretre
    Membre

    Après plusieurs essai, j’ai l’impression que c’est quand le 0 est mis en valeur b que ca créait le bug.

    #69256
    Merlin
    Maître des clés

    :Smiley01:
    Ce n’est pas un bug, c’est une conséquence logique et attendue.
    Traduction :

    if (b == 0) {  // si la valeur de b est égale à zéro
        event.value = 0; // la valeur résultante devient zéro
    }
    else {  // sinon (si la valeur de b est différente de zéro)
        event.value = a + b + c; // la valeur résultante devient la somme de a+b+c
    }

    Pour un calcul sans condition on peut utiliser les fonctions de calcul d’Acrobat, ou la notation simplifiée :
    AcroAb + AcroRa + AcroOth

    Ou le JavaScript :
    var a = Number(this.getField(“AcroAb”).value);
    var b = Number(this.getField(“AcroRa”).value);
    var c = Number(this.getField(“AcroOth”).value);
    event.value = a + b + c;

    #69257
    Pretre
    Membre

    Ok donc le problème venait de là, j’aurais du le voir. En fait c’est le a qui devrait ramener à 0 et non le b. Merci en tout cas pour l’aide apportée :)

    #69258
    alexsunny123
    Participant

    Thanks for awesome information.

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