Donnez vie à vos documents numériques !
 

Liste pour remplissage automatique

abracadabraPDF Forums PDF – Général Liste pour remplissage automatique

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #46347
    LunahStella
    Participant

    Enfin Merlin, j’ai réussi à « poster »…  Je ne prenais pas le bon chemin pour m’y rendre.

    Cela fait 2 jours que je fouille et j’ai regardé tout ce qui s’appelle « liste, mère, fille » et il semblerait que je sois vraiment nulle, car je ne comprends strictement rien à ce qui est là. Ce n’est pourtant pas d’hier que j’utilise Acrobat Pro, mais pour une fonction qui me semble toute simple, il n’y a pas moyen d’y arriver.  Peut-être que je transpose ou modifie incorrectement vos formules de JavaScript, mais cela ne fonctionne tout simplement pas pour moi.

    C’est pourtant simple mon truc.

    Lorsque je choisi le « Porteur » dans la liste, je veux que son titre apparaisse automatiquement, ainsi que son numéro de cellulaire.  C’est tout.

    Je fais ces « Avis de travaux » plusieurs fois par semaine et je veux me sauver du temps.  Il y a une liste de 10 noms pour 7 titres d’emploi et évidemment, 10 numéros de téléphone.

    Voilà c’est tout simple; sûrement pour vous, mais moi je n’y arrive pas.  Les formules que je transpose « ne plantent pas », mais elles ne fonctionnent juste pas.

    Aidez-moi s’il vous plaît; je commence à désespérer de trouver la solution à mon problème.

    Merci d’avance :-)

