Bouton multifonction  (Lu 165 fois) Partager ce sujet Imprimer

1 B


GERYGOLPA  26 septembre 2020 : 08:51

Bonjour,

je suis sur le point de finir mon formulaire PDF, j'ai créé un bouton enregistrer qui clôt le tout mais je rencontre quelques petits problèmes.
J'ai mis en place un script en champ activé qui aplati / enregistre / envoie.
Je me suis rendu compte que "this.flattenPages();" empêche l'enregistrement et l'envoi, j'ai donc testé en remplaçant par lecture seule sur tous les champs sauf le bouton et c'est magique, le script se termine.
Sauf que :
1- Les champs en lecture seuel sont toujours modifiables avec Acrobat Pro ou un autre éditeur PDF, embêtant car les utilisateurs sont de plus en plus débrouillards
2- un fichier joint alimente un champ liste déroulante Client et rempli un champ Mail en automatique, est-il possible de faire disparaitre cette pièce jointe à l'envoi ou à l'enregistrement pour que le destinataire n'ait pas accès à la liste mails de tous mes clients ?
3- Lors de l'enregistrement automatisé ou de l'envoi par mail, le champ client (liste déroulante) est récupéré pour nommer le fichier et pour le sujet. Celui-ci ne prend pas la valeur du champ mais la valeur d'exportation, ce qui me donne "4" au lieu de "client4"  par exemple.

Il y a t'il une solution a ces 3 problèmes ?

Merci d'avance pour vos retours

// Applatir
this.flattenPages();

// Enregistrer
console.clear();
documentInitial=this;
global.NomDuFichier=util.printd("yymmdd", new Date())+"-"+documentInitial.getField("Client").value;
//console.println("Nom du fichier a enregistrer:"+global.NomDuFichier)
//Process de création
    try
    {
    creationTrustDoc();
    }
    catch(e)
    {
    app.alert("Plug In \"creationTrustDoc()\" manquant !",1)
    }
//

// Envoyer
var fTo = this.getField("Mail").value;
var fTo2 = "xxxxxxxxx@xxxx.xxxx";
var fSubject = util.printd("yymmdd", new Date())+"-"+this.getField("Client").value;
var fBody = "Veuillez trouver ci-joint le rapport d'intervention du "+util.printd("dd/mm/yyyy", new Date());

this.mailDoc({bUI: true, cTo: fTo, cCc: fTo2, cSubject: fSubject, cMsg: fBody});

IP archivée


Merlin  27 septembre 2020 : 12:02

Bonjour

Citer
Je me suis rendu compte que "this.flattenPages();" empêche l'enregistrement
Je t'avais mis en garde dans un autre sujet : flattenPages ne fonctionne pas avec Acrobat Reader.

Le plus simple pour vraiment verrouiller un formulaire c'est de le signer, via les outils "Remplir et signer".

IP archivée


GERYGOLPA  27 septembre 2020 : 17:19

Merlin le Flatten pages fonctionne avec Adobe dc, mes champs se verrouillent bien c'est la suite qui ne fonctionne pas / pas enregistrement et pas d'envoi (alors que utiliser seul tout est Ok.
Le script s'arrete tout simplement, cela doit être du au verrouillage du bouton je pense.


Si je fait un script application. Js  avec les  même paramètres cela pourrais passé tu penses ? Vu que szrait un lancement par plugin et non un script rattaché au bouton.


As tu une idée pour les autres points fichier joint et valeur d'exportation?
 
Pour la valeur d'exportation je pensais faire un deuxième champ client caché ( format texte) qui reprendrait la valeur du premier en liste déroulante.


Merci pour le retour

IP archivée


bebarth  27 septembre 2020 : 20:36

bonjour,
Si tu aplatis une page avec un bouton qui contient un script, il n'y a plus de script !
Essaye une action, ça devrait mieux marcher...
@+
 :bonjour:

IP archivée


GERYGOLPA  27 septembre 2020 : 21:20

Merci a vous

Suite a plusieurs Test
1- pour que le Flattenpages ne gène pas la prise d'information je l'ai déplacé juste au dessus de ma derniere ligne "this.maildoc........." et la miracle tout se déroule impeccable avec un fichier figé sans possibilité de modification futur enregistrement et envoi
3- pour la valeur Export j'ai rajouté une colonne dans mon csv identique a ma liste déroulante et j'ai créé un champ caché qui me sers pour l'enregistrement et l'envoi, du coup problème réglé.
2- je n'ai toujours pas de solution pour que le fichier joint disparaisse ?

IP archivée


Merlin  28 septembre 2020 : 11:28

2- je n'ai toujours pas de solution pour que le fichier joint disparaisse
this.removeDataObject("NOMduFICHIER");

IP archivée


GERYGOLPA  29 septembre 2020 : 10:49

Merci Merlin
Parfait  :Smiley08:

IP archivée