Toutes mes réponses sur les forums
-
AuteurRéponses
-
alexParticipant
Super bebarth merci trop fort
alexParticipantJ’ai essayé de faire le total des heures supplémentaires sans succès pourrais-tu encore m’aider un petit peu s’il te plaît
Il va falloir que je travaille les formules d’heures et de dates je galère trop
je te remercie
Attachments:
You must be logged in to view attached files.alexParticipantJe te remercie de ton aide
merci beaucoup
alexParticipantTrès intéressant j’apprend tous les jours
Merci a vous
alexParticipantBonjour Josh
Dans le champ “Validité” c’est un résultat que tu attends
tu ne peux pas mettre un champ date c’est cela qui fausse tous je pense
Développe ton idée final de fichier je ne comprend pas pourquoi tu veux cacher un valeur vue que tu en n’a que 2
Bonne soirée
- Cette réponse a été modifiée le il y a 1 année et 10 mois par alex.
alexParticipantBonjour
Je ferai comme ça
if (event.source && event.source.name==”StartDate”) {
var date=util.scand(“dd/mm/yyyy”, this.getField(“StartDate”).value);
if (this.getField(“StartDate”).value==””) {
event.value=””;
} else {
var cinqJoursApres=date.getTime()+(365*24*3600*1000);
event.value=util.printd(“d mmmm yyyy”, new Date(cinqJoursApres));
}
}Merci a bebarth58
alexParticipantBonjour
Désolé je n’ai pas été clair sur ma demande
Tous fonctionne tres bien je te remercie
- Cette réponse a été modifiée le il y a 2 années et 5 mois par alex.
alexParticipantS0 c’est la section avant casse et le 5,65 renvoie a la norme ASTM E8M
alexParticipantC’est un calcul pointage avant casse “l0″selon la norme ASTM E8M
Je remplace de temps en temps le technicien qui casse les tractions le logiciel calcul pas mal de chose mais dés fois nous sommes obligés de faire des calculs garce a ton aide j’ai réussi a passer pas mal de choses sous pdf se qui me garantie protection contre les bidouilles de formules et une autre présentation que Excel
J’ai mis en place ta formule cela ne fonctionne pas
64,16 racine carre = 8,00 *5,65 =45,25
Merci
Attachments:
You must be logged in to view attached files.alexParticipantJe sais que je t’es beaucoup sollicité mais j’aurais encore besoin de ton aide pour faire une formule sur les tractions plate toujours racine carre de 5,65
Il y a que le champs A14 (S0) a prendre en compte ,j’ai essayer de faire avec ta formule mais je n’y arrive pas
Je te remercie encore pour ton aide
Attachments:
You must be logged in to view attached files.alexParticipantSuper mille merci tu enlève une grosse épine du pied
alexParticipantBonjour Bebarth
J’ai réussi a faire un test sur le lien que tu ma donner c’est nickel
mais je n’arrive je ne trouve pas ou mettre le champ qui a la valeur pour faire le calcul
Rien ne fonctionne
document.getElementById(“demo”).innerHTML = Math.sqrt(DJCK_008);
alexParticipantPourrais tu s’il te plait me remettre l’image que tu as joins moi il me calcul rien je fait surement mal quelque chose
Dans mon calcul avec ma calculette je fais
- 53,46 j’appuis sur racine carre qui de donne 7,31
- et ensuite je multiplie par 5,65
- Mon résultat 41,31
Je ne métrise pas plus que sa les racine carre merci de ton aide
Merci
- Cette réponse a été modifiée le il y a 2 années et 5 mois par alex.
alexParticipantS0 racine carre *5,65
alexParticipantJ’ai fait un essai avec ta formule , je ne m’en sors pas …
Je te joins mon fichier
Merci
Attachments:
You must be logged in to view attached files.alexParticipantNickel merci
alexParticipantBonjour
N c’est pour Newton
Au départ je souhaitais avoir unité de mesure et des que le résultat dépasse 1400 qu’il passe en rouge
Merci quand même pour ton aide précieuse
alexParticipantSuper merci beaucoup pour ton aide
alexParticipantMerci pour ton aide
alexParticipantBonjour Merlin
• Désolé je me suis mal expliqué apparemment
• Je cherchais juste comment trouver le répertoire ou mettre les scripts sur mon mac
• J’ai un accès à pdfscripting.com et je te remercie encore de m’avoir donné l’adresse
• J’utilise Adobe Acrobat pro DC
Bonne après midi
Attachments:
You must be logged in to view attached files.alexParticipantJe viens de trouver la solution a mon probleme
Bon week end
alexParticipantBonjour Merlin
Je teste Acrobat Pro DC , je n’arrive pas a faire l’installation du fichier sur mon mac
Quand je fait command+J dans Acrobat la console s’ouvre je teste les 2 commandes et là rien, aucune réaction.
Je cherche mais je n’arrive pas a trouver le répertoire ou mettre le fichier pour pouvoir utiliser dans Acrobat
Merci pour ton aide
** GENERAL INSTALLATION INSTRUCTIONS:
This Acrobat Automation Script will only work when
placed in one of the Acrobat JavaScript Folders. Execute
the following code from the Acrobat JavaScript Console to find
the location of the JavaScript folders.To display the Acrobat JavaScript Console use Ctrl+J on
Windows and Command+J on the Macapp.getPath(“user”,”javascript”);
app.getPath(“app”,”javascript”);
On Windows, the application JavaScript folder is usually located at:
C:\Program Files\Adobe\Acrobat 8.0\Acrobat\JavaScripts
On Mac, the application JavaScript folder is in a configuration file
inside the Acrobat Application Package.The script file can be placed in either the “User” or “App” JavaScript
folder.This script will place a toolbar button on the “Add-ons” toolbar
in Acrobat or Adobe Reader. If this toolbar is not visible then
Right click on an empty part of the Acrobat toolbar area and select
“Add-ons”.JavaScript toolbar buttons were added to Acrobat in version 6. However,
most automation scripts are intended to be used with Acrobat 7 or later.
This particular script may contain functionality that prevents it from
being used in ADobe Reader. See comments in the JavaScript File for details.- Cette réponse a été modifiée le il y a 2 années et 8 mois par Merlin.
alexParticipantBonjour
un grand merci pour ton aide
alexParticipantBonjour
Quand je clique sur mon bouton j’aimerais
imprimer la page que j’ai à l’ecran
merci
alexParticipantBonjour Merlin
Si tu es vendeur ça m’intéresse
merci
alexParticipantJe viens de mettre en place les scripts tous fonctionne très bien
Merci beaucoup
alexParticipantMerci de votre aide
alexParticipantEst il possible que les valeurs a “0” s’affiche en blanc pour ne pas apparaître dans le tableau
Merci
alexParticipantalexParticipantMerci beaucoup ton exemple il me convient très bien
alexParticipantSuper Merci
alexParticipantBonjour
Oui tous fonctionne bien
alexParticipantJ’ai réussi a rajouté 72h00 et le script appairai j’ai l’impression que le logiciel me charge pas toutes les infos a chaque fois
Merci beaucoup pour votre aide
alexParticipantMerci pour votre retour
J’ai regardé comme vous me l’avez indiqué, mais tous est vides j’utilise Foxit PDF Editor c’est peux être pour cela que rien ne s’affiche
À la création de mon document je viens de rendre compte que j’avais oublié de mettre 72:00 pourriez vous me la rajouter s’il vous plait
Bon week end
Attachments:
You must be logged in to view attached files.alexParticipantJ’ai eu un problème au début le fichier de fonctionnais pas je ne sais pas pourquoi , mais maintenant tous fonctionne bien
Je ne trouve pas votre script dans la case date de fin de l’essai c’est normale ?
J’aurais bien aime voire la formule
Merci
alexParticipantSuper merci beaucoup pour votre aide
Merci pour votre aide
- Cette réponse a été modifiée le il y a 2 années et 10 mois par alex.
alexParticipantJ’ai modifier la dénomination des champs
alexParticipantBonjour et merci pour votre réponse
Non il y aura une seul ligne l’idée c’est de mettre en forme comme un stop qui indique le début et le fin du test
Il me faudrait juste un script qui calcul dates de début du test + le temps de maintien
J’ai mis une liste déroulante qui couvre mes 3 tests
alexParticipantPour retrouver votre formulaire protégé vierge même sur une tentative d’enregistrement:
Actions du document>Le document sera enregistré>
app.alert(“Avertissement:rLes donnu00E9es saisies dans ce formulaire ne seront pas conservu00E9es!”,3);
this.resetForm();Avec ou sans alerte, c’est comme au bon vieux temps.
alexParticipantBonjour à tous,
J’ai remplacé le champ ” ldentifier/localiser les composants” par un champ de type texte baptisé “Text” qui embarque un script de calcul personnalisé qui devrait répondre au problème…
Voir maquette, on peut tester en saisissant directement la note finale.alexParticipantBonjour,
Ci-joint une variante à adapter à votre cas. Attention, le format de ce champ ne peut pas être “nombre” puisqu’on analyse une chaîne de caractères. Il faudrait ajouter un script pour forcer la saisie des nombres si nécessaire.alexParticipantBonsoir,
Il vous suffit de créer un champ au format texte et de le nommer “Total”, Puis d’ajouter le script suivant au script existant:cMsg=”Il y a “+boutonCoche+ ” boutons cochu00E9s sur ” + boutonRadio + ” boutons-radios.”;
this.getField(“Total”).value=cMsg;alexParticipantSolution avec script unique donc …Comme promis précedemment.
alexParticipantBonjour à tous.
Pour prendre en compte les “Tab”, peut-être faut-il préférer les events.
Un seul script commun si on veut encore raffiner.
Amitiés
Voir maquette.alexParticipantBonjour,
Voici un petit script de validation de saisie qui pourra être repris dans d’autre configurations.
Les impressions dans la console illustrent le fonctionnement.
Voir maquette jointe.alexParticipantBonjour,
Sur Pc je vous conseille NotePad++ (pas NotePad).alexParticipantDepuis Acrobat 8 la version de JavaScript embarquée est 1.6.
Voir Mozilla Developer Center, http://developer.mozilla.org/en/docs/JavaScript
Pour moi, la majeure partie des méthodes et propriétés sont utilisables.alexParticipantBonjour à tous,
N’oubliez pas qu’il existe d’autre moyens que le code barre pour collecter des données de formulaire….alexParticipantCorrectif pour BB1.
alexParticipantVariante qui n’affiche que le numéro de la semaine.
alexParticipantBebarth a du louper quelque chose. Voir maquette jointe qui correspond à ce qu’il aurait du proposer.
Onglet calcul du champ “Semaine”, on lance le script weelcalc() légèrement modifié pour prendre en compte la forme de la saisie.
Amitiés à tous.7 avril 2016 à 09:30 en réponse à : Comment faire la mise en page d’une liste qui se remplit à partir de la database #60500alexParticipantNawelCPA travaille peut-etre sous Acrobat Pro 11 et Adobe® LiveCycle® Enterprise Suite …
alexParticipantJe ne comprends pas le problème !
Une liste déroulante ne peut pas contenir des champs puisque par nature elle est elle-même un champ.
Une liste déroulante embarque un certain nombre d’items auxquels on peut associer des valeurs d’export. Ces couples items/valeurs d’export peuvent être manipulées par script, donc variables en fonction du contexte de travail (la valeur d’un autre champ, l’état d’une case à cocher ou d’un bouton radio où l’heure du jour, etc…)
Merci de reformuler votre question.alexParticipantAttention, pour satisfaire votre demande, il faut utiliser un script de format personnalisé. Voir exemple joint.
Après saisie, le script l’analyse digit par digit en partant de la gauche.
Si on détecte la présence d’une virgule, on analyse les chiffres qui suivent en partant de la droite pour supprimer les digits “0” jusqu’à rencontrer un digit non “0”.
Ce script fonctionne quelque soit le nombre de chiffres désirés après la virgule.
A tester avant de valider…alexParticipantVoir les exemples dans la maquette jointe. Le script se trouve pour chaque champ dans l’onglet Calcul> Script de calcul personnalisé.
this.event.value=util.printd(“yyyy”,new Date());alexParticipantDésolé, une erreur s’est glissée dans l’initialisation de ma précédente version.
Il y a aussi des améliorations à apporter à l’analyse des saisies…alexParticipantJ’ai déplacé les scripts “Action” en scripts de “Validation” pour gérer la couleur des pavés.
J’ai ajouté quelques lignes dinitialisation.
J’ai créé un script de document pour gérer la couleur de la note.
Faites un essai, c’est sans garantie…17 mars 2016 à 08:47 en réponse à : Comment récupérer les données des variables créées dans l’onglet Propriétés #60485alexParticipantOn trouve ça dans la documentation de référence page 243 (JavaScript for Acrobat API Reference):
info
Specifies an object with properties from the document information dictionary in the PDF file. (See the PDF Reference version 1.7.) Standard entries are:
Title
Author
Subject
Keywords
Creator
Producer
CreationDate
ModDate
TrappedExemples:
oDoc=this;
var aAuteur=oDoc.info.Author;
var cDocTitle = oDoc.info.Title;
Par ailleurs on put créer ses propres paramètres Propriétés du document: onglet Personnalisées
Nom:parametre, Valeur: “Info perso”var x=this.info.parametre;
Enfin, on a souvent besoin du nom du fichier dans les scripts d’application:
cNomFichier=this.documentFileName;alexParticipantBonjour,
Pour les couleurs de remplissage basiques on peut écrire:if(condition)
{
this.getField(“Note1”).fillColor=color.green;
}
else
{
this.getField(“Note1”).fillColor=color.red;
}14 mars 2016 à 18:26 en réponse à : Convention de dénomination & Javascript (a…, c…, n…, etc.) #58011alexParticipantBonsoir,
Il s’agit bien de désigner la nature ce qui est manipulé comme le dit Merlin:
a pour les tableaux, exemple, var aFruits = [“Fruits”,”Apples”,”Oranges”];
b pour les variables binaires, exemple bBlockEx8 = true;
c pour les variables chaines de caractères, exemple cContactName = this.getField(“Ex8.ContactDropDown”).value;
n pour les entiers
o pour les objets, exemple var oFld = this.getField(“Ex7.” + cName); où oFld est un champEn ce qui concerne nStart, il s’agit du nom d’un argument associé à une méthode app. (app.print() par exemple) où nStart désigne un numéro de page (donc un entier).
Exemple de méthode app. (ajout d’un item de menu):
app.addMenuItem({cName:”Close All PD&Fs”,
cParent:”File”,
nPos:6,
cExec:”DoCloseAllDocs()”,
cEnable:”event.rc = app.doc != null”
});Je pense que c’est une bonne habitude de développeur. Je ferais bien de la faire mienne…
14 mars 2016 à 17:32 en réponse à : Récupérer les données de formulaires PDF dans un seul tableau Excel #59471alexParticipant
Suivez bien cette procédure à la lettre et vos attentes seront récompensées…
Procédure à suivre :Cette procédure s’effectue sous Adobe Acrobat PRO versions 10, 11 ou sous Adobe Acrobat DC.
Collecter les formulaires remplis et les placer dans un répertoire dédié.
Ouvrir le formulaire ayant servi à la saisie des données sous Acrobat PRO.
Faire apparaître les outils de formulaires: Affichage>Outils>Formulaires.
Cliquer sur l’onglet “Autres options de formulaire et sélectionner l’item:
“Fusionner les fichiers de données dans une feuille de calcul”, la fenêtre “Exporter les données provenant de plusieurs formulaires” apparaît.
A l’aide des boutons “Ajouter des fichiers” et “Supprimer des fichiers”, établir la liste des formulaires dont vous souhaitez collecter les données.
La liste étant établie, cliquer sur “Exporter”.
Choisir le nom du fichier d’export et le format .csv puis “Enregistrer”. Compter moins de 20 secondes pour une centaine d’enregistrements.
Ouvrir le fichier des données sous Excel. La première ligne donne le nom des champs de formulaire dans l’ordre où ils apparaissent sur le formulaire.
Chaque ligne correspond aux données d’un formulaire, la première colonne étant réservée au nom du fichier.
Procéder à une mise en forme des données et au remplacement des caractères accentués manuellement ou via une macro pour plus de commodité.
Enregistrer le fichier au format Excel.alexParticipantLe & est destiné à la manipulation des nombres binaires:
exemple avec les nombres 3 et 9 en binaire:
3 & 9
3 = 0 0 1 1 en binaire
9 = 1 0 0 1 en binaire
L’opérateur donne 1 car:
. 0 0 1 1
& 1 0 0 1
0 0 0 1&& est le ET de la logique combinatoire
(condition1 && condition2)
vaut true si les 2 conditions sont vraies(true en JS), false sinon.Conclusion: j’aurais du, en toute rigueur choisir &&
alexParticipantPOur interdire la saisie des chiffres….
Un peu de logique combinatoire:
Onglet Format: script de touches personnalisé:saisie=this.event.change;
codedigit=saisie.charCodeAt(0);
if(codedigit<57&codedigit>48)
{
this.event.change=””;
app.beep(0);
}alexParticipantBonjour Merlin,
Voici une nouvelle maquette dédiée à la détection des saisies non numériques dans un champ texte. Je pense que l’item 3 répond à ton problème. A chaque fois qu’un digit est saisi on teste sa nature en s’assurant que son code ASCII est bien sur le segment 0-9 (codes ASCII 48 à 57).Conseillé:
Onglet Format: script de touches personnalisé:saisie=this.event.change;
codedigit=saisie.charCodeAt(0);
if(codedigit>57|codedigit<48)
{
this.event.change=””;
app.beep(0);
}Nota: pas de beep sur Mac !
alexParticipantEt oui, j’ai eu tort de mettre la solution basique d’Adobe (sans script) en quatrième position de mon exemple:
4-Contrôle standard sur un champ formaté nombre sans recours à un script.
Elle aurait du figurer en tête!
Cependant, dès qu’on sort de cet usage basique (limitation de la saisie à une plage numérique unique min/max), le script s’impose et permet des analyses beaucoup plus fines (plages multiples et disjointes, saisies combinées de chiffres et de caractères alphanumériques, et autres contraintes) et des alertes adaptées.alexParticipantEt voici les exemples (on est limité à une pièce jointe apparemment).
alexParticipantBonjour à tous,
Voici ci-joint l’illustration de plusieurs types de contrôles de saisie.
1-Contrôle après saisie complète sur un champ non formaté. Saisie limitée aux nombres de 0 à 9
2-Contrôle du digit unique sur un champ non formaté . Saisie limitée à un nombre du segment 0-6
3-Contrôle digit par digit sur un champ non formaté . Saisie limitée aux nombres de 0 à 6
4-Contrôle standard sur un champ formaté nombre sans recours à un script.
Par ailleurs je vous joins une table ASCII qui vous permettra de retrouver les codes à utiliser dans les scripts.alexParticipantJe vous propose cette maquette pour avancer. J’ai séparé la saisie des heures (champ “Heures”) et celle des minutes (champ “Minutes”).
Un seul script embarqué dans le champ d’affichage des centièmes (onglet calcul) fait le travail.
Le bouton RAZ pourra être supprimé.
J’aurai une correction à faire sur l’arrondi à la prochaine version.
A+23 février 2016 à 11:45 en réponse à : Formule de calcul non prise en compte dans l’onglet Calcul #60381alexParticipantPour ceux qui aiment le JavaScript, il en suffit d’un !
Placer ce script dans le champ de total (onglet calcul). Pour tester, rendre les champs taux.x et page2.dep.x saisissables et de format numérique.//calcul des montants
console.clear();
console.println(“Calcul sur champ “+this.event.target.name+” sur evenement “+this.event.name)
x=0;
total=0;
while(x<
{
//test d’existance du champ “montant.x”
if(this.getField(“montant.”+x))
{
//calcul montant ligne
this.getField(“montant.”+x).value=this.getField(“page2.dep.”+x).value*this.getField(“taux.”+x+”.1″).value;
console.println(“Calcul ligne “+x+”=”+this.getField(“montant.”+x).value);
total=total+this.getField(“montant.”+x).value;
}
x=x+1;
}
//calcul du total en ajoutant le forfait fixe.
this.event.value=total+this.getField(“forfaitfixe”).value;alexParticipantSalut Merlin,
J’ai répondu strictement à la question posée, à savoir trouver une chaîne de caractères.
Si l’on souhaite limiter la recherche à des mots (donc une chaine précédée d’un blanc ou d’une apostrophe), il faut légèrement modifier le script.Amitiés à tous
alexParticipantCi-joint une maquette où un script à adapter ferait l’affaire.
On peut le modifier pour prendre en compte la casse.
La variable recherche prend la valeur true si la recherche est fructueuse, false dans le cas contraire.
Cette manière de faire ouvre la porte à de nombreuses variantes (exclusion de chaines particulières lors de la recherche).alexParticipantBonsoir,
Désolé pour l’attente.
Merci de faire les tests. Cette maquette pourra être améliorée dans une prochaine version (choix de l’écriture belge ou française, niveau d’arrondi)
Cordialement.Alex
alexParticipantBonjour à tous,
Ligne 3 de mon script vous pouvez tester les trois variantes :num=Math.round(saisie);
(arrondi au plus près comme dans mon dernier script)
saisie de 122,55 donne 123 ,
saisie de 122,45 donne 122num=Math.floor(saisie);
(arrondi par défaut)
saisie de 122,55 donne 122,
saisie de 122,45 donne 122num=Math.ceil(saisie);
(arrondi par excès)
saisie de 122,55 donne 123,
saisie de 122,45 donne 123Ci-joint exemple avec Math.round
alexParticipantJ’utilise ce petit livre que l’on trouve chez Eyrolles à Paris ou ailleurs:
JavaScript de David Flanagan (Auteur), James Guérin (Traduction) Édition : O’Reilly.Une bonne adresse à retenir: http://javascript.developpez.com/cours/
21 janvier 2016 à 18:21 en réponse à : Formulaire remplissable après un choix sur bouton radio #60272alexParticipantIl faut écrire:
if (choix.isBoxChecked(0)) ou bien
if (choix.isBoxChecked(0)==true)
et non pas:
if (choix.isBoxChecked=true)alexParticipantBonsoir,
Ligne 3, il suffit d’utiliser la méthode suivante (arrondi):
num=Math.round(saisie);
Au lieu de l’arrondi par défaut
num=Math.floor(saisie);Voir maquette jointe.
alexParticipantBonsoir,
Voici une maquette à peaufiner….
Amitiés à tous.alexParticipantBonjour,
Voici ma seconde copie mais il faut la tester à fond, il peut rester des erreurs. En principe on écrit bien:
un million, un milliard
cent et pas un cent, mille et pas un mille.J’ai laissé des éditions console sur la fin du script (Ctrl-J pour l’ouvrir sous Acrobat PRO)
Merci pour le retour.13 janvier 2016 à 12:14 en réponse à : Valeur d’exportation identique dans une liste déroulante #60178alexParticipantPour être sûr de passer la valeur de l’item sélectionné et pas la valeur d’export utilisez ce script de calcul associé à la semelle droite:
console.clear();
//capter l’indice de la sélection gauche
indice=this.getField(“SemelleG”).currentValueIndices;
//Lire la valeur de l’item (pas l’export)
item=this.getField(“SemelleG”).getItemAt(indice,false);
//Passer la valeur à la sélection droite.
event.target.value = item;Je déconseille l’usage immodéré des scripts de calcul, je reviendrai sur ce sujet.
alexParticipantCi-joint le script corrigé vite fait (il y a des petites choses à peaufiner pour que tout soit parfait).
Amitiés à tous.alexParticipantBonjour et bonne année.
Un seul script de document à étudier: il est lancé par le script de calcul unique associé au seul champ “Texte.9.0”. Ce script calcul() est un script de document (Outils>Scripts JavaScript du document).
Je pense qu’on ne doit pas pouvoir cocher simultanément les deux cases.
Attention au formats numériques des cellules de saisie. Pour les calculs il faut vérifier.alexParticipantBonjour et bonne année.
Dans votre document, manque le script d’initialisation et, bien sûr les valeurs des items des deux menus déroulants.
…15 décembre 2015 à 11:19 en réponse à : Export de certaines données d’un formulaire vers un .fdf #60082alexParticipantBonjour,
Sous Acrobat PRO et Standard uniquement, vous pouvez utiliser le script suivant pour exporter une partie des champs de formulaire, ici pour trois d’entre eux pour mon exemple:
this.exportAsFDF(
{
aFields:[“Data”,”Dropdown”,”Saisie.1.1″]
});A l’inverse, vous pouvez utiliser le script suivant pour importer une partie des champs de formulaire, ici pour trois d’entre eux pour mon exemple:
this.importAnFDF(
{
aFields:[“Data”,”Dropdown”,”Saisie.1.1″]
});Voir maquette jointe avec trois boutons:
“Reset Form” associé à script qui efface toutes les saisies
“Export” et “Import” avec les scripts ci-dessus. L’argument aFields est donc un tableau listant les champs concernés.Voir documentation page 287 pour plus de détails (JavaScript for Acrobat API Reference version 8.1)
13 décembre 2015 à 16:25 en réponse à : Duplication de calculs de champs en rangées et en colonnes #60073alexParticipantRegardez le fil “Calcul d’heures dans un formulaire PDF” comme exemple de script…
12 décembre 2015 à 11:24 en réponse à : Duplication de calculs de champs en rangées et en colonnes #60069alexParticipantBonjour,
Il suffit de faire une boucle de calcul !
Voir mes derniers exemples…alexParticipantDésolé de répondre si tard mais oui le script peut-être embarqué en totalité par le champ TotalTemps (onglet “Calcul” script de calcul personnalisé) sans recourir à un script de document.
Ce qui doit concorder, c’est le nom des champs DepartDate.xx , DepartHeure.xx, ArriveeDate.xx, ArriveeHeure.xx, Pause.xx bien sûr.
Par contre on peut augmenter librement le nombre de lignes (plus de 4 donc en numérotant à partir de 0).alexParticipantPour ceux qui sont sur PC, je conseille Notepad++ que ce soit pour le JavaScript ou le PHP.
Je vais essayer sublimetext…alexParticipantMaquette jointe.
Il suffit de définir les produits et leurs référence dans le script Initialisation() qui s’exécute à l’ouverture du document.
A chaque liste déroulante est associé un script de format qui en fonction de la sélection synchronise l’autre liste.alexParticipantOui, c’est assez simple. Il suffit de synchroniser les deux listes.
Une maquette va suivre.alexParticipantMa maquette fonctionne indifféremment sous Acrobat PRO, Acrobat Standard et Acrobat Reader ou Adobe Reader à partir des versions 10.
L’usage d’Acrobat Pro est conseillé pour ouvrir le capot et aller plus loin et comprendre le fonctionnement (le script).
Bonne soirée.alexParticipantBonjour à tous,
Sur cette maquette le script est un script de calcul est associé au champ “TotalTemps”.
Une boucle balaye les lignes de saisies et fait les calculs souhaités. La difficulté provient du fait que la saisie du jour est séparée de celle de la date ce qui conduit à reconstituer les objets Date(). Pour cela on décompose les saisies en tables par la méthode split() et on récupère les morceaux pour générer un objet Date.
Pour voir les calculs ouvrir la console sous Acrobat PRO.
Faites des tests avec des missions démarrant à une date donnée et finissant un autre jour.
Pour une application plus PRO, il faudra aller un peu plus loin dans l’analyse des saisies.J’ai choisi de garder les formats Adobe !
alexParticipantBonjour,
Voilà pour vous remettre sur les rails.
Il faut respecter le nom des champs utilisés par les scripts, ici “ListeMere” et “ListeFille”.
Ctrl J vous permet d’ouvrir la console et de suivre la trace des impressions intermédiaires lors du déroulement des scripts.
Bon courage.alexParticipantBonjour à tous,
Voici une version plus aboutie de la maquette établie sur la base micka92
Dans le script Initialisation(), vous pouvez renommer manuellement les items à votre convenance mais il vaut mieux préparer la hiérarchie et son paramétrage…
Pour les applications “PRO”, je dispose d’un outil qui permet les modifications dynamiques de ces paramètres, la structure des données étant un peu différente.
Si la case à cocher “Memoriser” est cochée, l’état des menus déroulants est conservée.
Si la case à cocher “Memoriser” n’est pas cochée, les menus déroulants sont réinitialisés.
Si la case à cocher “Memoriser” est supprimée, les menus déroulants sont réinitialisés à chaque ouverture de page.
Bon week-end à tous.alexParticipantVoici la maquette corrigée mais avec le service minimum de commentaires.
Je reviendrai sur ce sujet ultérieurement pour proposer une maquette adaptable à différentes configurations d’architectures mères/filles…
Bonne soirée.alexParticipantPour répondre à bebarth, voir ci-dessous:
https://acrobatusers.com/tutorials/print/formatting_text_fieldsalexParticipantMaquette que j’espère sans erreur.
La fermeture du document réinitialise le formulaire:
this.resetForm();Amitiés à tous.
alexParticipantBonjour,
Mon script est prévu pour fonctionner sur un nombre quelconque de pages en respectant la dénomination des cases à cocher suivante:
Page 1: “1Case 1” et “1Case 2” associées à “1ListeContrats”
Page 2: “2Case 1” et “2Case 2”associées à “2ListeContrats”
Page x: “xCase 1” et “xCase 2”associées à “xListeContrats”
D’où le script faisant référence à la page courante: page=this.pageNum+1;
Par ailleurs j’ai choisi la valeur d’export comme variable de départ du script associé au format personnalisé plutôt que le rang de l’item sélectionné (bebarth).
numero=this.event.changeEx;
L’évènement déclencheur est l’action de sélection d’un item du menu déroulant dont on tire la nouvelle valeur d’export.
Pour plus de détails:
https://acrobatusers.com/tutorials/print/formatting_text_fieldsVoir The Keystroke Event
alexParticipantBonjour,
J’ai un doute, mais si ce formulaire répond bien à votre problème, je préciserai son fonctionnement.
Versions Adobe Reader postérieures à 9.Amitiés
Alex -
AuteurRéponses