Donnez vie à vos documents numériques !
 

Répondre à : calculs conditionnels liste et tarif dégressif

abracadabraPDF Forums PDF – Général calculs conditionnels liste et tarif dégressif Répondre à : calculs conditionnels liste et tarif dégressif

#62801
Merlin
Maître des clés

Tu devrais utiliser la Console JavaScript : chaque changement de valeur provoque une liste d’erreurs longue comme une feuille A4…
==> https://www.abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/console-javascript-d-acrobat/

Dans le champ TP5HT on trouve ce script de calcul qui ne fonctionne pas :

// mise en variable des champs
var f = this.getField(« Q5 »);
var g = this.getField(« P5HT »);
// teste si le champ PRIX HT est vide
if (g.value == null || f.value == «  »)
// s il est vide
event.value = 0;
//sinon, si pas vide
else
event.value = f.value * g.value

J’insiste encore sur l’importance de la syntaxe, des accolades, des parenthèses et du point-virgule qui marque la fin d’une instruction.
Le même script corrigé fonctionne correctement :

// mise en variable des champs
var f = this.getField(« Q5 »);
var g = this.getField(« P5HT »);
// teste si le champ PRIX HT est vide
// s il est vide
if (g.value == null || f.value == «  ») {event.value = 0;}
//sinon, si pas vide
else {event.value = (f.value * g.value) * 1;}

Astuce : sur la dernière ligne j’ai mis le calcul entre parenthèses et je l’ai multiplié par 1, c’est un moyen de forcer JavaScript à considérer toutes les valeurs calculées comme des nombres et non pas comme des chaines de caractères, ce qui bloque parfois les calculs.