Donnez vie à vos documents numériques !
 

N’autoriser un calcul que sous condition que… RÉSOLU

abracadabraPDF Forums PDF – Général N’autoriser un calcul que sous condition que… RÉSOLU

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #43746
    patlux
    Membre

    Bonjour tout le monde,

    Petit problème (javascript ? …comme toujours)

    J’ai créé un formulaire de gestion des heures supplémentaires dans acrobat pro 8.0.

    A la base, nom, prénom du salarié et une case « A » qui renseigne la durée hebdomadaire de la personne.

    Ensuite 52 zones (une pour chaque semaine), chaque zone est constituée de 4 cases: (B1-B52 ; C1-C52, D1-D52 ; E1-E52)

    « B » = encodage du total des heures prestées durant la semaine en question
    « C » = heures supplémentaires, c.à d. résultat du calcul « B » – « A »
    « D » = heures à récupérer, c.à d. résultat du calcul « C » * 1,5
    « E » = encodage du total des heures récupérées durant la semaine en question

    Ensuite, j’ai 2 cases invisibles à l’écran, « F » qui fait la somme de toutes les cases « D », et l’autre « G », la somme de toutes les cases « E »

    Au bas du formulaire, une case « solde », qui renseigne l’état actuel, le solde des heures à récupérer, c.à d. résultat du calcul « F » – « G ».

    Ce formulaire est mis à jour chaque semaine.

    Ce qu’il me faudrait, c’est un javascript qui interdise le calcul dans les cases « C » et « D » tant que rien n’a encore été encodé dans la case « B » (sinon je me retrouve avec des valeurs négatives qui faussent tout)

    Quelqu’un peut-il venir à mon secours !?

Affichage de 12 réponses de 1 à 12 (sur un total de 12)
  • Auteur
    Réponses
  • #50348
    Merlin
    Maître des clés

    Quelqu’un peut-il venir à mon secours !?

    Oui, plus de détails ce soir, là tout de suite je n’ai pas le temps.
    ;)

    #50349
    patlux
    Membre

    Merci Merlin, merci abracadabra, je vous adore…!!!

    #50350
    Merlin
    Maître des clés

    A placer dans le champ caseC (ou n’importe quel autre) en « script de calcul personnalisé » :

    Code:
    //on teste si la caseB contient une valeur
    if (this.getField(« caseB »).value !== «  »)
    {
    //si oui le calcul B moins A est effectué
    event.target.value = this.getField(« caseB »).value – this.getField(« caseA »).value;
    }

    :soleil:

    #50351
    patlux
    Membre

    Super, je viens de tester, ….ça fonctionne!!!

    Quel bonheur de démarrer ainsi la semaine, ….merci  😎

    #50352
    Merlin
    Maître des clés

    :contentdance:

    #50353
    menmaatre
    Membre

    Bonjour,
    Toujours débutant sous PDF & Javascript :Ooops:, comment puis-je adapter ce bout de code pour calculer un ensemble de champs Date + Heure ?.

    Je m’explique: sur mon formulaire j’ai une zone « Début de panne » & une zone « Fin de panne » (chacune contenant un champ « date » & un champ « heure »).

    Je voudrais juste signaler au rédacteur (s’il s’est trompé) que la date de fin doit être inférieure à la date de début…

    Merci d’avance

    #50354
    Merlin
    Maître des clés

    Je voudrais juste signaler au rédacteur (s’il s’est trompé) que la date de fin doit être inférieure à la date de début…

    J’imagine que tu voudrais lui signaler que la date doit être « postérieure » plutôt, non ?

    Les calculs entre dates sont un peu plus complexes que de bêtes opérations mathématiques, attendons qu’Alex passe par ici…
    ;)

    #50355
    menmaatre
    Membre

    J’imagine que tu voudrais lui signaler que la date doit être « postérieure » plutôt, non ?

    Les calculs entre dates sont un peu plus complexes que de bêtes opérations mathématiques, attendons qu’Alex passe par ici…
    ;)

    ::) Oui, c’est ça :Ooops:
    En clair (enfin j’espère) la panne doit avoir eu lieu avant la réparation !!! ;)

    #50356
    alex
    Membre

    Ci-joint un exemple qui montre comment récupérer les données saisies dans les champs de date (au format Date ou non), de créer deux objets date, puis de comparer leur valeurs.
    Je vous donne une version plus raffinée dès que possible.

    [attachment deleted by admin]

    #50357
    alex
    Membre

    Ci-joint quelque chose de plus raffiné et quelques explications. Une bonne base pour manipuler les objets Date en temps Local et les comparer.
    Le bouton Test lance un script de document baptisé TestSaisies().
    Le bouton Reset contient un script affichant la date du jour.
    Voilà

    [attachment deleted by admin]

    #50358
    Merlin
    Maître des clés

    :bravo:

    #50359
    menmaatre
    Membre

    Un très grand merci, je teste ça aujourd’hui  :PouceHaut:

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