Donnez vie à vos documents numériques !
 

Ne pas avoir de zéro ou 0,00€ dans un champ text

abracadabraPDF Forums PDF – Général Ne pas avoir de zéro ou 0,00€ dans un champ text

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #46241
    Kcirtap24
    Participant

    Bonsoir,

    je tourne en rond depuis ce matin a vouloir cacher les 0 ou 0.00€. Pour certains champs il suffit de mettre 

    Code:
    if (event.value == 0) {event.value = “”}

    dans validation et d’exécuter un Script de validation.
    Mais d’autre fois ça ne fonctionne pas ou cause une erreur ailleurs  du style : “La valeur indiquée ne correspond pas au format du champ “.
    Je n’arrive pas à cacher les trois champs tva par exemple, et je ne suis pas partisan de changer le contenu du champ en blanc .
    J’ai joint le fichier pour vous montrer.

    Merci, bonne soirée.

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

    Bonjour et bienvenue

    – Le truc c’est qu’à l’origine ce script est un script de Format, pas un script de Validation.
    La différence c’est qu’un script de Format ne change pas la valeur du champ, il change seulement son aspect visuel, contrairement au script de Validation. C’est pour ça qu’il intervient en dernier.
    Tu comprendras mieux en voyant le schéma principal illustrant cet article : https://www.abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/lordre-dexecution-des-evenements-dans-les-champs-de-formulaire-pdf/

    En informatique, zéro et rien ce n’est pas pareil. Le zéro est un chiffre, le rien n’est pas calculable (isNaN : is Not a Number).
    D’où les erreurs en cascade, parce-que les valeurs de ces champs sont reprises dans d’autres calculs, qui ne peuvent pas se contenter d’un “rien”.

    – En général on utilise les options de Format “nombre” pour contraindre et prévenir les erreurs de saisie de l’utilisateur. Mais s’agissant de champs calculés (et donc verrouillés en lecture seule) ça n’a aucun intérêt puisque si une valeur est issue d’un calcul son format est forcément bon.
    Donc il faut que tu places ce script en script de Format, sans utiliser le format proposé par Acrobat.
    C’est l’un ou l’autre.

    – Comment avoir le symbole € quand même ?
    Tu as le choix entre : t’en passer (ça se fait), l’ajouter “en dur” sur la page mais il restera statique, ou bien utiliser un script de Format personnalisé qui gère le nombre de décimales, les arrondis, le symbole € et le zéro (= bonne prise de tête).
    Ou sinon… Plus simplement… Utiliser un simple script (de Validation) pour changer la couleur du texte en blanc quand la valeur est égale à zéro. Sans nuire aux calculs ultérieurs.
    :Smiley15:

    Form-event-processing.png

    #67036
    Kcirtap24
    Participant

    Bonsoir, merci pour ta réponse tu m’a donné des pistes que j’ai plus qu’a exploiter . J’essaye de faire le nécessaire et je te reposte mon fichier pour te faire voir et peut être corrigé .
    Merci  bonne soirée.

    #67037
    bebarth
    Maître des clés

    bonsoir,
    Tu mets les 3 champs de TVA avec un format “Script de format personnalisé” où tu écris :

    Code:
    function Arrondi(valeur, nbDecimales) {
        return Number(Math.round(valeur+”e”+nbDecimales)+”e-“+nbDecimales);
    }

    if (event.value!=0) {
        event.value=Arrondi(event.value,2)+” €”;
    } else {
        event.value=””;
    }

    Si tu veux, tu peux également mettre la fonction en script de document.
    @+
    :bonjour:

    #67038
    Kcirtap24
    Participant

    Bonsoir, merci beaucoup j’ai essayé dans le “Script de format personnalisé” fonctionne bien et dans le Script du document  je re tenterai demain lundi  parce que fonctionne pas .
    Et je reposterai le fichier sans ton Script juste pour te faire voir ce que j’avais commencer à faire en suivant les pistes de Merlin .
    Encore merci  bonne soirée.

    #67039
    bebarth
    Maître des clés

    bonjour,
    Voici avec la fonction en script de document.
    @+
    :bonjour:

    #67040
    Kcirtap24
    Participant

    Bonjour, je comprends j’avais tout collé dans le Script de document  ça fonction bien maintenant.
    Merlin m’avait donné des pistes alors voilà le résultat. Bebarth , Je n’ai pas intégré tes Scripts juste pour te faire voir comment je me suis débrouillé .
    Bonne journée.

    #67041
    Kcirtap24
    Participant

    Bonsoir, j’ai du faire une mauvaise manipulation  en modifiant  le message de hier que j’ai mis  à  jour aujourd’hui. Désolé.

    #67042
    Merlin
    Maître des clés

    voilà le résultat

    :bravo:

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