Génération, renommage et sauvegarde de formulaires remplissables  (Lu 253 fois) Partager ce sujet Imprimer

1 B


RemiB  23 novembre 2020 : 15:03

Bonjour à tous,
 
 Je ne remercierai jamais assez les contributeurs de ce forum tant j'ai trouvé de solutions sur ce dernier. Cependant aujourd'hui je bloque sur un petit souci et compte sur vos lumières.
 
 Je dois mettre à jour un formulaire d'entretien d'évaluation dématérialisé pour 3 collectivités différentes. L'année dernière, Merlin et Bebarth m'avaient été d'une grande aide sur différents point du formulaire. Bref, pour simplifier le travail des agents RH et des évaluateurs, et surtout pour harmoniser l'ensemble des documents, j'ai apporté les modifications suivantes :
 
  - Fusion des 3 formulaires en seul (la seule différence était le logo et le numéro de matricule)
 
  - J'ai adapté un script trouvé sur ce forum pour générer, renommer et sauvegarder les entretiens dans un dossier spécifique, le script de commande personnalisée est le suivant : /* import attestation */
 // spécifier le nom du fichier de données
 var fileName = "/c/Users/remi.bontoux/Desktop/EVAL_2020/liste_evalues.txt";    // nom et chemin du fichier de données utiliser uniquement "/" et pas ":\"
 var outputDir = "/c/Users/remi.bontoux/Desktop/EVAL_2020/";    // chemin du dossier ou enregistrer les fichiers attention a bien terminer avec '/'
 
 var err = 0;
 var idx = 0;
 while (err == 0) {
     err = this.importTextData(fileName, idx); // importe l'enregistrement suivant
     
     // controle des erreurs
     if (err == -1)
         app.alert("Error: Cannot Open File");    //si fichier introuvable, vérifier le chemin d'accès
     else if (err == -2)
         app.alert("Error: Cannot Load Data");    //apparait si le fichier .txt est ouvert dans un autre programme (bloc note, excel, etc)
     // else if (err == -3)
         // erreur non utilisée car -3 indique la fin de la table de données.
         // Fin de la boucle.
         // app.alert("Error: Invalid Row");
     else if (err == 1)
         app.alert("Warning: User Cancelled File Select");
     else if (err == 2)
         app.alert("Warning: User Cancelled Row Select");
     else if (err == 3)
         app.alert("Warning: Missing Data");    //apparait si un nom de colonne dans le fichier texte ne correspond à aucun champ du pdf
     else if (err == 0) {
         this.saveAs(outputDir + "EVAL_2020_" + this.getField("017_ServiceLibelle").value + "_" + this.getField("009_Nom").value + "_" + this.getField("010_Prenom").value + ".pdf"); // nomme et sauvegarde le fichier à l'emplacement spécifié en début de code
         idx++;
     }
 }
 

L'objectif est de créer une version diffusée et un fichier réponse en cliquant sur Distribuer afin d'une part de permettre aux 2 agents RH de gérer les retours sur le fichier réponse et aux évaluateurs d'avoir le "beau" bandeau violet avec le bouton envoyer le formulaire lors du remplissage.

Le problème est que autant cette commande fonctionne parfaitement avec le formulaire joint au message, autant elle est complètement incative avec la version diffusée du même formulaire. Je suppose que c'est pour des histoires de restrictions d'autorisations présentes sur la version diffusée mais est-ce qu'il y aurait un moyen de contourner ce problème et de faire fonctionner cette commande.

En solution alternative j'ai la possibilité d'ajouter en fin de formulaire un bouton envoyer et d'apprendre aux agents RH à ajouter manuellement des formulaires à un fichier réponse mais j'aimerais autant éviter.

Par avance merci pour vos lumières sur ce petit souci.

PS : Avant la génération des formulaires, je modifierai les chemins d'accès en début de script pour qu'ils correspondent au souhait des agents RH sur leur poste de travail. Et j'avais au départ ajouté du code permettant de masquer ou d'afficher le bon logo en fonction du contenu du champ structure mais il a été décidé de faire systématiquement apparaître les trois.

IP archivée


Merlin  24 novembre 2020 : 09:29

Bonjour

Citer
Le problème est que autant cette commande fonctionne parfaitement avec le formulaire joint au message, autant elle est complètement incative avec la version diffusée du même formulaire.
Je ne comprend pas la question, il y a un mot (clé) que je ne comprend pas.

IP archivée


bebarth  24 novembre 2020 : 09:39

bonjour,
Bonjour
Je ne comprend pas la question, il y a un mot (clé) que je ne comprend pas.
J'ai eu la même réaction dans un premier temps ! Je pense que RemiB s'est mélangé les doigts et voulait écrire "inactive".
Mais je relirai le sujet plus tard car pour l'instant je n'ai pas compris ce qu'il faut faire...
bonne journée et @+
 :bonjour:

