Donnez vie à vos documents numériques !
 

Calcul si conditions

abracadabraPDF Forums PDF – Général Calcul si conditions

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #46114
    GClaire
    Membre

    Bonjour à vous.

    Étant nouveau, j’ai bien cherché un endroit où il fallait se présenter comme sur d’autres forums, mais je n’ai rien trouvé.

    Je cherche donc à faire un calcul dans un champ de texte si la valeur de celui-ci n’est pas négative ou = à 0

    J’ai tenté déjà la condition si pas négative, mais le script ne fonctionne pas, j’ai du faire une erreur.

    if(this.getField(“undefined_17”).value – this.getField(“TD0602-2”).value<0) this.getField("1_8").value =this.getField("undefined_17").value - this.getField("TD0602-2") ;
    else
    this.getField(“1_8″).value =””;

    Ou ai-je pu faire une erreur ?

    En fait ce que je voudrais faire c’est :

    Si Undefined_16 est strictement supérieur à TD0602-2 que cela fasse le calcul

    this.getField(“undefined_17”).value – this.getField(“TD0602-2”)

    Sinon que cela indique rien

    Merci par avance.

    Cordialement, G’Claire

Affichage de 26 réponses de 1 à 26 (sur un total de 26)
  • Auteur
    Réponses
  • #66048
    GClaire
    Membre

    Re

    j’ai tenté cela, mais avec une erreur 3, erreur de syntaxe.

    if(this.getField(“TD0602-2”)>this.getField(“undefined_17”).value);
    this.getField(“1_8”).value=this.getField(“TD0602-2”)-this.getField(“undefined_17”).value;
    else
    this.getField(“1_8″).value =””;

    Merci, G’Claire

    #66049
    bebarth
    Maître des clés

    bonjour,
    Si j’ai bien compris, il faut écrire :

    Code:
    if (this.getField(“Undefined_16”).value > this.getField(“TD0602-2”).value) {
    this.getField(“1_8”).value = this.getField(“undefined_17”).value – this.getField(“TD0602-2”).value;
    } else {
    this.getField(“1_8″).value =””;
    }

    @+
    :bonjour:

    #66050
    GClaire
    Membre

    Hello Bebarth

    Merci pour ta réponse.

    Malheureusement cela n’affiche rien dans le control.

    Je joins le fichier, on ne sait jamais…

    Merci, beaucoup

    G’Claire

    #66051
    bebarth
    Maître des clés

    bonsoir,
    Il faut respecter les majuscules… “undefined_16” n’est pas la même chose que “Undefined_16”.

    Code:
    if (this.getField(“undefined_16”).value > this.getField(“TD0602-2”).value) {
        event.target.value = this.getField(“undefined_17”).value – this.getField(“TD0602-2”).value;
    } else {
        event.target.value = “”;
    }

    @+
    :bonjour:

    #66052
    GClaire
    Membre

    Bebart

    Merci beaucoup, fichier modifié, c’est Ok.

    Je me met depuis peu à JavaScript pour Adobe Acrobat, une belle subtilité le respect des majuscules, j’aurais pu chercher longtemps .

    Merci, bonne journée.

    G’Claire

    #66053
    GClaire
    Membre

    Re

    Je me confronte a un autre petit soucis.

    Je souhaite que si TVANETDU_2_8 est vide, que le champ 3_2 soit vide, sinon le remplir en effectuant le calcul de la variable Var_TotPayer

    Quand je fais ok dans l’éditeur cela fonctionne mais si je reviens dans le formulaire pour test, et bien KO.

    cela fait l’inverse

    j’ai donc mis dans mon champ :

    Code:
    Var_TotPayer = this.getField(“TVANETDU_2_8”).value + this.getField(“TaxesAss2_9”).value – this.getField(“A_B”).value

    if (this.getField(“TVANETDU_2_8”).value = “”)

    {
    event.target.value = “”;
    }
    else
    {
    event.target.value = Var_TotPayer;
    }

    Ou ai-je pu faire une erreur?

    Merci pour votre aide.

    Cordialement, G’Claire

    #66054
    bebarth
    Maître des clés

    bonjour,
    Essaie avec :

    Code:
    var Var_TotPayer = …

    et

    Code:
    event.target.value == “”;


    @+
    :bonjour:

    #66055
    GClaire
    Membre

    Bonjour Le fofo, Bebarth

    Merci pour ta réponse rapide.

    Oui j’avais zappé la variable var, j’ai changé ma deuxième erreur, mais rien y fait.

    C’est pourtant un truc simple a faire, mais je bute.

    Merci, G’Claire

    #66056
    GClaire
    Membre

    Hello.

    J’ai beau tourner le code dans tous les sens, je ne vois pas ce qui fait que cela ne fonctionne pas.
    Surtout que j’ai juste à ouvrir et fermer la fenêtre où l’on met le script pour que cela se fasse correctement.

    Code:
    var Var_TotPayer = this.getField(“TVANETDU_2_8”).value + this.getField(“TaxesAss2_9”).value – this.getField(“A_B”).value
    ;
    if (this.getField(“TVANETDU_2_8”).value = “”)
    {
    event.target.value == “”;
    }
    else
    {
    event.target.value = Var_TotPayer;
    }

    Si vous avez une idée.

    Merci.

    Cordialement G’Claire

    #66057
    bebarth
    Maître des clés

    je regarde plus tard, mais ce serait plutôt :

    Code:

    If (…value == ““) {
    event.target.value = ““
    } else {

    == est actuellement égal à
    = devient égal à
    @+
    :bonjour:

    #66058
    Merlin
    Maître des clés

    Bonjour et bienvenue.

    Étant nouveau, j’ai bien cherché un endroit où il fallait se présenter comme sur d’autres forums, mais je n’ai rien trouvé.

    Cette rubrique n’existe pas dans ce forum, parce-que l’expérience démontre que tu es l’exception qui confirme la règle : en général la plupart des utilisateurs ignorent cette étape.
    En même temps c’est “normal” : on n’est pas sur un forum relationnel, on vient ici pour des raisons techniques et on n’y parle que de techniques.

    :Smiley15:

    #66059
    GClaire
    Membre

    Bonjour et bienvenue.
    Cette rubrique n’existe pas dans ce forum, parce-que l’expérience démontre que tu es l’exception qui confirme la règle : en général la plupart des utilisateurs ignorent cette étape.
    En même temps c’est “normal” : on n’est pas sur un forum relationnel, on vient ici pour des raisons techniques et on n’y parle que de techniques.

    :Smiley15:

    Hello

    Ok, car je suis sur de nombreux forum, même technique, si tu te présentes pas c’est la guillotine, lol.

    Merci, bonne fin de week.

    G’Claire

    #66060
    GClaire
    Membre

    je regarde plus tard, mais ce serait plutôt :

    Code:

    If (…value == ““) {
    event.target.value = ““
    } else {

    == est actuellement égal à
    = devient égal à
    @+
    :bonjour:

    Merci pour ta réponse dominicale, lol.

    je viens de tester, idem.

    Je ne comprend pas, même si je ne suis pas a fond JS, cela devrait fonctionner.

    Merci, G’Claire

    #66061
    Merlin
    Maître des clés

    Si vous avez une idée.

    Essaye ça :

    if (this.getField(“TVANETDU_2_8”).value == “”)
    {
    event.target.value = “”;
    }

    else
    {
    event.target.value = this.getField(“TVANETDU_2_8”).value + this.getField(“TaxesAss2_9”).value – this.getField(“A_B”).value;
    }

    Par ailleurs il me semble qu’il ne faut pas que le nom d’une variable commence par “var…”…
    À éviter par prudence.

    #66062
    bebarth
    Maître des clés

    As-tu essayé le fichier que je t’avais joins ??? Ça fonctionne !!!
    Il faut revoir les ordres de tabulation et les ordres de calcul des champs.
    Voici un nouveau fichier où j’ai juste changé l’ordre de calcul des 2 derniers champs. Je n’ai pas tout vérifié…
    @+
    :bonjour:

    #66063
    GClaire
    Membre

    Essaye ça :

    if (this.getField(“TVANETDU_2_8”).value == “”)
    {
    event.target.value = “”;
    }

    else
    {
    event.target.value = this.getField(“TVANETDU_2_8”).value + this.getField(“TaxesAss2_9”).value – this.getField(“A_B”).value;
    }

    Par ailleurs il me semble qu’il ne faut pas que le nom d’une variable commence par “var…”…
    À éviter par prudence.

    Hello Merlin.

    Merci pour ta réponse.

    J’ai testé après ton conseil, en supprimant le “var_” dans le nom de la variable, rien y change, zut….

    Et j’ai changé avec ton code.

    même constat.

    Merci.

    G’Claire

    #66064
    GClaire
    Membre

    As-tu essayé le fichier que je t’avais joins ??? Ça fonctionne !!!
    Il faut revoir les ordres de tabulation et les ordres de calcul des champs.
    Voici un nouveau fichier où j’ai juste changé l’ordre de calcul des 2 derniers champs. Je n’ai pas tout vérifié…
    @+
    :bonjour:

    Hello Bebart

    Oui j’avais testé ton fichier, c’est la moindre des choses je pense, hihi.

    Bon a priori c’est OK, sur ton dernier fichier.

    Je refais quelques tests, pour ensuite mettre le post en résolu.

    Merci a tous pour votre aide.

    G’Claire

    #66065
    GClaire
    Membre

    Hello la communauté.

    Désolé de ne pas avoir donné de nouvelles avant, mais un imprévu (hospitalisation de mon fils), a fait que je n’étais trop dispo et je profite qu’il dorme pour vous répondre.

    Donc tout fonctionne très bien.

    Le truc que je ne comprend pas trop, c’est l’histoire de l’ordre de calcul.

    Si on passe par un script, ça n’est pas le code qui prime sur l’ordre dès champs?

    Merci, G’Claire.

    #66066
    bebarth
    Maître des clés

    bonjour et bon rétablissement pour ton fils !
    Il y a 2 choses différentes qui sont l’ordre de tabulation et l’ordre de calcul des champs.
    Si tu as 2 champs A et B qui sont eux-mêmes des résultats de calculs et que le champ C et la somme de A + B, si tu commences à calculer le champ C avant les 2 autres, il risque d’y avoir une erreur non pas de calcul, mais sur le résultat escompté !
    @+
    :bonjour:

    #66067
    GClaire
    Membre

    Le fofo, Bebarth.

    Merci pour mon fils.

    Ok, oui je comprend, c’est logique.

    Je vais regarder cela mieux.

    Merci, pour le coup de pouce.

    G’Claire

    #66068
    masemrom
    Membre

    Bonjour, je suis nouveau et utilise dans un cadre professionnel acrobat pro dc.J’ai une date limite de rendu de formulaire avec calculateur très courte.Mon problème est le suivant.J’édite  un formulaire avec 2 boutons radio pour chaque case tarif.le premier une fois coché affiche sur le formulaire le tarifle deuxieme une fois coché masque ce même tarif.Ceci avec plusieurs tarifs différents.Le but étant que lorsque le tarifs est affiché il se calcul dans la case TOTAL, et ainsi s’additionne avec tous les tarifs sélectionnés, en revanche lorsqu’il n’est pas sélectionné, il ne doit pas s’afficher dans total et donc ne pas s’additionner avec les autres tarifs.Jusqu’à présent  j’ai essayé avec les actions ou en javascript et rien y fait mon tarif reste actif dans le total.Svp quelqu’un à t’il une piste pour m’aiderCordialement

    #66069
    bebarth
    Maître des clés

    bonjour,
    Ou est le champ TOTAL ??? il faut le créer ?
    Il ne suffit pas de voir ou cacher un champ pour tenir compte ou ignorer sont contenu !!!
    Il y a un peu tout à revoir dans ton formulaire…
    Je t’ai fait la première ligne !
    @+
    :bonjour:

    #66070
    Merlin
    Maître des clés

    Bonjour et bienvenue le nouveau (nous avons donc deux nouveaux et deux anciens dans ce sujet  :Smiley03: )

    Il n’y a pas besoin de JavaScript dans ton cas :
    – Oublie les jeux de deux boutons-radio et utilise une seule case à cocher à la place.
    – Affecte à chaque case à cocher le montant du tarif correspondant comme “valeur d’exportation”.
    – Dans le champ total il ne reste plus qu’à utiliser la fonction de calcul “somme” pour additionner toutes les cases à cocher.
    – Et si préalablement tu as utilisé la “convention de dénomination des champs de formulaires” tu n’auras qu’une seule case (parente) à sélectionner pour additionner toutes les cases “tarif” .
    Voir : https://www.abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/duplication-rapide-de-champs-de-formulaire/

    ;-)

    #66071
    GClaire
    Membre

    Bonjour et bienvenue le nouveau (nous avons donc deux nouveaux et deux anciens dans ce sujet  :Smiley03: )

    :extra: :extra: :extra:

    C’est quand même impressionnant quand on se penche sur un soft pour des besoins plus précis, que l’on découvre tout ce que l’on peut faire avec.
    En général on se dit : «c’est juste du PDF» et en fait c’est bien plus.

    J’ai refilé mon fichier a un ami, il m’a dit texto : «on peut faire tout ça avec Acrobat ?».
    Je lui ai répondu : «et encore y’a rien là….»

    Et je m’en sers tous les mois, même si tout se fait en ligne, je garde une trace sur PC, et il m’aide bien ce fichier.

    Encore merci.
    G’Claire.

    #66072
    masemrom
    Membre

    Salut Merlin

    Merci pour tes informations, cependant demeure une interrogation, comment dois je faire pour attribuer une valeur d’exportation à une case à cocher ?

    Cordialement Thomas

    #66073
    Merlin
    Maître des clés

    Il faut faire un clic-droit sur la case à cocher (avec l’outil d’édition des champs de formulaire) : Propriétés : Options : Valeur d’exportation (Export value).
    :Smiley15:

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