Donnez vie à vos documents numériques !
 

RemiB

Toutes mes réponses sur les forums

Affichage de 20 réponses de 1 à 20 (sur un total de 20)
  • Auteur
    Réponses
  • en réponse à : Bug lors du spawn de templates – formulaire pdf #69637
    RemiB
    Membre

    :priere: Merci beaucoup, je ne connaissais pas cette fonction  :oh: que je viens de trouver dans l'outil organiser les pages->autres->Modèles de pages (je met ça si jamais qqun d'autre tombe sur ce sujet) ça va effectivement changer la donne.

    Encore merci pour les réponses rapides.

    Bonne journée

    en réponse à : Bug lors du spawn de templates – formulaire pdf #69635
    RemiB
    Membre

    Je crois que j'ai conservé une version sans les champs de formulaires ou avec les champs mais sans les scripts, je vais essayer en repartant de là.

    Le truc « pénible » enfin chronophage même avec des copier-coller, c'est qu'il faut que j'ajoute les scripts de champs des pages centrales avant de les transformer en templates du coup si ça merde au moment de la création des templates il faut tout recommencer à chaque fois  :Smiley02:

    en réponse à : Bug lors du spawn de templates – formulaire pdf #69634
    RemiB
    Membre

    Bonjour Merlin,

    C'est le mauvais pressentiment que javais concernant ce formulaire  :Smiley02:
    Bon ben il y a plus qu'à recommencer  :Smiley11: l'avantage c'est que je sais déjà que ça doit fonctionner :)

    Merci pour la réponse en tout cas et bonne journée.

    RemiB
    Membre

    Effectivement, je vais tester ça !

    Merci beaucoup !

    RemiB
    Membre

    Merci pour ton retour Merlin,

    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 !

    RemiB
    Membre

    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 ?

    en réponse à : Code JavaScript pour vérification de formulaire #66595
    RemiB
    Membre

    Effectivement c’est subtil  :geek: j’aurais jamais trouvé la raison !!

    Merci pour la réponse et pour la correction du code, ça marche impeccable.

    Du coup j’avais triché en attribuant 0.01 comme valeur au lieu de 0 pour avoir une influence plus que négligeable sur les calculs  :Smiley00:

    en réponse à : Code JavaScript pour vérification de formulaire #66593
    RemiB
    Membre

    :tutut:
    Non.
    La valeur d’exportation n’est renvoyée que si la case est cochée, si elle n’est pas cochée elle renvoie « Off ».
    Si une case a une valeur d’exportation de 0 (zéro) elle renvoie « 0 » quand elle est cochée et « Off » quand elle ne l’est pas.

    il doit y avoir une subtilité qui m’échappe  :Euuuh: à laquelle tu auras peut-être une explication.

    Dans le doc test en pièce jointe, tu verras que lorsque que tu choisis un bouton radio dont la valeur est zéro le champ de signature reste masqué alors que si tu en choisis un du même groupe avec une valeur non nulle le champ de signature apparaît  :oh:

    pour info le script de vérification est en script de calcul personnalisé dans le champ de date.

    en réponse à : Code JavaScript pour vérification de formulaire #66590
    RemiB
    Membre

    Bonjour à tous,

    Après vérification et renommage hier je vous confirme que les champs sont numérotés dans l’ordre alphabétique et voici le code corrigé, testé et utilisé pour mon formulaire :

    Code:
    var ncompteur=0;
    // mettre kfor (var k=0; k<92; k++) {
        var strName = this.getNthFieldName(k);
    //teste si le champ est obligatoire ET vide ou sur « Off » pour les boutons radios et cases à cocher
        if ((this.getField(strName).required == true) && ((this.getField(strName).value == «  ») || (this.getField(strName).value == « Off »)))
    //ajoute 1 à chaque fois qu’un champ obligatoire est vide
    { ncompteur = ncompteur+1;
          }
    }
    //affiche le champ de signature si ncompteur vaut zero et le masque dans le cas contraire
    if (ncompteur==0) {
        this.getField(« 093_Signature_evaluateur »).display=display.visible;
    } else {
      this.getField(« 093_Signature_evaluateur »).display=display.hidden;
        }

    fonctionner avec les propriétés du champ plutôt qu’avec une chaîne de caractères dans le nom des champs me permet de prendre en compte des champs qui ne sont pas forcément obligatoires à l’ouverture du formulaire mais qui peuvent le devenir sous conditions par exemple via le script :

    Code:
    if (event.target.value== » ») {
        this.getField(« 083_Motivation_de_l_evaluateur_Row1 »).required=false;
    } else {
        this.getField(« 083_Motivation_de_l_evaluateur_Row1 »).required=true;
    }

    dernier point sur les valeurs des cases à cocher et des boutons radios :

    Quand j’ai testé ça fonctionnait avec les cases à cocher.
    Quand une case ou une série de cases (même nom) n’est pas cochée la valeur renvoyée est « Off », donc pour le coup on se fiche pas mal de la valeur renvoyée quand c’est coché puisque seul le cas inverse nous intéresse.
    :Smiley03:

    Petite précision sur les cases à cocher, les boutons radios et autres éléments auquels on peut attribuer une valeur d’exportation : faire attention aux valeurs que vous choisissez si vous souhaitez faire des calculs avec après car un zéro en valeur d’exportation est considéré comme « Off » (#truestory) ça m’a bien fait galérer hier soir où le code donnait l’impression de marcher aléatoirement  :Euuuh: :geek: j’ai fini par m’en rendre compte en ajoutant un bout de code dans le if (ncompteur==0) pour qu’il m’affiche la valeur de ncompteur (qui correspond en fait au nombre de champs obligatoire vides) et pour une série de boutons radios dont les valeurs sont 100, 75, 50, 0 il m’affichait ncompteur=1 quand c’etait le bouton valant zéro coché et ncompteur=0 quand pour un bouton ayant une valeur non nulle.

    Voilà voilà, je sais pas si tout ça est très clair mais encore merci pour toute l’aide que vous apportez notamment Merlin et Bebarth

    Bonne journée

    en réponse à : Code JavaScript pour vérification de formulaire #66586
    RemiB
    Membre

    Merci pour l’info @Bebarth !

    Ce n’est pas exactement vrai, et je n’ai à vrai dire pas compris comment ils étaient numérotés exactement…

    Vu l’ordre des champs je me demande si ce n’est pas de ma faute et juste une histoire de Majuscule au début des champs  :Euuuh: ce qui confirmerait la numérotation par ordre alphabétique respectant la casse  :doute: … ça me paraît être une hypothèse valide car les champs sont dans l’ordre alphabétique de « Appreciation_sup » à « Vu… » puis ensuite ça revient à « appreciation globale » et reprend l’ordre alphabétique jusqu’à « signature.. »

    je vais tester !

    et merci pour le lien vers le complément abracadrabratools  :Smiley08:

    en réponse à : Code JavaScript pour vérification de formulaire #66584
    RemiB
    Membre

    Merci beaucoup @Merlin !

    après avoir testé les modifs, je me suis rendu compte que cela fonctionnai ma pas comme je voulais, j’ai donc testé les champs en ajoutant en fin de code :

    Code:
    app.alert(« champs obligatoires restants « +ncompteur+ »  Nom du champ »+strName)

    ce qui m’a permis de voir le nombre de champs obligatoires restants et le nom du champ sur lequel le script arretait son calcul. Bien entendu avec le code ecrit comme ça :

    Code:
    for (var k=0; k

    il s’arrête sur le dernier champ de la dernière page mais c’est un pur hasard  :geek: pcq ce champ est le dernier champ dans l’ordre alphabétique.

    J’explique en fait j’ai modifié le code ci-dessus en remplaçant kpar k<10, k<20, k<12 du coup j’avais l’affichage du champ correspondant au numéro 10, 20, 12, etc. Je pensais que les champs étaients numérotés par ordre sur la page voire par ordre de tabulation mais en réalité ils sont numérotés par ordre alphabétique… je vais donc renommer mes champs en fonction afin que je puisse arrêter le compteur sur le champ qui m’intéresse et prendre en compte tous les champs précédents.

    Comme d’hab, merci pour votre aide rapide ;)

    en réponse à : Code JavaScript pour vérification de formulaire #66582
    RemiB
    Membre

    Bonjour en cherchant une solution du même type je me suis demandé si on ne pouvait pas faire ça en utilisant les propriété du champ type « required==true » parce que ça m’arrangerai.

    je vous met en lien mon formulaire (Merlin & Bebarth, oui c’est toujours le même  :siffle: ) mon objectif est le suivant :

    j’ai certains champs qui ne deviennent obligatoires que lorsque qu’un autre est rempli par exemple en page 4 dans le tableau des formations, le champ motivation de l’évaluateur devient obligatoire si le champ intitulé correspondant est rempli. Pour cela j’utilise le script suivant en script de calcul personnalisé pour le champ « intitulé de la formation » :

    Code:
    if (event.target.value== » ») {
        this.getField(« Motivation_de_l_evaluateur_Row1 »).required=false;
    } else {
        this.getField(« Motivation_de_l_evaluateur_Row1 »).required=true;
    }

    et donc en page 5 j’ai besoin (pour éviter que des débiles ne signent le formulaire avant que tous les champs obligatoires ne soient remplis) que le champ « signature de l’évaluateur » reste masqué tant qu’il reste un champ obligatoire vide. J’ai bricolé ce script qui ne fonctionne pas :

    Code:
    var ncompteur=0;
    for (var k=0; k    var fname = this.getNthFieldName(k);
        var f = this.getField(fname);
        if (f.required==true && (f.value== » » || f.value== »Off »)) { ncompteur = ncompteur+1;
          }
    }
    if (ncompteur==0) {
        this.getField(« Signature_evaluateur »).display=display.visible;
    } else {
      this.getField(« Signature_evaluateur »).display=display.hidden;
        }

    Je n’utilise pas « i » et « j » comme variables car elles sont déjà utilisée pour le script de matricule en page 1  :doute: le « f.value… » me permet de vérifier si le champ est vide ou si un bouton radio est off (enfin je crois^^)

    Bref, je comprends pourquoi ce code ne me donne pas le résultat que je souhaite mais j’avoue sécher sur la façon de le corriger, en fait il faudrait qu’il vérifie si le champ est obligatoire uniquement entre le premier champ de la page 1 et le champ « Date_evaluateur_es_:date » en page 4 inclus.

    Merci d’avance pour votre aide toujours précieuse  :Smiley08:

    en réponse à : Taille du fichier PDF avec formulaire augmente !! #66445
    RemiB
    Membre

    Au Top @Merlin !! Merci beaucoup, à force d’avoir le nez sur ce foutu formulaire je vois plus ce qui cloche  :joker:

    Encore merci !

    en réponse à : Taille du fichier PDF avec formulaire augmente !! #66443
    RemiB
    Membre

    Bonjour,

    après avoir suivi les diverses solutions proposées pour réduire la taille de mon formulaire (retour à une police standard, enregistrer-sous, pdf optimisé, etc.) j’ai pu diviser sa taille par presque trois, cependant j’ai encore du Calibri dans les polices intégrée (voir dans les propriétés du doc)

    J’ai pourtant passé plusieurs fois en revue tous les champs ainsi que tout le texte pour vérifier les polices de caractères. Y-a-t-il un moyen de savoir où sont situés ces deux polices calibri restantes afin de pouvoir les supprimer des polices incorporées et ainsi gagner en taille de fichier.

    Merci d’avance

    en réponse à : Remplissage de cases dans un formulaire sur Acrobat XI #66515
    RemiB
    Membre

    Bonjour,

    pour compléter la réponse de @bebarth, je pense que la solution à ton problème se trouve ici https://abracadabrapdf.net/forum/index.php/topic,3498.msg20950.html#msg20950 et plus précisément voici le code de Merlin apportant une grande partie de la solution :

    Code:
    /* importation texte */
    this.resetForm();
    this.getField(« ListeDeroulante »).clearItems(); // champ liste déroulante
    // importer l’unique pièce jointe sans la nommer
    var p = this.getDataObject(this.dataObjects[0].name)
    // importer le contenu de la pièce jointe
    var fi = this.getDataObjectContents(p.name)
    var fit = util.stringFromStream(fi)
    // séparation des rangées (séparateur saut de ligne)
    var datarr1 = fit.split(« n »);
    // séparation des colonnes (séparateur point-virgule)
    var datarr = new Array();
    for (var i = 0 ; i < datarr1.length ; i++) {datarr[i] = datarr1[i].split(";")}
    var fillarr = new Array() ;
    for (var j = 0 ; j < datarr.length ; j++) { fillarr[j] = [datarr[j][1], j] ;}
    // remplissage du champ liste déroulante
    this.getField(« ListeDeroulante »).setItems(fillarr); // champ liste déroulante

    en réponse à : Comment ne pas réinitialiser les listes à l’ouverture ? #66499
    RemiB
    Membre

    Bonjour @Bebarth

    Top, merci beaucoup ! J’ai eu du mal à faire fonctionner le script d’ouverture au début car je l’avais mis au niveau de la page 4 en oubliant qu’en page 1 j’avais un script d’ouverture qui lançait la fonction d’initialisation. Après suppression de ce dernier ça fonctionne très bien.

    Encore merci à toi et à @Merlin pour votre aide précieuse  :priere: :bravo:

    en réponse à : Comment ne pas réinitialiser les listes à l’ouverture ? #66497
    RemiB
    Membre

    Bonjour @Merlin,

    Tout d’abord merci pour le retour et désolé j’ai oublié de citer les champs concernés.

    Il s’agit des champs en page 4 « Type_objectifs » / « Objectifs_1 » / « Objectifs_2 » / « Objectifs_3 » ce sont ces champs qui ne devraient pas être réinitialisés lors de la réouverture du formulaire.

    Les listes des champs Objectifs sont fonction du choix de « Type_objectifs »

    j’espère que c’est plus clair pour toi

    en réponse à : Modification du remplissage automatique d’un formulaire #66126
    RemiB
    Membre

    @bebarth c’est vraiment top merci beaucoup !!! je savais que toi ou @Merlin auriez une solution élégante.

    Oui effectivement j’ai supprimé les accents, espaces, etc. dans les noms des champs du formulaire final, de même que dans la pièce jointe d’ailleurs.

    Une fois définitivement finalisé je le posterai ici probablement via un lien wetransfer ou autre pour avoir votre avis. J’avoue que je suis pas peu fier de ce premier formulaire qui n’aurait jamais pu voir le jour sans ce super forum.

    Merci infiniment pour l’aide !!

    en réponse à : Modification du remplissage automatique d’un formulaire #66123
    RemiB
    Membre

    Ca fonctionne, il suffisait juste d’activer l’autorisation de rentrer un texte personnalisé !! Je me sens un peu con de pas y avoir pensé  :oh:

    merci beaucoup !

    Enfin si jamais quelqu’un a une réponse pour éviter carrément que ce soit une liste déroulante je suis évidemment preneur  :Smiley08:

    en réponse à : Modification du remplissage automatique d’un formulaire #66122
    RemiB
    Membre

    Bonjour, ça n’est pas exactement la solution que tu recherche, mais si tu appliques la propriété field.editable = true, l’utilisateur peut écrire lui-même une proposition dans le champ.
    Bon courage,Pradow.

    Merci Pradow, je vais tester mais la question c’est est-ce qu’en activant cette option, le script va quand même aller chercher les infos et repmplir les champs correctement ? je vais voir ça !

Affichage de 20 réponses de 1 à 20 (sur un total de 20)