IP archivée


RemiB  24 novembre 2020 : 10:07

Bonjour Merlin et Bebarth,

Merci pour votre retour et oui je confirme, j'aurais du me relire pour éviter ça  :oh: désolé.

Je vais essayer de reformuler plus clairement mon problème, Lorsque j'aurais finalisé le formulaire, le but est de suivre les étapes suivantes :
 - cliquer sur "Distribuer" en bas du volet "préparer le formulaire"
 - puis sur "Envoyer par messagerie électronique"
 - puis sur "Enregistrer une copie locale..." cela créer une version diffusée du formulaire et le fichier réponse correspondant que vont utiliser les agents RH en charge de l'envoi et du suivi des entretiens, jusque là tout va bien.
 - Je comptais utiliser ma commande à cette étape pour générer les entretiens pré-remplis (environ 800!) et nommés correctement (pour la RH) sauf que ma commande marche avec la version "non diffusée" du formulaire mais pas du tout avec la version diffusée.  :Euuuh:

Je suppose que ça a quelque chose à voir avec les restrictions (dans les propriétés), je vous mets une version diffusée en pj. Est-ce qu'il y a un moyen de contourner ces restrictions pour que la commande fonctionne avec la version diffusée ?

IP archivée


Merlin  24 novembre 2020 : 12:25

Citer
Je pense que RemiB s'est mélangé les doigts et voulait écrire "inactive".
C'est ce que j'avais supposé aussi, mais de bon matin ça n'avait pas de sens non plus dans mon esprit embrumé.  :joker:

IP archivée


Merlin  24 novembre 2020 : 12:35

Citer
Je vais essayer de reformuler plus clairement mon problème

Mauvaise nouvelle : comme tu l'as constaté il n'est pas possible d'utiliser ce genre de script avec la fonction "Distribuer".

Bonne nouvelle : ça ne servirait à rien, ou pas à grand-chose parce-que quand on utilise cette fonction on n'a pas à gérer les fichiers retournés.
Dans le fichier "Réponses" le nom des répondants apparait toujours en clair, même chose dans le fichier CSV une fois les données exportées.


IP archivée


RemiB  24 novembre 2020 : 15:03

Merci pour ton retour Merlin,

Citer
Mauvaise nouvelle : comme tu l'as constaté il n'est pas possible d'utiliser ce genre de script avec la fonction "Distribuer".
Je m'en doutais mais ça valait le coup d'essayer  :Smiley08:

Je pense vais donc opter pour la solution suivante :

 - Ajouter en page 5 un bouton "ENVOYER" (débloqué par les signatures de l'évaluateur et de l'évalué) avec l'adresse mail de la RH, l'objet qui va bien, un corps de texte déjà tout prêt etc. ça je sais faire... grâce à ce forum d'ailleurs !  :extra:

 - Générer les entretiens pré-remplis et nommés correctement
 
 - "Distribuer" le formulaire depuis le poste RH pour créer leur fichier réponse (ça évitera aux agents RH de trop paniquer)

 - Leur montrer comment ajouter manuellement les réponses à ce fichier (on à l'impression que c'est facile... mais quand tu as des agents d'execution qui font ça en papier depuis 25 ans et qui ont un niveau de bureautique... disons... faible  :Smiley03: pcq bon... je suis une buse en javascript mais vous verriez les Word ou Excel que je reçois quotidiennement :oh: Donc les formations et les tutos c'est vraiment du pas à pas, pour ne pas dire du clic à clic !!) bref.

Selon moi ça devrait fonctionner correctement, le plus important étant de générer les entretiens en partie pré-remplis.

Encore merci pour vos réponse rapides avec Bebarth, c'est toujours un plaisir de venir fouiller sur ce forum !

IP archivée


Merlin  24 novembre 2020 : 17:37

J'ai l'impression que tu n'as pas testé la fonction "Distribuer" jusqu'au bout.

1- Générer les entretiens pré-remplis et nommés correctement.
2- "Distribuer" le formulaire depuis le poste RH pour créer leur fichier réponse.
3- Et puis c'est tout.


Citer
- Leur montrer comment ajouter manuellement les réponses à ce fichier
C'est une option juste pour le cas où certains n'utiliseraient pas le bouton "Distribuer" situé dans la barre violette et renvoyaient le formulaire par un autre biais, ou bien pour intégrer des formulaires qui n'auraient pas été envoyés (remplis localement par exemple).

IP archivée


RemiB  24 novembre 2020 : 17:45

Effectivement, je vais tester ça !

Merci beaucoup !

IP archivée