Toutes mes réponses sur les forums
-
AuteurRéponses
-
bebarthMaître des clésbonjour,
A, B, C… sont les noms des champs ?
Pour chaque ligne, Total est la somme Source+Argent+Services ? et à quoi correspond Pourcentage ?…Sinon merci de préciser ta demande !
@+
😎
bebarthMaître des clésbonjour,
Ou en une ligne :
for (var i=0; i<this.numFields; i++) this.getField(this.getNthFieldName(i)).userName="";
Je regarde pour la suite plus tard !Pour mon adresse e-mail, je ne sais pas si on peut la trouver sur le nouveau forum ! J’ai cherché mais je n’ai pas trouvé…
C’est bebarth arrobase sfr point fr. Tu écris ça correctement et ça devrait m’arriver…@+
bebarthMaître des clésbonjour,
Hello, Alors oui on peut l’amélioré et d’une façon simple j’espère ;O) Quand je renomme les champs.. si il y a une info bulle… il remet partout la même… ;O( si on peut déjà virer ça c’est top..)
Sans vouloir jouer sur les mots, ce n’est pas une amélioration, mais une adaptation pour résoudre ton problème !
Lorsque tu dis « il remet la partout même » je suppose que tu veux dire « il remet partout l’existante », car c’est ce qui est prévu par le script.
Pour supprimer les info-bulles, il faut écrire :
...
}
f.userName="";
if (leType=="text") {
...
En ce qui concerne l’ordre de tabulation, est-ce que les champs texte sont remplis ?
Est-il envisageable d’indiquer l’ordre de tabulation souhaité dans ces champs ? La numérotation serait évidemment retirée automatiquement !…et t’est-il possible de me faire parvenir un fichier via mon adresse e-mail ?
@+
😎
bebarthMaître des clésbonjour,
D’abord je souhaiterai créer un menu déroulant dans lequel je sélectionnerai l’horaire de ma consultation pour qu’une valeur s’affiche sous le format : yyyymmdd »une valeur de 01 à 14″
Pourrais-tu expliquer un peu ! Je ne suis pas certain d’avoir compris… et je suis même certain de n’avoir pas compris. 😉
Pour la question suivante, te serait-il possible de partager un fichier (bidon) car il y a certainement plusieurs raison possibles !
La première étant de regarder si tous les champs ont bien la propriété « Visible à l’écran ».@+
😎16 juin 2022 à 23:56 en réponse à : Ajout d’une page (verso.pdf) à une série de pages (rect.pdf) #71199
bebarthMaître des clésbonsoir,
J’ai loupé la question…
Donc voici le sujet original :
…et en pièce jointe (compressée) le fichier action ainsi qu’un exemple pour illustrer le sujet.@+
😎Attachments:
You must be logged in to view attached files.
bebarthMaître des clésbonjour,
Voici un fichier que j’avais partagé en réponse à ce sujet :
Peut-être pourra-t-il t’être utile !!!@+
😎Attachments:
You must be logged in to view attached files.
bebarthMaître des clésbonjour,
En fait, ça dépend du type et du nombre de couleurs.
Si ce sont des aplats de couleurs bien définies, tu peux les indiquer comme dans le fichiers joint.Si ce sont des couleurs Pantone ou des dégradés par exemple il te faudra incorporer des images directement dans des champs que tu peux afficher/masquer en fonction de la sélection, soit créer des icônes et les faire apparaitre dans un champ unique toujours en fonction de la sélection.
Pour ces 2 derniers cas, le poids du fichier dépendra donc du poids des images qui auront été importées dans le pdf.@+
😎Attachments:
You must be logged in to view attached files.
bebarthMaître des clés…mais il faut l’amélioré…
Il faudrait l’améliorer… si c’était possible !
Dans un monde parfait où on a pensé à tout, l’ordre de tabulation est identique à l’ordre de création des champs.
Sauf que, pauvres mortels que nous sommes, nous ne pensons pas tout juste du premier coup l’ordre de tabulation est modifié alors que l’ordre de création ne l’est pas… Et par dessus ça, il n’est pas possible de modifier l’ordre de tabulation via JavaScript. Du coup, il n’est pas possible de redéfinir un ordre de création de nouveau champ par rapport à un ordre de tabulation.
Le seul ordre qu’il est possible de modifier est l’ordre de calcul… à la limite il faudrait avant de lancer un script, placer un calcul bidon dans l’ordre de tabulation, mais ça fait du travail manuel sur tous les champs et ce n’est pas ce qui est recherché… Autant renommer manuellement tous les champs !@+
😎11 juin 2022 à 20:52 en réponse à : Actions à réaliser suivant réponses des groupes de boutons radio #71160
bebarthMaître des clésbonsoir,
Tu peux essayer wetransfer ou autre…@+
😎
bebarthMaître des clésbonjour,
Il faut placer un champ image. Lorsque l’utilisateur clique dessus, l’interface utilisateur demande de sélectionner un fichier.@+
😎Attachments:
You must be logged in to view attached files.
bebarthMaître des clésLa propriété « required » ne s’applique pas aux boutons, il faut donc les retirer de la condition.
Voici le script a appliquer :
var nCompt=0;
for (var i=0; i<this.numFields; i++) {
var oChamp=this.getField(this.getNthFieldName(i));
if (oChamp.type!="button" && oChamp!=null && oChamp.required==true && oChamp.value==oChamp.defaultValue) nCompt++;
}
if (nCompt>0) app.alert("Merci de cocher tous les champs obligatoires.");Attachments:
You must be logged in to view attached files.
bebarthMaître des clésbonjour,
Le sujet a déjà été traité plusieurs fois, dont une des dernières :On ne peut pas empêcher l’utilisateur d’enregistrer un document. Ce qu’on peut faire, c’est de lancer un script d’« Action du document » lorsque « Le document sera enregistré » qui vérifiera et affichera éventuellement un message d’alerte.
Le post indiqué ci-dessus devrait pouvoir résoudre ton problème.
N’hésite pas à partager un fichier si cela t’est possible pour une aide plus spécifique.@+
😎
bebarthMaître des clésbonjour,
Voici l’adaptation du script d’un post auquel j’ai répondu récemment :
https://community.adobe.com/t5/acrobat-discussions/i-have-read-all-sorts-of-how-to-on-populating-a-drop-down-list/td-p/12862536
J’ai juste modifié une ligne pour ajouter une valeur d’exportation :
for (var i=1; i<cells.length; i++) theNames.push([cells[1],cells[0]]);@+
😎Attachments:
You must be logged in to view attached files.
bebarthMaître des clés
bebarthMaître des clésCe script remet exactement les mêmes propriétés !
Mais si il faut en modifier (fond, police…), tu me dis et je peux l’adapter.@+
😎
bebarthMaître des clésC’est exactement ce que fait le script inclus dans le fichier… « Script » !
Il faut sélectionner tout ce script, le coller dans la console vide, modifier la ligne n° 2 en indiquant le nouveau nom des champs (sans index), puis sélectionner tout le script de la console et ENTER du pavé numérique.Sinon, voici une action où il faudra également modifier la ligne n° 2.
@+
😎Attachments:
You must be logged in to view attached files.
bebarthMaître des clésbonjour,
Voici un script à exécuter depuis la console :
// Nouveau nom à incrémenter
var nomIncr="DJCK";
// Pour "DJCK_000", "DJCK_001", "DJCK_002", etc.
var nomChamps=[];
...
}…et en pièce jointe une action pour renommer un champ.
Je joins un fichier avec le script car il n’était pas afficher correctement même au format « Code ».
@+
😎-
Cette réponse a été modifiée le il y a 4 années et 1 mois par
bebarth.
Attachments:
You must be logged in to view attached files.
bebarthMaître des clésbonjour,
2 choses :- Il est impossible de renommer un champ via JavaScript. Par contre (et c’est ce que fait ton exemple) il est possible de créer un champ avec un nouveau nom, qui a les mêmes propriétés puis de supprimer le champ initial.
Par contre, il est impossible de lire (donc de « coller » dans le nouveau champ les formats et les différents scripts appliqués à ce champ).
On ne peut pas les copier, mais si on les connait on peut les réécrire… - Le script que tu indiques permet de « renommer » les champs dont le nom contient un point et de le changer par un dièse. Je ne crois pas comprendre que c’est ce que tu veux exactement faire !
Veux-tu renommer avec un nom incrémental tous les champs ou seulement certains ???
@+
😎
bebarthMaître des clésCe n’était pas ce que tu voulais faire ?
Qu’entends-tu par « rien afficher » ?
Si c’est un élément vide, il faut qu’il existe (ou le créer) et exécuter :
this.getField("nomChampListe").value=""s’il n’y a pas de valeur d’exportation outhis.getField("nomChampListe").value="valeurDexportation» s’il y en a une !@+
😎
bebarthMaître des clésbonjour,
Il faut exécuter :
this.getField("nomChampListe").clearItems();@+
😎
bebarthMaître des clés…du coup, avec les calques le fichier est un peu plus lourd.
Voici un lien pour le récupérer :
https://we.tl/t-omF635mC5L@+
😎
bebarthMaître des clésVoici ce que je t’ai fait en créant des calques à partir d’un fichier Illustrator enregistré en « Couleurs.pdf ».
Tu me dis !@+
Attachments:
You must be logged in to view attached files.
bebarthMaître des clésLe tick de la case à cocher et la flèche ne font-ils pas double emploi ?
Je regarde ça dans la soirée !@+
😎
bebarthMaître des clésPeux-tu partager le fichier de cette étiquette ?
@+
😎
bebarthMaître des clésQu’as-tu comme type de fichier pour travailler ?
Peux-tu générer des calques ?
Peux-tu avoir un fichier des les flèches en toutes les couleurs ?
Le fichier pdf est-il juste cette étiquette ?
@+
😎
bebarthMaître des clésbonjour,
Je n’ai pas compris ce que tu voulais changer de couleur !@+
😎
bebarthMaître des clésbonjour,
Bonjour ou plutôt bonsoir bref autodidacte c’est pas facile !!!
…et ce n’est pas fini… mais tu y arriveras si tu le veux !
Il faudra y passer des heures et des nuits où certaines fois tu penseras ne jamais y arriver, mais à force de travail tu y arriveras.Il va falloir que tu lises et relises l’API reference (en espérant que tu comprennes un peu l’anglais)
https://opensource.adobe.com/dc-acrobat-sdk-docs/acrobatsdk/html2015/index.html#t=Acro12_MasterBook%2FIntroduction_Help_TitlePage%2FAbout_This_Help.htmles tutos abracadabraPDF
https://www.abracadabrapdf.net/category/ressources-et-tutos/js-et-formulaires-ressources/les références JavaScript
https://www.w3schools.com/jsref/default.aspet que tu fasses pas mal de recherches internet.
Il va falloir également apprendre les syntaxes JavaScript d’Acrobat.
Tu aurais dû écrire ton script comme ceci :var sommeC = this.getField("Total_C06").value+this.getField("Total_C09").value;
var A = (Math.floor(sommeC*10));
var B = sommeC*10;
var D = 0;
if ((B - A) >= 0.5) D += 1;
if ((B - A) < 0.5) D = 0;
event.value=((A+D)/10);et dans quelques temps tu l’écriras comme ça :
event.value=(this.getField("Total_C06").value+this.getField("Total_C09").value).toFixed(1);Courage !
@+
😎
bebarthMaître des clésbonjour,
Si tu utilises le point en séparateur décimal, tu peux juste utiliser ce script en format personnalisé :
if (event.value<10) event.value="0"+event.value;Si tu utilises la virgule, il faudra utiliser celui-ci (qui fonctionne également avec le point mais qui est un peu plus compliqué).
if (Number(event.value.replace(/,/,"."))<10) event.value="0"+event.value;@+
😎Attachments:
You must be logged in to view attached files.
bebarthMaître des clésbonjour,
this.getField(« CHAMP2 »).value = event.value;
Cela vient des guillemets à la française. Il faut écrire :
this.getField("CHAMP2").value = event.value;@+
😎
bebarthMaître des clésbonjour,
Voici un exemple comme l’a expliqué Merlin, avec un script de validation.@+
😎Attachments:
You must be logged in to view attached files.
bebarthMaître des clésbonjour,
Tu utilises la commande « print » :Il y a plusieurs paramètres, mais tu peux juste utiliser ceux-ci pour imprimer la page courante en pleine page et sans interface utilisateur :
this.print({bUI: false, nStart: this.pageNum, bShrinkToFit: true});@+
😎
bebarthMaître des clésbonjour,
Je n’ai pas bien compris…
Peux-tu donner un exemple de ce que tu récupères et ce que tu souhaiterais avoir !@+
😎
bebarthMaître des clésbonjour,
Voici quelques réponses :nbPlaces=17; // Nombre de places
posEleve=new Array(nbPlaces+1); // Définition d'une table à 18 éléments (de 0 à 17)
function noPlace() {
// S'il n'y a qu'une seule ligne pour une boucle "for" ou une condition "if else"
// il n'y a pas besoin d'accolades qui définissent l'ensemble des lignes à exécuter
for (var i=1; i<=nbPlaces; i++) posEleve=[this.getField("El."+i).value,this.getField("place."+i).value];
// posEleve=[this.getField("El."+i).value,this.getField("place."+i).value];
// L'élément i de la table posEleve est une table [] de 2 éléments et la virgule indique la séparation des éléments
}
noPlace();
// Fonction "placement" selon 2 paramètres "ind" -> indice et "pos" -> position
function placement(ind,pos) {
// Boucle pour vérifier toutes les positions
for (var i=1; i<=nbPlaces; i++) {
// So la position indiquée est identique à la position dans la table posEleve
// mais que l'indice du champs est différent de l'indice de la table posEleve
if (pos==posEleve[1] && ind!=i) {
// Message d'alerte
app.alert(posEleve[ind][0]+" et "+posEleve[0]+" ont le même numéro de place : "+posEleve[1],3);
break;
} else if (ind==i) {
posEleve[ind][1]=pos;
}
}
}Les tables et les boucles permettent de réduire beaucoup les lignes de scripts.
Les expressions régulières sont assez compliquées à comprendre, mais sont très efficaces !@+
😎14 avril 2022 à 20:04 en réponse à : Insertion obligatoirement différentes de valeurs. – RÉSOLU #70978
bebarthMaître des clésbonjour,
Ça devrait ressembler à une adaptation de la fonction « placement » de ce fichier :
https://www.abracadabrapdf.net/wp-content/uploads/2022/04/script_simplifie_BB.pdf@+
bebarthMaître des clésbonjour,
S’il n’est pas permis d’entrer un numéro <1 et >17, ce n’est plus la peine de vérifier ce numéro !
Je te propose donc un script de touches personnalisé avec une expression régulière. Les plus curieux essayeront de comprendre, et peuvent demander s’ils ne comprennent pas.
Voici une version de ton fichier avec quelques modifications de scripts.@+
😎Attachments:
You must be logged in to view attached files.
bebarthMaître des clésbonjour,
Il suffit de permuter également l’action sur champ.
https://opensource.adobe.com/dc-acrobat-sdk-docs/acrobatsdk/html2015/index.html#t=Acro12_MasterBook%2FJS_API_AcroJS%2FField_methods.htm%23TOC_setAction2bc-17&rhtocid=_6_1_8_31_2_16Attention : on ne peut pas lire les actions des champs (avec un « get » par exemple) mais uniquement les écrire avec la méthode setAction. Mais lorsqu’on connait l’action qu’on veut définir, c’est tout à fait faisable !
@+
😎
bebarthMaître des clésbonjour,
Je ne comprends pas pourquoi déplacer la position des champs plutôt que permuter les valeurs !@+
😎
bebarthMaître des clésbonsoir,
Voilà pour la permutation.
function permutation(x,y) {
var lesChamps=["eleve","observations"];
for (var i=0; i<lesChamps.length; i++) {
var temp=this.getField(lesChamps+"."+x).value;
this.getField(lesChamps+"."+x).value=this.getField(lesChamps+"."+y).value;
this.getField(lesChamps+"."+y).value=temp;
}
}
permutation(this.getField("place1").value,this.getField("place2").value);@+
😎Attachments:
You must be logged in to view attached files.
bebarthMaître des clésbonjour,
Tu peux écrire :
var liste=[];
for (var i=1; i<=16; i++) liste.push(this.getField("eleve."+i).value);
liste.sort();
this.getField("liste00").value=liste.toString().replace(/,/g,"\r");
Attention, avec la fonction « .sort() », tu tries selon l’ordre des caractères acsii.
Si tu tries des nombres, il faut utiliser la fonction « .sort(function(a, b){return a-b}) » si tu veux obtenir un ordre croissant.@+
😎6 avril 2022 à 08:03 en réponse à : GREP Indesign – Mettre parenthèses et chiffre en exposant #70940
bebarthMaître des clésbonjour,
\((\d)\)|\((\d\d)\)|\((\d\d\d)\)
En simplifié, l’expression s’écrit :
/\(\d+\)/@+
😎5 avril 2022 à 15:52 en réponse à : GREP Indesign – Mettre parenthèses et chiffre en exposant #70932
bebarthMaître des clésMerlin est LE spécialiste en GREP !
As-tu regardé cette page ?
https://helpx.adobe.com/fr/indesign/using/find-change.html#search_using_grep_expressions@+
😎5 avril 2022 à 14:43 en réponse à : GREP Indesign – Mettre parenthèses et chiffre en exposant #70930
bebarthMaître des clésbonjour,
Que veux-tu dire par « …en exposant dans du texte courant… » ?
Est-ce un texte dans une page Acrobat ou dans un champ ? Si c’est dans un champ, veux-tu le faire manuellement ou par un script ?@+
😎
bebarthMaître des clésbonjour,
pourrais tu me dire ou je peux me renseigner pour que je puisse améliorer mon document et moi même ??
ici :
https://www.abracadabrapdf.net/category/le-pdf-parfait/
et ici aussi :
https://www.abracadabrapdf.net/category/ressources-et-tutos/js-et-formulaires-ressources/@+
😎
bebarthMaître des clésPour le champ DTF il faut écrire :
event.value=Math.pow(this.getField("DTM").value, 1.3);Pour le champ Text1 il faut écrire :
event.value=this.getField("DTF").value*this.getField("PDT50Row1").value;@+
😎
bebarthMaître des clés…et où doit se faire le calcul et quels champs pour dtm et prad doivent-ils être utilisés ?
@+
😎
bebarthMaître des clésPeux-tu partager ton fichier ou juste les champs nécessaires !
@+
😎
bebarthMaître des clésbonjour,
Certainement parce dans un calcul JavaScript c’est le point qui est le séparateur décimal. Il faut donc écrire 1.3 et non 1,3.
Cela devrait donner :Math.pow(dtm, 1.3*prad);@+
😎
bebarthMaître des clésbonjour,
Voici pour additionner plusieurs champs, ici 6.@+
😎Attachments:
You must be logged in to view attached files.
bebarthMaître des clésJe te laisse étudier les 2 scripts.
N’hésite pas à demander si tu ne comprends pas quelque chose !@+
😎
bebarthMaître des clésbonjour,
Voilà pour ce que tu veux faire !
Tu peux utiliser conjointement le point ou la virgule comme séparateur décimal.@+
😎PS : Je n’avais pas remarqué que tu avais partagé un fichier…
-
Cette réponse a été modifiée le il y a 4 années et 3 mois par
bebarth.
Attachments:
You must be logged in to view attached files.
bebarthMaître des clésbonjour,
Tu écris :
event.value=Number(event.value).toFixed(4)+" g/m²";
Mais ça ne fonctionne uniquement si le signe décimal est un point !@+
😎
bebarthMaître des clésbonjour,
à remplacer par :
this.getField(this.getNthFieldName(i)).buttonSetIcon.hidden(event.target.buttonGetIcon());
à voirC’est tout vu et ça ne peut pas fonctionner ! « buttonSetIcon.hidden() » n’est pas une fonction.
@+
😎
bebarthMaître des clésbonjour,
Voir la note pour info :
https://opensource.adobe.com/dc-acrobat-sdk-docs/acrobatsdk/html2015/index.html#t=Acro12_MasterBook%2FJS_API_AcroJS%2FField_properties.htmNote: This property has been superseded by the display property and its use is discouraged.
Ou en français :
Note : Cette propriété a été remplacée par la propriété display et son utilisation est déconseillée.@+
😎
bebarthMaître des clésbonjour,
…et donc tout fonctionne correctement ?@+
😎
bebarthMaître des clésIl se trouve en script de touches personnalisé du champ « Zone combo0 ».
Le calcul ne se fait qu’a la sélection de l’élément du menu déroulant plutôt qu’a chaque action si on le mettait en script de calcul d’un autre champ.@+
😎Attachments:
You must be logged in to view attached files.
bebarthMaître des clésSuper merci beaucoup pour votre aide Merci pour votre aide
…du coup ça fonctionne !!! Un vrai coup de bol…🤓
@+
😎Attachments:
You must be logged in to view attached files.
bebarthMaître des clésbonjour,
Voici pour une ligne, mais je suppose qu’il y aura plusieurs lignes identiques. Il faudrait donc prévoir de mettre ce script en fonction, mais il faudrait revoir la dénomination des champs pour plus de simplicité…@+
😎Attachments:
You must be logged in to view attached files.
bebarthMaître des clésbonjour,
Voici pour toi !
Ce sera jeudi prochain pour d’éventuelles modifications…@+
😎Attachments:
You must be logged in to view attached files.
bebarthMaître des clésbonjour,
J’essaye demain… sinon ce ne sera pas avant jeudi prochain !@+
😎
bebarthMaître des clésbonjour,Tout est possible !lorsque rien n’est écrit ou coché : pas de message (rien à l’ouverture du fichier) les 2 champs texte sont obligatoires et au minimum 2 cases doivent être cochées donc dès qu’au moins 1 champ est rempli ou 1 case est cochée, afficher : “Le document n’est pas complété entièrement” qui disparait une fois que la condition précédente est respectée
Il faut combiné l’ancien script (que j’ai supprimé ici car il provoquait une erreur) avec celui-ci !
D’ailleurs j’ai cherché où est enregistrée la phrase du message actuel (”Vous devez sélectionner au moins 2 choix”), j’ai regardé dans tous les scripts mais je n’ai rien vu.
Ce texte n’est pas en script mais écrit dans le champ qui est visible ou caché.
@+
😎23 mars 2022 à 22:37 en réponse à : Le total ne se met pas à jour lorsqu’un montant calculé est mis à jour #70817
bebarthMaître des clésEst-ce qu’il y a moyen de déceler l’endroit où il y en aurait un ?
Outil « JavaScript » puis « Tous les scripts JavaScript », mais là on voit qu’il n’y en a pas !!!
@+
😎Attachments:
You must be logged in to view attached files.23 mars 2022 à 18:36 en réponse à : Le total ne se met pas à jour lorsqu’un montant calculé est mis à jour #70812
bebarthMaître des clésbonjour,
Je ne vois pas de JavaScript dans ton document alors qu’il y a une erreur dans la console…
Je pense qu’il faut donc revoir la dénomination des champs (2- Les règles d’or) :
et l’ordre de calcul dans l’outil « Préparer le formulaire » (cf. copie d’écran).@+
😎Attachments:
You must be logged in to view attached files.
bebarthMaître des clés
bebarthMaître des clésbonjour,
Ne serait-il pas plus simple d’indiquer l’ordre de préférence dans un champ texte (plutôt que dans un menu déroulant) directement dans l’ordre où l’on coche les cases ? Il n’y aurait plus besoin de menus déroulants !!!@+
😎
bebarthMaître des clésBienvenue ! 😎
bebarthMaître des clés👍
Je ne savais pas (et je n’avais jamais essayé) !!!@+
😎
bebarthMaître des clésbonjour,
Non ce n’est pas possible !
Par contre, si ton texte ne s’affiche pas entièrement une info-bulle apparait avec le texte entier.@+
😎Attachments:
You must be logged in to view attached files.
bebarthMaître des clésbonjour,
Voici ton fichier fonctionnel !@+
😎Attachments:
You must be logged in to view attached files.
bebarthMaître des clésbonjour,
Essaye comme ça :var cMessAlert="OK pour continuer ?" ;
var cAlertTitre="TITRE DE L’ALERTE";
// si oui
if (app.alert({cMsg: cMessAlert, cTitle: cAlertTitre, nIcon: 2, nType: 2}) == 4) {
// script à exécuter
this.resetForm();
for (var i=0; i<this.numFields; i++) {
if (this.getNthFieldName(i).indexOf(" foto_af_image ")>-1) this.getField(this.getNthFieldName(i)).buttonSetIcon(event.target.buttonGetIcon());
}
}@+
😎
bebarthMaître des clésDonc c’est possible avec Acrobat Reader ! Avec les autres readers je ne sais pas…
@+
😎
bebarthMaître des clésbonjour,
Oui, il faut que la page que tu veux supprimer soit une page « Modèle » !@+
😎
bebarthMaître des clésbonjour,
On ne pourra pas empêcher l’utilisateur d’enregistrer le fichier via le menu d’Acrobat, par contre il est possible d’afficher un message d’alerte indiquant que certaines cases ne sont pas cochées ou certains champs ne sont pas remplis.@+
😎
bebarthMaître des clésDonc tu places :
this.deletePages(1);En script d’action souris relâchée du bouton de la page 1.
@+
😎
bebarthMaître des clésbonjour,
Il faudrait écrire
if (this.getField("Height").value == "") this.getField("Height").value = (((this.getField("Feet").value * 12) + (this.getField("Inches").value)) * 2.54);ou
if (event.value == "") event.value = (this.getField("Feet").value * 12 + this.getField("Inches").value) * 2.54;Mais le fait que la valeur en pieds et pouces soit indiquée par 2 champs différents ne permet pas que ça fonctionne !!! Lorsqu’on valide un des deux champs la condition n’est plus vraie…
@+
😎
bebarthMaître des clésCe n’est pas effacer la page 2 alors !
Dans ce cas, c’est :
this.deletePages(1);Mais le bouton ne peut pas être sur la page à supprimer.
@+
😎
bebarthMaître des clésbonjour,
Voici un script pour effacer les champs de la page 2 (==1 basé sur 0):for (var i=0; i<this.numFields; i++) {
var f=this.getField(this.getNthFieldName(i));
if (typeof f.page!="object") {
if (f.page==1) this.resetForm([this.getNthFieldName(i)]);
} else {
for (var p=0; p<f.page.length; p++) {
if (f.page[p]==1) this.resetForm([this.getNthFieldName(i)]);
}
}
}@+
😎
bebarthMaître des clésbonjour,
Le sujet a déjà été traité, (https://www.abracadabrapdf.net/forums/topic/majuscule-automatique-dans-le-champ-prenoms-et-dans-le-script-de-sauvegarde/) mais je te reposte le fichier car il n’est plus disponible sur la nouvelle version du forum.Tu me dis si ça te convient.
@+
😎Attachments:
You must be logged in to view attached files.3 mars 2022 à 19:48 en réponse à : Date calculée modifiable par une date ultérieure mais pas antérieure #70701
bebarthMaître des clés3 mars 2022 à 16:32 en réponse à : Date calculée modifiable par une date ultérieure mais pas antérieure #70700
bebarthMaître des clésOK !
oui c’est faisable, je fait ça plus tard…
3 mars 2022 à 15:47 en réponse à : Date calculée modifiable par une date ultérieure mais pas antérieure #70698
bebarthMaître des clésEt ce n’est pas ce que fait le fichier que j’ai posté ?
Qu’ai-je oublié ?
@+
😎3 mars 2022 à 14:13 en réponse à : Date calculée modifiable par une date ultérieure mais pas antérieure #70696
bebarthMaître des clésDésolé de ne pas comprendre !
Merci de préciser la procédure.- On indique une date dans le champ « StartDate ».
- Le champ « DateLimite » indique la date « StartDate » plus 5 jours. Ce champ devient-il bloqué (impossible à changer) ou modifiable uniquement avec une date postérieure à celle du champ « StartDate »?
- Le champ « DateLivraison » indique la même date que « StartDate ». Ce champ devient-il bloqué (impossible à changer) ou modifiable uniquement avec une date postérieure à celle du champ « StartDate »?
D’autres indications ?
@+
😎3 mars 2022 à 11:03 en réponse à : Date calculée modifiable par une date ultérieure mais pas antérieure #70694
bebarthMaître des clésbonjour,
Que signifie « bloquée » ?
Ici il est impossible de modifier les champs avec une date antérieure !!! Sauf StartDate…@+
😎3 mars 2022 à 00:16 en réponse à : Date calculée modifiable par une date ultérieure mais pas antérieure #70691
bebarthMaître des clésbonsoir,
Voici ma proposition !
Les calculs ne sont plus en script du champ « StartDate » mais en script de calcul des autres champs et on utilise :
if (event.source && event.source.name=="StartDate")pour dire que le calcul ne se s’effectue que s’il provient du champ « StartDate », ce qui permet de changer manuellement la valeur
des champs.
Par contre, ici, si on modifie la date de commande, les 2 autres dates sont réinitialisée. C’est correct ?@+
😎Attachments:
You must be logged in to view attached files.
bebarthMaître des clésbonjour,
ben ça devrait être :
if (i==0 && element== "un" && suivant.endsWith("s")) laTable[i+1]=suivant.substring(0, suivant.length-2)+"l";@+
😎
bebarthMaître des clésbonjour,
L’idéal serait que dans le document InDesign tu puisses convertir les intitulés en autant de champs de textes indépendants.
Et si l’étape suivante est d’avoir le total automatique, il faudrait également convertir les prix en champs pour faciliter le travail.
@+
😎
bebarthMaître des clésbonjour,
Je pense qu’il faudrait revoir la dénomination des cases à cocher et des valeurs d’exportation.
On ne choisit pas de quantité ?
Pour les raisins sec, comment choisit-on x1 ou x2 ???
Il y a également une ligne à 20 € sans désignation !@+
😎
bebarthMaître des clésbonjour,
J’étais persuadé qu’en Suisse et en Belgique 80 se prononçait « nonante » mais ce n’ai apparemment pas vrai !J’ai adapté le script pour la Suisse et la Belgique. Tu fais quelques essais et tu me dis !!!
@+
😎Attachments:
You must be logged in to view attached files.
bebarthMaître des clésif (event.value!="") event.value=this.getField("Dropdown1").value+event.value;Si (le champ n’est pas vide) alors la valeur du champ = la valeur du champ « Dropdown1 » + la valeur du champ;
avec : la valeur du champ « Dropdown1 » = « F- » ou « D-« .
@+
😎
bebarthMaître des clésbonjour,
Voilà ! Le script est en script de format personnalisé ce qui signifie qu’il faut d’abord choisir si c’est un devis ou une facture…@+
😎Attachments:
You must be logged in to view attached files.
bebarthMaître des clésbonjour,
le sujet a déjà été traité :
Mais comme c’était sur l’ancien forum et que les fichiers partagés ne le sont plus, je te joins la dernière version du fichier.@+
😎Attachments:
You must be logged in to view attached files.
bebarthMaître des clés👍
Exact !!!@+
😎
bebarthMaître des clésbonjour,
Voici une variante du script de Merlin car rien ne s’affichait dans le champ texte2 si aucune case n’était cochée.À moins que je n’aie pas bien compris !!! Mais dans ce cas là il faudrait peut-être une case cochée par défaut…
@+
😎-
Cette réponse a été modifiée le il y a 4 années et 4 mois par
bebarth.
Attachments:
You must be logged in to view attached files.
bebarthMaître des clésbonjour,
Bien sûr et c’est même le plus simple. Moi je suis resté dans le principe d’utilisation de « String.fromCharCode ».@+
😎
bebarthMaître des clésbonjour,
Que sont les cases A et B ? Des cases à cocher ou des boutons radios ? Je suppose qu’on ne peut pas avoir A et B cochés, mais y a-t-il forcément une des 2 cases ?T’est-il possible de partager un fichier ?
@+
😎
bebarthMaître des clésLe + situé avant le second event.value est certainement une erreur de frappe.
Juste pour dire que lorsqu’on ajoute quelque chose à une variable on est pas obligé de répéter cette variable.
Si on a une variable x et qu’on veut rajouter 2, on n’a pas besoin d’écrire var x=x+2 on peut simplement écrire x+=2. Avec des nombres ça marche pour toutes les opérations : +, -, *, /
Et ici, au lieu d’écrire event.value=event.value+….. on peut plus simplement écrire event.value+=…..
Du coup, on pourrait même écrire :
event.value+=" M"+String.fromCharCode(0x00B2);@+
😎-
Cette réponse a été modifiée le il y a 4 années et 4 mois par
bebarth.
bebarthMaître des clésbonjour,
Ou un tout petit peu plus court :
event.value+=" "+String.fromCharCode(0x004D,0x00B2);@+
😎
bebarthMaître des clésbonjour,
Je te propose de regarder et étudier ce fichier de Thom Parker.@+
😎Attachments:
You must be logged in to view attached files.
bebarthMaître des clésbonjour,
Un peu tard, mais voici quand même ma version.@+
😎Attachments:
You must be logged in to view attached files. -
Cette réponse a été modifiée le il y a 4 années et 1 mois par
-
AuteurRéponses
