Copy link to clipboard
Copied
Bonjour voici ma situation. J'ai un champ à compléter par l'utilisateur. Un autre champ utilisera la donnée et si la donnée inscrite est inférieure ou égale à 35 000 le résultat à inscrire au champ sera1 et si le résultat des supérieur à 35 000 devra inscrire 2. Est-ce que quelqu'un peut m'aider avec le code et me dire si c'est un champ de validation ou de calcul.
Merci d'avance pour votre aide
Bonjour
Utilisez ce script qui serait mieux placé en script de Validation, après avoir modifié le nom du champ cible :
var oChamp = this.getField("autrechamp");
if (Number(event.value) > 35000) {oChamp.value = 2;}
else if (Number(event.value) <= 35000) {oChamp.value = 1;}
else {oChamp.value = oChamp.defaultValue;}
Sinon vous pouvez l'utiliser en script de Format Personnalisé, sauf si vous devez récupérer cette valeur dans un calcul ultérieur (un script de Format ne modifie pas la valeur d'un
...Placez ce script en script de calcul dans le champ qui doit afficher les mentions (et supprimez le votre) :
var oChamp = this.getField("total");
if (Number(oChamp.value) < 11) {event.target.value = "Conservateur";}
else if (Number(oChamp.value) >= 11 && Number(oChamp.value) > 17) {event.target.value = "Modéré";}
else if (Number(oChamp.value) >= 17) {event.target.value = "Audacieux";}
else {event.target.value = event.target.defaultValue;}
Copy link to clipboard
Copied
Hope you are doing well.
As mentioned that you want to add a custom calculation field in a PDF. Unfortunately there is no direct tool for this, you need to use a script to make this custom field.
Here is a similar discussion to know how to create custom calculation fields in the app.
Thanks,
Harsh
Copy link to clipboard
Copied
- What are the names of the fields?
- What should the second field show if the first field is empty?
Copy link to clipboard
Copied
le champ contenant les valeurs à valider se nomme Texte1 et le champ dans lequel j'attends le résultat se nomme Point Q5.
Copy link to clipboard
Copied
Bonjour
Utilisez ce script qui serait mieux placé en script de Validation, après avoir modifié le nom du champ cible :
var oChamp = this.getField("autrechamp");
if (Number(event.value) > 35000) {oChamp.value = 2;}
else if (Number(event.value) <= 35000) {oChamp.value = 1;}
else {oChamp.value = oChamp.defaultValue;}
Sinon vous pouvez l'utiliser en script de Format Personnalisé, sauf si vous devez récupérer cette valeur dans un calcul ultérieur (un script de Format ne modifie pas la valeur d'un champ, il ne modifie que son aspect, donc dans certains cas ça change tout).
Copy link to clipboard
Copied
Bonjour,
Je viens d'essayer ceci et je me demandais si au lieu de oChamp je devais inscrire le titre du champ dans lequel j'attends le résultat de la validation Merci pour votre aide!
var oChamp = this.getField("autrechamp");
if (Number(event.value) > 35000) {oChamp.value = 2;}
else if (Number(event.value) <= 35000) {oChamp.value = 1;}
else {oChamp.value = oChamp.defaultValue;}
Copy link to clipboard
Copied
Oui et non. 😉
Ce n'est pas le nom de la variable qu'il faut remplacer, c'est le nom du champ, en orange : autrechamp
Celui-ci est un exemple.
Copy link to clipboard
Copied
voici ma situation exactement
donc le champ ou est inscrit 200 $ est nommé "Valeur" et le champ dans lequel je veux faire la validation est inscrit Point(s) : et le résultat est 2 actuellement ce qui ne devrait pas être le cas car dans la validation je mentionne via votre formule que si Valeur < 35000 alors afficher 1 au champ. Voici mon code: var oChamp = this.getField("Valeur");
if (Number(event.value) > 35000) {oChamp.value = 2;}
else if (Number(event.value) <= 35000) {oChamp.value = 1;}
else {oChamp.value = oChamp.defaultValue;}
Copy link to clipboard
Copied
j'ai également essayer ceci mais également sans succès, le résultat obtenu est toujours 2
var v1 = Number(this.getField("Valeur").valueAsString);
var v2 = Number(this.getField("PointQ6").valueAsString);
if (v1==0) v2.value = "";
else if (v1 > 35000) v2.value = 2;
else if (v1 <= 35000) v2.value = 1;
Copy link to clipboard
Copied
Remplacez "autrechamp" par le nom du champ "Point(s)", étant entendu que "Point(s)" c'est le libellé du champ, ce n'est pas son nom (le nom est visible en mode Edition).
Et placez le script en script de Validation dans le champ "Valeur".
Copy link to clipboard
Copied
Un gros merci pour votre patience, la formule fonctionne ainsi! Bonne soirée à vous
Copy link to clipboard
Copied
Bonjour, j'ai une case dans laquelle je veux calculer le total de nombre inscrit dans d'autre champ si la valeur de ces champs est supérieur à 0. Si l'un des champs a une valeur égale à 0 ou vide je ne veux pas que le résultat du calcul à la case total s'affiche (afin d'éviter que des questions ne soient pas répondu. J'aurais besoin d'aide! Merci d'avance
Copy link to clipboard
Copied
Copy link to clipboard
Copied
je viens de regarder mais avec mes pauvres connaissance de ce code je ne m'y retrouve pas.
Copy link to clipboard
Copied
Comment sont nommés les champs dont il faut totaliser les valeurs ?
Copy link to clipboard
Copied
les champs dans lesquels doivent être inscrit un nombre supérieur à 0 pour faire le calcul dans l'autre cellule soit le total des autres champs en autant qu'il y ait un nombre supérieur à 0 dans chacune d'elles sont les suivantes: Point Q1, Point Q2, Point Q3 ... jusqu'à 6 et le champ ou doit être fait le calcul de la somme des champs Point Qn se nomme Total.
Copy link to clipboard
Copied
Placez ce script (non testé) en script de Calcul dans le champ "Total".
Il part du principe que les champs "Point Q..." sont tous au format Nombre, sinon ça risque de provoquer des erreurs.
var nTotal = 0;
var bVisible = display.visible;
for (var i=1; i<7; i++) {
var nTotal += this.getField("Point Q" +i).value;
if (this.getField("Point Q" +i).value == 0 || this.getField("Point Q" +i).value == "") {var bVisible = display.hidden;}
}
event.target.value = nTotal;
event.target.display = bVisible;
Copy link to clipboard
Copied
Je viens d'essayer le code et il me donne ce message d'erreur :
Copy link to clipboard
Copied
malheureusement mes essais pour ce code sont toujours infructueux pour l'instant.
Copy link to clipboard
Copied
Pouvez-vous partager tout ou partie de ce document ?
Copy link to clipboard
Copied
Copy link to clipboard
Copied
J'ai trois champs que je dois faire une validation pour le champ "Total", le champ "Profil d'investisseur" et le champ "Recommandation d'investissement".
Donc pour le champ "Total", une somme des champs point(s) doit être fait si les champs Point(s) (nommés Point Q1 à 7) sont différent de 0 ou "". Pour les deux autres champs le code devrait être similaire soit un texte à inscrire si valeur du champ total entre tel et tel donnée ou autre texte si entre tel et tel donnée ..
Copy link to clipboard
Copied
Copy link to clipboard
Copied
Merci beaucoup ça fonctionne effectivement, je vois maintenant mon erreur en comparant votre fichier au mien.
Copy link to clipboard
Copied
j'ai fait ce code pour un champ auquel je dois inscrire le terme "Conservateur" si le résultat du champ total est inférieur à 11, le terme "Modéré" si le résultat du champ "total" est supérieur ou égale à 11 et inférieur à 17 et finalement inscrire le terme "Audacieux" si le résultat du champ "total" est supérieur ou égale à 17 :
var oChamp = this.getField("total");
if (Number(event.value) < 11) {oChamp.text = "Conservateur";}
else if (Number(event.value) >= 11 && Number(event.value) <= 17) {oChamp.value = "Modéré";}
else if (Number(event.value) >= 17 ) {oChamp.value = "Audacieux";}
else {oChamp.value = oChamp.defaultValue;}
Mais je n'obtient pas de texte dans la case au final. Est-ce possible de m'éclairer sur la problématique de ce code svp?