Formules de calcul
Date d'expiration
Variables autorisées pour le calcul de la date d'expiration
Fonctions autorisées pour le calcul de la date d'expiration
Exemples de formules de calcul de la date d'expiration
Date fixe
2012-12-31
Formule calculant la fin de l'année courante
formatDate( 'yyyy-12-31', %NOW_DATE )
Formule calculant la fin de l'année courante ou la fin de l'année suivante si la date courante est strictement supérieure au 30 septembre
formatDate( 'yyyy-12-31', (formatDate('MM', %NOW_DATE)<10) ? %NOW_DATE : changeTime(%NOW_DATE, '+1', 0, 0) )
Expérience récente
Variables autorisées pour le calcul de l'expérience récente
Fonctions autorisées pour le calcul de l'expérience récente
Exemples de formules de calcul de l'expérience récente
Temps d'activité
Pour calculer le temps d'une activité (exemple : vol), les règles diffèrent selon les structures.
OpenFlyers permet d'attribuer des formules de calcul de temps d'activité par type de ressource. Cf. la gestion des types de ressource sur version 3 et version 4.
Définition Unité sexacentimal
En base de données, les temps et les compteurs sont stockés selon le plus petit multiple commun au système décimal (centième) et au système sexagésimale (hh min). Nous avons appelé cela le format sexacentimal.
Cela permet de stocker les valeurs de temps sous la forme d'un entier. Cela supprime donc tout problème d'arrondi qui pourrait être problématique pour les additions.
- 1 heure = 600 sexacentièmes
- 1 minute = 10 sexacentièmes
- 5 minutes = 50 sexacentièmes
- 1 centième de minute = 6 sexacentièmes
- 10 centième de minute (=1 dixième de minute) = 60 sexacentièmes
Exemples de formules :
- pour arrondir à 5 minutes : roundCeil(X,50)
- pour arrondir à 10 centièmes : roundCeil(X,60)
Variables autorisées pour le calcul du temps d'activité
%COUNTER_ARRIVAL
Compteur arrivé saisi dans le formulaire
%COUNTER_DEPARTURE
Compteur départ saisi dans le formulaire
%TIME_ARRIVAL
Heure de fin saisie dans le formulaire
%TIME_DEPARTURE
Heure de début saisie dans le formulaire
%DURATION
Durée du vol
Fonctions autorisées pour le calcul du temps d'activité
abs
abs(valeur)
Retourne la valeur absolue
roundCeil
roundCeil(X,Y)
Arrondi la valeur X au nombre supérieur multiple de l'unité Y le plus proche
Exemple :
roundCeil(114,100) donne 200
roundCeil(114,10) donne 120
max
max(X,Y)
Retourne le maximum entre X et Y
Exemples de formules de calcul du temps d'activité
Durée saisie
%DURATION
Différence des compteurs saisis
%COUNTER_ARRIVAL - %COUNTER_DEPARTURE
Durée saisie arrondie à 5 minutes
roundCeil(%DURATION, 50)
Différence des compteurs plus 5 centièmes
%COUNTER_ARRIVAL - %COUNTER_DEPARTURE + 30
Différence des compteurs plus 5 minutes
%COUNTER_ARRIVAL - %COUNTER_DEPARTURE + 50
Différence des compteurs arrondie au 5 minutes les plus proches plus 5 minutes
roundCeil(%COUNTER_ARRIVAL - %COUNTER_DEPARTURE - 25, 50) + 50
Différence des compteurs arrondie à 10 centièmes
roundCeil(%COUNTER_ARRIVAL - %COUNTER_DEPARTURE, 60)
Le plus grand entre la durée du vol et la différence des compteurs
max(%DURATION, %COUNTER_ARRIVAL - %COUNTER_DEPARTURE)
Le plus grand entre la durée du vol et la différence des compteurs arrondie à 5 minutes
max(%DURATION,roundCeil(%COUNTER_ARRIVAL - %COUNTER_DEPARTURE, 50))
Cette formule calcule :
- la différence des compteurs et l'arrondi à 5 minutes
- la valeur de la durée de vol saisie par le pilote
Puis elle prend le plus grand des deux
Le plus grand entre la durée saisie, arrondie à 5 minutes, et la différence des compteurs, arrondie à 5 minutes
max(roundCeil(%DURATION,50),roundCeil(%COUNTER_ARRIVAL - %COUNTER_DEPARTURE, 50))
Cette formule calcule :
- la différence des compteurs et l'arrondi à 5 minutes
- la valeur de la durée de vol saisie par le pilote et l'arrondi à 5 minutes
Puis elle prend le plus grand des deux