Donnez vie à vos documents numériques !
 

Date calculée modifiable par une date ultérieure mais pas antérieure

abracadabraPDF Forums PDF – Général Date calculée modifiable par une date ultérieure mais pas antérieure

  • Créateur
    Sujet
  • #70690
    Nath65
    Participant

    Bonjour, je dois faire un formulaire avec 3 champs de date :

    • la date de commande nommée “StartDate”
    • la date limite nommée “DateLimite” qui indique par défaut “StartDate” + 5 jours
    • la date de début de livraison nommée “DataLivraison” qui indique par défaut la même date que “StartDate”

    Il faudrait qu’une fois affichées, ces 2 dates puissent être modifiables avec saisie d’une date ultérieure mais bloquée si antérieure à ce qui est affiché en automatique. Je ne sais pas comment faire, je débute en JavaScript.

    Actuellement j’ai ce code en calcul dans le champs “StartDate” :

    var date = util.scand("dd/mm/yyyy", event.value);
    if(event.value == "") this.getField("DateLimite").value = "";
    else { date.setDate(date.getDate() +5);
    this.getField("DateLimite").value = util.printd("dd/mm/yyyy", date);}
    var date = util.scand("dd/mm/yyyy", event.value);
    if(event.value == "") this.getField("DateLivraison").value = "";
    else { date.setDate(date.getDate() +0);
    this.getField("DateLivraison").value = util.printd("dd/mm/yyyy", date);}

    Comment faire pour que l’on ne puisse pas changer une date par une date antérieure ?

    Avance merci de votre aide.

    PS : J’utilise Acrobat Pro DC 2021 sur Mac

Affichage de 11 réponses de 1 à 11 (sur un total de 11)
  • Auteur
    Réponses
  • #70691
    bebarth
    Maître des clés

    bonsoir,
    Voici ma proposition !
    Les calculs ne sont plus en script du champ “StartDate” mais en script de calcul des autres champs et on utilise :
    if (event.source && event.source.name=="StartDate")

    pour dire que le calcul ne se s’effectue que s’il provient du champ “StartDate”, ce qui permet de changer manuellement la valeur des champs.
    Par contre, ici, si on modifie la date de commande, les 2 autres dates sont réinitialisée. C’est correct ?

    @+
    😎

    Attachments:
    You must be logged in to view attached files.
    #70693
    Nath65
    Participant

    Bonjour et merci de votre réponse mais cela ne répond pas à mon problème.

    ok, si on modifie la date de commande, les autres dates doivent se mettre à jour automatiquement.

    Mais j’ai besoin que toutes les dates soient bloquées si on essaie de saisir une date antérieure à ce qui est mis en automatique. Il faut que l’on puisse modifier une date vers le futur uniquement mais pas en arrière.

    Avez-vous une idée ?

    D’avance merci de votre aide.

     

    #70694
    bebarth
    Maître des clés

    bonjour,
    Que signifie « bloquée » ?
    Ici il est impossible de modifier les champs avec une date antérieure !!! Sauf StartDate…

    @+
    😎

    #70695
    Nath65
    Participant

    Effectivement, dans votre exemple on ne peux pas mettre de date antérieure à la date de commande dans les autres champs, mais la date limite n’est pas bloquée à +5 jours minimum. y a-t-il un moyen de corriger cela ?

    #70696
    bebarth
    Maître des clés

    Désolé de ne pas comprendre !
    Merci de préciser la procédure.

    1. On indique une date dans le champ “StartDate”.
    2. Le champ “DateLimite” indique la date “StartDate” plus 5 jours. Ce champ devient-il bloqué (impossible à changer) ou modifiable uniquement avec une date postérieure à celle du champ “StartDate”?
    3. Le champ “DateLivraison” indique la même date que “StartDate”. Ce champ devient-il bloqué (impossible à changer) ou modifiable uniquement avec une date postérieure à celle du champ “StartDate”?

    D’autres indications ?

    @+
    😎

    #70697
    Nath65
    Participant

    Désolée de ne pas être assez claire…

    Voici la procédure :

    1 – On indique une date dans le champ « StartDate ».
    2 – Le champ « DateLimite » indique la date « StartDate » plus 5 jours. Ce champ doit être modifiable uniquement avec une date postérieure à celle du champ « StartDate »plus 5 jours ?
    3 – Le champ « DateLivraison » indique la même date que « StartDate ». Ce champ doit être modifiable uniquement avec une date postérieure à celle du champ « StartDate »

    J’espère que c’est plus clair…

    #70698
    bebarth
    Maître des clés

    Et ce n’est pas ce que fait le fichier que j’ai posté ?

    Qu’ai-je oublié ?

    @+
    😎

    #70699
    Nath65
    Participant

    Non, dans “dateLimite” on peut mettre la même date que “StartDate” alors qu’on doit conserver d’écart de 5 jours en plus minimum… est-ce faisable ?

    #70700
    bebarth
    Maître des clés

    OK !

    oui c’est faisable, je fait ça plus tard…

    #70701
    bebarth
    Maître des clés

    J’espère que ce coup ci est le bon !

    @+
    😎

    Attachments:
    You must be logged in to view attached files.
    #70703
    Nath65
    Participant

    Super ! Merci beaucoup de votre aide.

    Bonne soirée

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