abracadabraPDF › Forums › PDF – Général › Envoi par mail puis fermeture du document
- Ce sujet est vide.
-
CréateurSujet
-
7 novembre 2014 à 14:19 #44997Anthony74Participant
Bonjour,
Je viens de réaliser un formulaire PDF signé que je dois envoyer par mail.
Jusque là, aucun problème car le fichier envoyé dans le mail est bien figé.
Par contre le document reste ouvert et me donne la possibilité de faire un “Enregistrer Sous”, laissant la possibilité de modifier les informations.
Il serait préférable de le fermer dès qu’il est inséré dans le mail. Comment faire svp? -
CréateurSujet
-
AuteurRéponses
-
8 novembre 2014 à 13:20 #57892MerlinMaître des clés
Ben heu…
Tout dépend du contexte d’utilisation et de la façon prévue pour envoyer le PDF par email (bouton ?…).
:Euuuh:10 novembre 2014 à 10:34 #57893Anthony74ParticipantAu niveau du contexte c’est juste pour éviter les modifications suite à l’envoi du mail.
Si la personne conserve la main sur le PDF et modifie les informations du document alors que, par exemple une signature est déjà présente sur le document, cela représente un risque d’usurpation ou autre.
Et oui j’utilise bien un bouton pour faire cela.
Que faudrait-il faire stp? La fermeture du document me semble être une bonne solution si cela est possible.10 novembre 2014 à 16:53 #57894MerlinMaître des clésDans ce cas, dans le bouton “Envoyer” par email il y a déjà une action.
Il faut lui en ajouter une deuxième, soit :
– Exécuter un article de menu : menu Fichier : Fermer,
– Exécuter un JavaScript : this.closeDoc();C’est l’un ou l’autre, le JavaScript à l’avantage de l’indépendance par rapport à l’interface (= pérennité).
:Smiley01:10 novembre 2014 à 21:28 #57895Anthony74ParticipantLe JavaScript me plait bien, d’ailleurs comme tu le dis c’est plus pérenne.
Mais c’est intéressant de pouvoir le faire par menu aussi, merci pour ces infos.Par contre lorsque je fais ça j’ai le message qui me demande si je souhaite enregistrer les modifications. (Oui/Non/Annuler)
Est ce qu’il est possible d’outre passer cette fenêtre stp? :doute:11 novembre 2014 à 14:27 #57896MerlinMaître des clésOui, un logiciel demande à enregistrer un fichier parce-qu’il y a un marqueur de modification qui a été activé, et JavaScript permet de réinitialiser ce marqueur. On peut donc faire précéder le code de fermeture par celui-ci :
Code:this.dirty = false;:attention: :attention: :attention:
Mais attention, c’est très dangereux : toutes les modifications non enregistrées sont définitivement perdues sans aucun avertissement !
Si un utilisateur vient frapper à ta porte avec un fusil à la main tu sauras pourquoi…
:Smiley00:12 novembre 2014 à 09:24 #57897Anthony74Participant:bonjour: :bonjour: :bonjour: Merci Merlin!
Franchement chapeau, je ne savais pas que c’était possible.
Je vais tester cela très rapidement.
Et concernant l’utilisateur avec le fusil, on va dire que je vais faire en sorte qu’il ne me retrouve pas… :Smiley03:12 novembre 2014 à 14:15 #57898Anthony74ParticipantMerlin, je viens de tester sur depuis un bouton…
Code:this.dirty = false;
this.closeDoc();Mais la fenêtre d’enregistrement des modifications apparaît encore.
Est ce qu’il y a une subtilité que j’aurai loupé?12 novembre 2014 à 17:01 #57899MerlinMaître des clésPeut-être que ça va trop vite…
Essaye avec ce temporisateur d’une demi-seconde :
Code:this.dirty = false;
function DoIt() {this.closeDoc();}
app.setInterval(“DoIt()”, 500);12 novembre 2014 à 20:41 #57900Anthony74ParticipantMerlin, encore un grand MERCI! :bonjour: :bonjour: :bonjour:
C’est exactement ce que je voulais. :Smiley08: :Smiley08: :Smiley08:
13 novembre 2014 à 14:16 #57901Anthony74ParticipantMerlin, je suis désolé mais quand j’ai testé c’était directement sur un bouton.
J’ai voulu tester pour fermer le formulaire après l’envoi du mail mais ça ne fonctionne pas.
Pour tester j’ai placer le code avant l’envoi par mail du fonctionnaire et à ma grande surprise ça fonctionne… Enfin preque…
Le formulaire est vide mais le formulaire est fermé après l’envoi par mail.
Aurais tu une solution magique stp? :priere:13 novembre 2014 à 14:19 #57902MerlinMaître des clésMerlin, je suis désolé mais quand j’ai testé c’était directement sur un bouton.
J’ai voulu tester pour fermer le formulaire après l’envoi du mail mais ça ne fonctionne pas.
Pour tester j’ai placer le code avant l’envoi par mail du fonctionnaire et à ma grande surprise ça fonctionne… Enfin preque…
Le formulaire est vide mais le formulaire est fermé après l’envoi par mail.Kestudi ?
:Euuuh: :doute: :oh:13 novembre 2014 à 17:24 #57903Anthony74ParticipantDésolé. :Ooops:
Je suis tellement bien lancer dans la programmation de mon formulaire que j’oublie les explications en détail.
1) Lorsque j’ai testé le codeCode:this.dirty = false;
function DoIt() {this.closeDoc();}
app.setInterval(“DoIt()”, 500);Cela fonctionne bien à partir d’un bouton avec action JavaScript.
2) Dans ce même bouton je fais une vérification si un champ est rempli et ensuite j’envoi un mail.
Après l’envoi de mail je voulais que la page se ferme. J’ai donc rajouté ton code directement après l’encore de l’envoi du mail (toujours dans le code du même bouton). Malheureusement ça ne fonctionne pas car une fenêtre me demande d’enregistrer les modifications avant la fermeture du formulaire.
3) J’ai essayer d’insérer le code avant le code l’envoi de l’email toujours dans le même bouton dans la même bouton (code JavaScript).
Le résultat est que ça fonctionne… Le mail est envoyé et le formulaire se ferme sans me demander d’enregistrer les modifications.
Malheureusement le formulaire qui est en pièce jointe du mail n’est pas rempli.
Que faire stp? :priere:13 novembre 2014 à 21:41 #57904brumbiesMembreBonsoir,
Ton code pour fermer sans interrogation de l’utilisateur doit de toutes les façons être éxécuté après l’action d’envoi du mail.
Ensuite, pour l’envoi du mail tu utilises une action via une action “prédéfinie” (envoyer un formulaire) ou via un script de type :
this.mailDoc({
bUI: false,
cTo: “xxxx@xxx.xx“,
cCC: “xxxx@xxx.xx“,
cSubject: “Essai”,
cMsg: “cool ca marche”
});
Et tu as mis les 2 actions sur le même déclencheur?Joint ton fichier si possible…
:Smiley01:15 novembre 2014 à 06:29 #57905Anthony74ParticipantBonsoir,
Je vous joins un exemple.
En réessayant plusieurs fois j’ai l’impression que cela vient de ma “Confirmation box”.
Car si je programme mon envoi sans cette boite de dialogue, le message semble bien être envoyé avec les données et la fenêtre se ferme après l’envoi du mail.
Pouvez vous m’indiquer si je peux faire quelque chose d’autre svp?
Si je pouvais être sûr de l’envoi du mail avec les données et de la fermeture du formulaire sans demande de modifications, ce serait super.16 novembre 2014 à 00:29 #57906brumbiesMembreOk je regarde ça ce soir… :Smiley01:
16 novembre 2014 à 23:34 #57907brumbiesMembreBonsoir,
J’ai tester ton fichier et il fonctionne de mon côté sur Acrobat XI et sur adobe reader XI…
Si tu veux que les utilisateurs le remplissent sur adobe reader (autre que la version XI) pense à étendre les fonctionnalités d’enregistrement sinon de toutes les manières la pièce jointe sera vierge…
Maintenant, j’ai l’impression que ton problème vient toujours du timing d’exécution des différentes lignes…
donc, je modifierai ton script ainsi :Code:this.dirty = false;
function DoIt() {this.closeDoc();}
app.setInterval(“DoIt()”, 500);
parCode:app.alert(“Merci d’avoir renseigné ce formulaire.nA bientôt”);
this.dirty = false;
this.closeDoc();
Cela permettra de stopper le déroulement du script après l’envoi du mail…Sinon une autre approche pour empecher les modifications, serait de mettre l’ensemble des champs de ton formulaire en lecture seule (this.getField(XXXX).readonly = true;) juste avant l’envoi et de le coupler à un script d’ouverture de document pour réinitialiser les champs et les rendre de nouveaux visibles
:Smiley01:17 novembre 2014 à 10:28 #57908Anthony74ParticipantBonjour,
Effectivement c’était bien un problème de timing, j’ai testé sur différents ordis pour vérifier et le résultat était un peu aléatoire.
Un grand merci pour l’idée du message de remerciement c’est excellent.
Seul détail “technique” qui n’en est pas vraiment un l’icône correspond à un message d’Alerte et je vais voir pour le remplacer par un icône d’information.Pour la deuxième solution si je passe tous les champs en lecture seule cela empêchera les modifications, ce n’est pas une mauvaise idée. :doute:
Merci beaucoup en tout cas, le “problème” est résolu. :jerisjaune:
Et Merci Merlin aussi pour ton aide toujours précieuse. :Smiley03:17 novembre 2014 à 11:45 #57909MerlinMaître des clésSeul détail “technique” qui n’en est pas vraiment un l’icône correspond à un message d’Alerte et je vais voir pour la remplacer par une icône d’information.
Copié-collé depuis la doc :
(optional) An icon type. Possible values are these:
0 — Error (default)
1 — Warning
2 — Question
3 — Status
Note: In Mac OS, there is no distinction between warnings and questions.:Smiley15:
18 novembre 2014 à 14:20 #57910Anthony74ParticipantMerci beaucoup, le formulaire est vraiment génial maintenant. :bonjour: :bonjour: :bonjour: :bonjour: :bonjour:
-
AuteurRéponses
- Vous devez être connecté pour répondre à ce sujet.