Toutes mes réponses sur les forums
-
AuteurRéponses
-
alex
ParticipantSuper bebarth merci trop fort
alex
ParticipantJ’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.alex
ParticipantJe te remercie de ton aide
merci beaucoup
alex
ParticipantTrès intéressant j’apprend tous les jours
Merci a vous
alex
ParticipantBonjour 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 2 années par
alex.
alex
ParticipantBonjour
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
alex
ParticipantBonjour
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 7 mois par
alex.
alex
ParticipantS0 c’est la section avant casse et le 5,65 renvoie a la norme ASTM E8M
alex
ParticipantC’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.alex
ParticipantJe 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.alex
ParticipantSuper mille merci tu enlève une grosse épine du pied
alex
ParticipantBonjour 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);
alex
ParticipantPourrais 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 8 mois par
alex.
alex
ParticipantS0 racine carre *5,65
alex
ParticipantJ’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.alex
ParticipantNickel merci
alex
ParticipantBonjour
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
alex
ParticipantSuper merci beaucoup pour ton aide
alex
ParticipantMerci pour ton aide
alex
ParticipantBonjour 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.alex
ParticipantJe viens de trouver la solution a mon probleme
Bon week end
alex
ParticipantBonjour 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 11 mois par
Merlin.
alex
ParticipantBonjour
un grand merci pour ton aide
alex
ParticipantBonjour
Quand je clique sur mon bouton j’aimerais
imprimer la page que j’ai à l’ecran
merci
alex
ParticipantBonjour Merlin
Si tu es vendeur ça m’intéresse
merci
alex
ParticipantJe viens de mettre en place les scripts tous fonctionne très bien
Merci beaucoup
alex
ParticipantMerci de votre aide
alex
ParticipantEst il possible que les valeurs a “0” s’affiche en blanc pour ne pas apparaître dans le tableau
Merci
alex
Participantalex
ParticipantMerci beaucoup ton exemple il me convient très bien
alex
ParticipantSuper Merci
alex
ParticipantBonjour
Oui tous fonctionne bien
alex
ParticipantJ’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
alex
ParticipantMerci 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.alex
ParticipantJ’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
alex
ParticipantSuper merci beaucoup pour votre aide
Merci pour votre aide
-
Cette réponse a été modifiée le il y a 3 années par
alex.
alex
ParticipantJ’ai modifier la dénomination des champs
alex
ParticipantBonjour 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
alex
ParticipantPour 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.
alex
ParticipantBonjour à 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.alex
ParticipantBonjour,
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.alex
ParticipantBonsoir,
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;alex
ParticipantSolution avec script unique donc …Comme promis précedemment.
alex
ParticipantBonjour à 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.alex
ParticipantBonjour,
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.alex
ParticipantBonjour,
Sur Pc je vous conseille NotePad++ (pas NotePad).alex
ParticipantDepuis 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.alex
ParticipantBonjour à tous,
N’oubliez pas qu’il existe d’autre moyens que le code barre pour collecter des données de formulaire….alex
ParticipantCorrectif pour BB1.
alex
ParticipantVariante qui n’affiche que le numéro de la semaine.
alex
ParticipantBebarth 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 #60500alex
ParticipantNawelCPA travaille peut-etre sous Acrobat Pro 11 et Adobe® LiveCycle® Enterprise Suite …
alex
ParticipantJe 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.alex
ParticipantAttention, 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…alex
ParticipantVoir 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());alex
ParticipantDé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…alex
ParticipantJ’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 #60485alex
ParticipantOn 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;alex
ParticipantBonjour,
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.) #58011alex
ParticipantBonsoir,
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 #59471alex
Participant
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.alex
ParticipantLe & 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 &&
alex
ParticipantPOur 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);
}alex
ParticipantBonjour 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 !
alex
ParticipantEt 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.alex
ParticipantEt voici les exemples (on est limité à une pièce jointe apparemment).
alex
ParticipantBonjour à 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.alex
ParticipantJe 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 #60381alex
ParticipantPour 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;alex
ParticipantSalut 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
alex
ParticipantCi-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).alex
ParticipantBonsoir,
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
alex
ParticipantBonjour à 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
alex
ParticipantJ’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 #60272alex
ParticipantIl faut écrire:
if (choix.isBoxChecked(0)) ou bien
if (choix.isBoxChecked(0)==true)
et non pas:
if (choix.isBoxChecked=true)alex
ParticipantBonsoir,
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.
alex
ParticipantBonsoir,
Voici une maquette à peaufiner….
Amitiés à tous.alex
ParticipantBonjour,
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 #60178alex
ParticipantPour ê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.
alex
ParticipantCi-joint le script corrigé vite fait (il y a des petites choses à peaufiner pour que tout soit parfait).
Amitiés à tous.alex
ParticipantBonjour 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.alex
ParticipantBonjour 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 #60082alex
ParticipantBonjour,
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 #60073alex
ParticipantRegardez 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 #60069alex
ParticipantBonjour,
Il suffit de faire une boucle de calcul !
Voir mes derniers exemples…alex
ParticipantDé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).alex
ParticipantPour ceux qui sont sur PC, je conseille Notepad++ que ce soit pour le JavaScript ou le PHP.
Je vais essayer sublimetext…alex
ParticipantMaquette 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.alex
ParticipantOui, c’est assez simple. Il suffit de synchroniser les deux listes.
Une maquette va suivre.alex
ParticipantMa 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.alex
ParticipantBonjour à 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 !
alex
ParticipantBonjour,
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.alex
ParticipantBonjour à 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.alex
ParticipantVoici 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.alex
ParticipantPour répondre à bebarth, voir ci-dessous:
https://acrobatusers.com/tutorials/print/formatting_text_fieldsalex
ParticipantMaquette que j’espère sans erreur.
La fermeture du document réinitialise le formulaire:
this.resetForm();Amitiés à tous.
alex
ParticipantBonjour,
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
alex
ParticipantBonjour,
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 -
Cette réponse a été modifiée le il y a 2 années par
-
AuteurRéponses