Donnez vie à vos documents numériques !
 

Champ calculé – difference

abracadabraPDF Forums PDF – Général Champ calculé – difference

Étiqueté : 

  • Créateur
    Sujet
  • #69955
    oceane
    Participant

    Bonjour

    Acrobat prévoit dans les champs calculés la somme, mais pas la différence.

    Je pense donc qu’il faut introduire un script spécifique, mais le mien ne fonctionne pas.

    Merci d’avance.

     

    Ci-joint: le fichier dans lequel je veux introduire mon calcul et le message d’erreur que j’obtiens.

    • Ce sujet a été modifié le il y a 9 mois par JR Boulay.
    Attachments:
    You must be logged in to view attached files.
Affichage de 18 réponses de 1 à 18 (sur un total de 18)
  • Auteur
    Réponses
  • #69960
    Merlin
    Maître des clés

    Bonjour

     

    A priori le script est bon, ce qui coince ce sont les guillemets à chevron (et les espaces qui vont avec), en JavaScript on n’utilise que les guillemets droits  " (et donc sans espace entre le nom du champ et le guillemet).

    C’est notamment pour éviter ce genre de problèmes qu’en programmation on n’utilise pas de logiciels de traitement de texte (Word, TextEdit, Bloc-Notes…) mais des logiciels « Editeur de texte », comme les logiciels gratuits Notepad++ (Windows) ou BBedit (Mac).

    • Cette réponse a été modifiée le il y a 9 mois par Merlin.
    #69962
    oceane
    Participant

    Bonjour et merci pour la réponse.

    je ne connais pas du tout ces logiciels éditeur de texte.

    j’ai pourtant modifier avec soin le code mais cela ne fonctionne Trs pas.

     

     

     

     

    Attachments:
    You must be logged in to view attached files.
    #69965
    Merlin
    Maître des clés

    Ça ne peut pas fonctionner, ce sont des champs Date.

    On ne peut pas soustraire des dates simplement, il faut préalablement convertir chaque date en millisecondes à partir de la date EPOCH, faire la soustraction, et re-convertir le résultat en date intelligible pour un humain.

     

    On en a déjà parlé sur le forum, tu devrais faire une recherche (date, epoch, …).

    Beaucoup de pièces jointes ont disparu lors du changement de forum alors n’hésites pas à revenir si tu as des questions ou besoin d’exemples.

    #69969
    oceane
    Participant

    Bonjour

    Cela a l’air compliqué, mais je veux bien si possible un exemple…..

    Bon weekend

    #69970
    Merlin
    Maître des clés

    Tu peux copier-coller les champs de l’exemple ci-joint.

    Attention, il y a une fonction en script de document.

     

    Attachments:
    You must be logged in to view attached files.
    #69972
    oceane
    Participant

    Bonsoir Merlin

    Effectivement cela fonctionne très bien, mais c’est curieux je n’arrive pas à lire le script….

     

    Attachments:
    You must be logged in to view attached files.
    #69974
    Merlin
    Maître des clés

    Tu n’as pas assez cherché !

    😉

     

     

    Attachments:
    You must be logged in to view attached files.
    #69976
    oceane
    Participant

    ok

    J’étais persuadé le trouvé le script, dans le champs ou le calcul s’effectue et non dans le champs que tu appelles « date de départ ».

    il faut précisé aussi que la date de la deuxième borne est non inclue.

    Si non du 1/01/2021  au 10/01/2021 cela fait bien 10 jours de congés.

    Merci

     

    Attachments:
    You must be logged in to view attached files.
    #69986
    Merlin
    Maître des clés

    Comme c’est un script de calcul on peut le placer dans n’importe quel champ, mais je reconnais que c’est étrange, comme le nom des champs qui est à l’envers.

    Je ne sais plus pourquoi ce document avait été fait ainsi, ça fait trop longtemps.

    😇

    #70010
    oceane
    Participant

    Bonjour

    par comparaison avec d’autre script, j’ai réussi à modifier clui inclu dans le champ date de fin pour le calcul des jours de congé se fasse avec la date de fin incluse.

    Il me reste Un Pb : quand on clique sur ce champ pour le sélectionner, la date du jour apparait.

    Quel modif. faut t-il faire pour que cette date ne s’inscrive pas, en attendant la saisie de la bonne date .

    Merci d’avance.

     

     

    Attachments:
    You must be logged in to view attached files.
    #70012
    bebarth
    Maître des clés

    bonjour,
    Chez moi, lorsque je clique sur le champ la date du jour n’apparait pas !

    Par contre il faudrait retirer les 2 actions « Souris sortie » et « Champ activé » qui ne servent à rien et provoque même un message d’errer dans la console.

    @+
    😎

    Attachments:
    You must be logged in to view attached files.
    #70014
    Merlin
    Maître des clés

    Oui, supprime ces deux actions.

    C’est l’action Champ Activé qui déclenche le remplissage du champ, si et seulement s’il est vide.

    #70015
    oceane
    Participant

    Ok;

    merci cette fois tout est bon.

    #70080
    oceane
    Participant

    Bonjour

    je ne comprends pas pourquoi, je n’arrive pas à transcrire dans mon formulaire , les champs qui fonctionnaient bien dans les exemples précédents….!

    Bonne journée

    Attachments:
    You must be logged in to view attached files.
    #70082
    Merlin
    Maître des clés

    C’est parce-que tu n’as pas intégré la fonction qui se trouve en script de document dans l’exemple fourni :

     

    Attachments:
    You must be logged in to view attached files.
    #70087
    oceane
    Participant

    c’est curieux, je ne retrouve pas chez moi, la fenêtre dont tu me fais une copie d’écran…

    de mon coté je ne trouve que çà :

     

     

     

    Attachments:
    You must be logged in to view attached files.
    #70090
    Merlin
    Maître des clés

    Oublie tout ce qui a été écrit précédemment et ce vieux script inutilement compliqué.

    Je viens justement de croiser un script beaucoup plus simple sur un autre forum.

    Ci-dessous et dans le document ci-joint en script de calcul du champ qui indique le nombre de jours :

     

    if (this.getField("DateDeb").value != "" && this.getField("DateFin").value != "") {
    var dd = this.getField("DateDeb").value;
    var rd = this.getField("DateFin").value;
    var d1 = util.scand("dd/mm/yyyy", dd);
    var d2 = util.scand("dd/mm/yyyy", rd);
    var diff = (d2.valueOf() - d1.valueOf()) / 1000;
    event.value = (Math.round((diff / 60 / 60) / 24)+1) + " jour(s)";
    }
    else {event.value = "";}

    Attachments:
    You must be logged in to view attached files.
    #70092
    oceane
    Participant

    Super- merci beaucoup

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