Principe :
Écrire sous la forme
2 ans 6 mois
Le délai qui sépare 2 dates.
D’ou je pars ?
- Doctor
- Questionnaire
- Question
- Texte
- Valeur (par défaut)
- Texte
- Question
- Questionnaire
Code d’incidence :
- L’incidence “Médycs” est le grand carré blanc dans lequel je vais taper mon code :
- Variables :
- Une variable est un bout de code qui prend une valeur
- Cette valeur peut varier à tout moment
- Dans une incidence MédyCS chaque variable est déclarée par le préfixe :
- Une variable est un bout de code qui prend une valeur
@@_
@@_ANS = Nombre d’années
@@_MOIS = nombre de mois
- Pour utiliser une variable dans une incidence, on conseille d’utiliser le menu [(X!)]
SCRIPT COMPLET:
@@_DATE_DERNIERE := {C1841:MAMMO Date Dernière} /* NE PAS MODIFIER SOUS CETTE LIGNE */ @@_ANS := DATEDIFF("yyyy";{V:_DATE_DERNIERE};AUJOURDHUI()) /* Conversion des années entières en nombre de mois */ @@_ANS_MOIS := {V:_ANS} * 12 /* Calcul du nombre total de mois */ @@_MOIS := DATEDIFF("m";{V:_DATE_DERNIERE};AUJOURDHUI()) /* Déduction des mois restants en dehors des années entières */ @@_MOIS := {V:_MOIS} - {V:_ANS_MOIS} /* orthographe des pluriels */ @@_Affiche_ANS := SI({V:_ANS}=0;"";SI({V:_ANS}=1;{V:_ANS} & " an ";{V:_ANS} & " ans ")) @@_Affiche_MOIS := SI({V:_MOIS}=0;"";{V:_MOIS} & " mois") /* résultat retourné */ @@_DELAI :={V:_Affiche_ANS} & {V:_Affiche_MOIS}
Explications :
@@_DATE_DERNIERE := {C1841:MAMMO Date Dernière} | On place ici la date de référence (ici la date de la dernière mammographie). Cela permet de porter le script sur toutes les installations. |
/* NE PAS MODIFIER SOUS CETTE LIGNE */ | Abuser des commentaires pour la compréhension du script |
@@_ANS := DATEDIFF(“yyyy”;{V:_DATE_DERNIERE};AUJOURDHUI()) | Je calcule le nombre d’années entières entre les 2 dates :
|
@@_ANS_MOIS := {V:_ANS} * 12 | Je calcule combien il y a de mois dans le nombre d’années entières |
@@_MOIS := DATEDIFF(“m”;{V:_DATE_DERNIERE};AUJOURDHUI()) | Je calcule combien il y a des mois en tout entre les 2 dates
|
@@_MOIS := {V:_MOIS} – {V:_ANS_MOIS} | Je déduis de ce calcul le nombre de mois qu’il y a déjà dans le compte des années (il me reste le nombre de mois dans l’année en cours) |
@@_Affiche_ANS := SI({V:_ANS}=0;””;SI({V:_ANS}=1;{V:_ANS} & ” an “;{V:_ANS} & ” ans “)) | Cette routine :
|
@@_Affiche_MOIS := SI({V:_MOIS}=0;””;{V:_MOIS} & ” mois”) | Même chose pour les mois, sachant que Mois est toujours au pluriel. |
@@_DELAI :={V:_Affiche_ANS} & {V:_Affiche_MOIS} | Affiche le résultat sous la forme :
|
Portabilité :
- Pour reporter ce script dans une incidence perso, il suffit de poser après @@_DATE_DERNIERE la réponse à la question à tester
@@_DATE_DERNIERE := {?}