Affichage de 16 réponses de 1 à 16 (sur un total de 16)
  • Auteur
    Réponses
  • #67696
    Merlin
    Maître des clés

    Bonjour et bienvenue

    Tous les chemins mènent à Rome !

    Considérant que toutes nos sœurs de la belle province lisent l’anglais je crois que tu devrais commencer par cette page :
    https://www.pdfscripting.com/public/List-Field-Usage-and-Handling.cfm
    Et en particulier par les documents Auto-Populate Fields From Dropdown et Fill List Field from List Selection qui y sont proposés en téléchargement libre.

    C’est un excellent tuto, très synthétique, avec des exemples concrets et forcément bien mieux structuré que tout ce qu’on peut glaner sur des forums.
    :Smiley15:

    #67697
    LunahStella
    Participant

    Bonjour et bienvenue

    Tous les chemins mènent à Rome !

    Considérant que toutes nos sœurs de la belle province lisent l’anglais je crois que tu devrais commencer par cette page :
    https://www.pdfscripting.com/public/List-Field-Usage-and-Handling.cfm
    Et en particulier par les documents Auto-Populate Fields From Dropdown et Fill List Field from List Selection qui y sont proposés en téléchargement libre.

    C’est un excellent tuto, très synthétique, avec des exemples concrets et forcément bien mieux structuré que tout ce qu’on peut glaner sur des forums.
    :Smiley15:

    Merci Merlin.  Effectivement je suis bilingue.

    Je vais regarder le tout, du moins la première partie car pour voir les deux autres que tu proposes, ils ne sont pas proposé en téléchargement libre.  Je dois devenir membre à 150$ par année, ce que je ne compte pas faire.  Trop dispendieux pour moi.

    Je vais continuer de piocher avec les infos données dans la première portion et je vais voir ce que cela donne.  Je suis très heureuse de vous avoir trouvé, j’apprécie votre aide.

    #67698
    bebarth
    Maître des clés

    bonjour,
    Si je comprends bien, tu as une liste de 10 noms auxquels tu dois associer un titre parmi 7 mais toujours le même pour chaque personne et idem pour le numéro de téléphone.
    Si c’est le cas il n’y a pas besoin de liste mère-fille.
    Tu me dis !
    @+
    :bonjour:

    #67699
    LunahStella
    Participant

    bonjour,
    Si je comprends bien, tu as une liste de 10 noms auxquels tu dois associer un titre parmi 7 mais toujours le même pour chaque personne et idem pour le numéro de téléphone.
    Si c’est le cas il n’y a pas besoin de liste mère-fille.
    Tu me dis !
    @+
    :bonjour:

    Effectivement:  J’ai une liste de 10 porteurs de dossiers, ils ont chacun leur titre d’emploi (le même pour 2 d’entre eux) et chacun leur numéros de téléphones………..  J’ai réglé le problème pour le titre d’emploi, ainsi : (if (event.value=this.getField(« Porteur »).value) en utilisant le champ d’exportation de donnée et via mon champs de « Titre »…… 

    Mais pour le numéro de téléphone, je ne trouve pas encore.  Je fouille, mais ce doit être trop simple, tout le monde a des trucs bien plus compliqués pour moi

    lolll Merci :-)

    #67700
    bebarth
    Maître des clés

    Voilà,
    Tu donnes une valeur d’exportation à chaque élément de la liste qui correspond  à l’indice dans cette liste.
    Tu crées une table avec les infos nécessaires en script de document.
    Tu places un petit script en script de touche personnalisé.
    …et le tour est joué !
    @+
    :bonjour:

    #67701
    Merlin
    Maître des clés

    Je n’y aurai pas pensé !
    :bravo:

    #67702
    Merlin
    Maître des clés

    car pour voir les deux autres que tu proposes, ils ne sont pas proposé en téléchargement libre.  Je dois devenir membre à 150$ par année, ce que je ne compte pas faire.  Trop dispendieux pour moi.

    1000 excuses.
    Comme je suis membre je n’avais pas fait attention à ça.
    :geek:

    #67703
    LunahStella
    Participant

    Voilà,
    Tu donnes une valeur d’exportation à chaque élément de la liste qui correspond  à l’indice dans cette liste.
    Tu crées une table avec les infos nécessaires en script de document.
    Tu places un petit script en script de touche personnalisé.
    …et le tour est joué !
    @+
    :bonjour:

    Un gros gros MERCI Bebarth…….  Problème réglé.  Merveilleux !!!

    Bonne journée à vous tous, vous êtes super !

    #67704
    Michoux
    Membre

    Voilà,
    Tu donnes une valeur d’exportation à chaque élément de la liste qui correspond  à l’indice dans cette liste.
    Tu crées une table avec les infos nécessaires en script de document.
    Tu places un petit script en script de touche personnalisé.
    …et le tour est joué !
    @+
    :bonjour:

    Bonjour,
    Je passais par votre excellent forum pour un problème similaire.
    Cette méthode est astucieuse,propre et évolutive pour mon cas :)
    J’ai donc modifié un de mes fichiers en m’en inspirant très (trop !) largement  :siffle:
    Toutefois, lorsque je veux récupérer la chaîne de caractères plus loin dans mon formulaire, c’est la valeur d’exportation du champ qui est retournée.

    En exemple :
    if (this.getField(« Toto »).value!= »Off ») {
        event.target.value=this.getField(« Tintin »).value;
    } else {
    }

    Je veux récupérer le display du champ Tintin, mais le script me renvoie la valeur d’exportation du champ.
    Le champ Tintin est un menu déroulant avec 3 options, renvoyant chacune à une valeur d’exportation {0,1,2}, valeurs que j’utilise par ailleurs pour remplir automatiquement d’autre pages du formulaire, exactement selon votre méthode.
    Connaissez-vous un moyen de récupérer le texte et non la valeur d’exportation du champ ?

    Merci d’avance pour vos réponses toujours éclairées !
    A+

    #67705
    bebarth
    Maître des clés

    bonjour,
    Pour ce faire, il faut d’abord trouver la position courante de la liste déroulante, puis lire le nom de l’élément à cette position, ce qui donne :

    Code:
    if (this.getField(« Toto »).value!= »Off ») {
        var position=this.getField(« Tintin »).currentValueIndices;
        event.target.value=this.getField(« Tintin »).getItemAt(position, false);
    } else {
        …
    }

    https://help.adobe.com/en_US/acrobat/acrobat_dc_sdk/2015/HTMLHelp/index.html#t=Acro12_MasterBook%2FJS_API_AcroJS%2FField_properties.htm%23TOC_currentValueIndicesbc-13&rhtocid=_6_1_8_31_1_12
    et
    https://help.adobe.com/en_US/acrobat/acrobat_dc_sdk/2015/HTMLHelp/index.html#t=Acro12_MasterBook%2FJS_API_AcroJS%2FField_methods.htm%23TOC_getItemAtbc-12&rhtocid=_6_1_8_31_2_11
    @+
    :bonjour:

    #67706
    Michoux
    Membre

    bonjour,
    Pour ce faire, il faut d’abord trouver la position courante de la liste déroulante, puis lire le nom de l’élément à cette position, ce qui donne :

    Code:
    if (this.getField(« Toto »).value!= »Off ») {
        var position=this.getField(« Tintin »).currentValueIndices;
        event.target.value=this.getField(« Tintin »).getItemAt(position, false);
    } else {
        …
    }

    https://help.adobe.com/en_US/acrobat/acrobat_dc_sdk/2015/HTMLHelp/index.html#t=Acro12_MasterBook%2FJS_API_AcroJS%2FField_properties.htm%23TOC_currentValueIndicesbc-13&rhtocid=_6_1_8_31_1_12
    et
    https://help.adobe.com/en_US/acrobat/acrobat_dc_sdk/2015/HTMLHelp/index.html#t=Acro12_MasterBook%2FJS_API_AcroJS%2FField_methods.htm%23TOC_getItemAtbc-12&rhtocid=_6_1_8_31_2_11
    @+
    :bonjour:

    Bonsoir bebarth,

    Merci beaucoup pour votre réponse et pour votre temps.
    J’ai essayé de régler mon problème en me servant de votre code et de la documentation vers laquelle pointent les 2 liens.
    Je comprends l’idée mais la réalisation pêche  :mur:
    J’attache un fichier exemple.pdf qui comprend mes 3 champs {Toto, Tintin, Gaston} et votre code. Savez-vous m’expliquer pourquoi le champ Gaston ne renvoie pas le contenu du champ Tintin malgré l’emploi de l’argument false ?
    J’arrive à renvoyer la valeur d’exportation mais pas le texte.
    Merci d’avance pour votre aide précieuse  :bonjour:

    #67707
    bebarth
    Maître des clés

    bonsoir,
    Le script n’aimait pas le nom de la variable « position ». Certainement un mot réservé !!! Je n’avais jamais remarqué…
    Je l' »ai changé en « pos » et tout fonctionne correctement.Il faut également cocher la case « Valider la valeur de la case immédiatement » pour que comme c’est indiqué la valeur soit prise en compte immédiatement.
    Dans l’exemple j’ai rajouté un champ qui n’affiche rien si la liste est en position 0 (au lieu d’afficher « –Rien–« ).
    @+
    :bonjour:

    #67708
    Michoux
    Membre

    Mille mercis bebarth pour ce retour rapide  :bonjour:
    Je ne comprenais d’où venait le problème et je n’ai jamais pensé qu’il pouvait venir du nom de la variable !
    Tout fonctionne à présent et ce même post dont je ne suis pas l’auteur aura permis de régler 2 de mes problèmes dans un intervalle court.
    Bravo pour le temps consacré à ce forum, qui devient une véritable mine d’informations dans laquelle je pioche bon nombre de solutions.
    Merci encore et bonne continuation.

    #67709
    bebarth
    Maître des clés

    bonjour,
    « position » ne fait pas partie des mots réservés en JavaScript :
    https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Mots_r%C3%A9serv%C3%A9s
    Je ne vois pas comme ça pourquoi ça ne fonctionnait pas !
    @+
    :bonjour:

    #67710
    Merlin
    Maître des clés

    JavaScript et PDF-JavaScript n’ont apparemment pas les mêmes mots réservés !
    Mais bon, pour une fois qu’il utilise un mot français on ne va pas se plaindre.
    :Smiley03:

    #67711
    bebarth
    Maître des clés

    :extra: bon à savoir !  :extra:
    @+
    :bonjour:

Affichage de 16 réponses de 1 à 16 (sur un total de 16)
  • Vous devez être connecté pour répondre à ce sujet.