-
XAEROTRAININGDemandé le 23 août 2023 à 06:26
Bonjour,
Je cherche à faire des calculs d'heures sur mon formulaire mais ne parvient pas au résultat attendu :
Nos clients rentrent leurs heures de vol sur la case START - END, je souhaiterai afficher le total dans la case TOTAL FLIGHT TIME (AUTOMATIC) puis ensuite afficher dans la case TOTAL DAY TIME (AUTOMATIC) la soustraction de TOTAL FLIGHT TIME (AUTOMATIC) - NIGHT.
Dans un second temps je rajouterai une règle pour interdire NIGHT inférieur à TOTAL FLIGHT TIME (AUTOMATIC).
Voici une capture d'écran :
Merci beaucoup !
Cordialement,
Kim.
-
Frédéric Jotform SupportRépondu le 23 août 2023 à 11:10
Bonjour Kim,
Merci de vous adresser à l'assistance de Jotform. Afin d'effectuer le calcul de la durée donnée par l'élément Heure avec plage horaire, il me semble que le calcul ne peut se faire avec la condition que vous avez définie, mais plutôt avec le widget Calculatrice de formulaire qui opère le calcul suivant, à la place du champ numérique que vous aviez réservé pour Total Fligth Time.
Ainsi je propose de remplacer ce champs par le widget Calculatrice de formulaire que vous pouvez renommer de même, et avec le calcul suivant tel que décrit ici.
On prend la partie entière du champ Start-End pour afficher la durée en heures, et pour les minutes on prend la partie décimale - donc la valeur moins sa partie entière - multipliée par 60:
Ce qui donne, pour le calcul de la durée:
Pour les calculs suivants, je ne comprend pas ce que doivent signifier Total Day Time et/ou Nigth, pouvez-vous m'indiquer quelles sont les valeurs qui sont données, ou d'où elles proviennent, et lesquelles doivent être calculées?
Dès que vous me l'aurez indiqué, je serai en mesure de vous aider.
-
XAEROTRAININGRépondu le 23 août 2023 à 11:22
Bonjour Frédéric et merci beaucoup pour votre aide.
Le Total Day Time doit se calculer automatiquement. La partie Night est saisie manuellement.
Total Day Time = Total Flight Time - Night (avec une condition pour empêcher d'avoir Night supérieur à Total Day Time).
Merci encore.
Cordialement,
Kim.
-
Frédéric Jotform SupportRépondu le 23 août 2023 à 13:58
Cher Kim,
Merci de votre patience. Le calcul suivant du Total Day Time est un peu plus compliqué car les valeurs sont exprimées tantôt en base décimale, tantôt en base horaire, et les fonctionnalités de calcul ne sont pas trés développées. J'ai donc effectués des calculs de valeurs intermédiaires en recourant à 4 autres widgets Calculatrice de formulaire pour les calculs suivants, dont 3 calculs intermédiaires nommés en minuscules:
- Le premier, nommé total flight time in MN convertit TOTAL FLIGHT TIME en minutes, il effectue le calcul suivant: ( floor (TOTAL FLIGHT TIME / 100) * 60) + ( ( ( TOTAL FLIGHT TIME / 100) - floor (TOTAL FLIGHT TIME / 100) ) * 100) - attention la copie écran ci-dessous manuqe la dernière ligne du calcul.
- Le second, nommé hight in MN convertit aussi le champ NIGTH en minutes: (floor ( NIGHT) * 60) + ( (NIGHT - floor(NIGHT) ) * 60 ):
- Le troisième, nommé total day time HEURES calcule le nombre entier d'heures, ou autrment dit le nombre entier d'heures de la différence des durées TOTAL flight time in MN et night in MN calculées précédemment en minutes, soit: floor( ( total flight time in MN - nigth in MN) / 60 ):
- Le quatrième et ultime calcul converti au bon format HH:MN la différence : (total fligth time in MN - night in MN - (total day time HEURES * 60 )):
Le résultat obtenu est le suivant:
Prenez bien garde aux parenthèses dont la position ou l'omission peut fausser tous les calculs. Vous devrez évidemment cacher les calculs intermédiaires.
Un exemple qui, pour me permettre de tester plus vite, ne reprend que la seconde page de votre formulaire est à votre disposition pour bien visualiser les calculs ici.
Essayez et dites-nous si ctte solution vous satisfait.
-
XAEROTRAININGRépondu le 24 août 2023 à 05:24
Bonjour,
Je ne parvient pas au même résultat je ne trouve pas quel est ce caractère sur la ligne de code capture n°4 :
Sinon ça à l'air tout bon !
Merci.
-
Frédéric Jotform SupportRépondu le 24 août 2023 à 07:55
Bonjour Kim,
Merci de revenir vers nous. Ce caractère que vous avez entouté est seulement celui de la touche espace du clavier. Il est facultif. Le deu point est aussi tapé au clavier. A noter que les caractères qui apparaissent sur un fond marron forment une chaîne de caractères qui n'est pas prise en compte dans les calculs numériques, ils servent là seulement à la mise en forme du résultats des calculs numériques opérés sur les heures/minutes dans le format HH: MN. Vous gagnerez donc à le supprimez pour rendre le format plus conforme HH:MN, sans l'espace:
Ce qui donne pour résultat, après correction faite sur l'exemple donné en lien précédemmenent:
Est-ce bien la réponse que vous attendiez?
Revenez vers nous si vous avez encore besoin d'aide
-
XAEROTRAININGRépondu le 24 août 2023 à 08:12
Re-bonjour,
Je n'ai pas du tout les mêmes résultats sur l'exemple. de mon côté :
-
Frédéric Jotform SupportRépondu le 24 août 2023 à 10:51
Cher Kim,
En effet, je n'ai pas fait le test avec des heures piles où un zéro disparait malencontreusement des minutes, et 1:00 devient 1:0 ce qui change tout. J'ai besoin d'un peu de temps pour corriger, je reviens vers vous aussi vite que possible.
-
Frédéric Jotform SupportRépondu le 24 août 2023 à 12:06
Cher Kin,
Merci de votre patience. J'ai corrigé et les calculs intermédiaires s'en voient heureusement simpliés. Il s'agit:
- Dans le widget Calculatrice de formulaire nommé total fligth yme in MN, de remplacer par le calcul suivant: minutes(START-END) / 1000, comme suit.
- De même pour le widget nommé nigth in MN.
Et voilà. C'est plus simple et plus robuste, le résultat donne:
J'ai effectué la correction sur le même exemple ici.
Faites l'essai et dites nous si vous avez encore besoin d'aide.
-
XAEROTRAININGRépondu le 25 août 2023 à 03:40
Bonjour,
Merci beaucoup c'est parfait !
Bonne journée.
Cordialement,
Kim.