Médycs : Incidences Courriers : variables @@, champs VAR

notepad--icone-8031-128A chaque modèle de courrier peut être associé un script, c’est à dire une ligne de code qui lui est propre :

  • Sous WORD on appellerait ça une “Macro
  • Sous MédyCS on parle d’INCIDENCE, car cela correspond à une action qui se joue “en même temps” qu’on affiche le courrier.

L’incidence est capable de récupérer les réponses aux QUESTIONS, de les interpréter, de les traiter, puis d’afficher le résultat dans le courrier attaché.


L’incidence manipule des Variables :


  • les variables sont déclarées
    • dans le script d’incidence (module DOCTOR) sous la forme :
@@_VARIABLE := "ceci est un texte"
REMARQUES
  1. Double Arobase suivi d’un souligné => @@_
  2. Nom de la variable donné par l’utilisateur :
    1. exemple => @@_NOTE
    2. pas d’accents, pas d’espaces
  3. ATTENTION : le signe d’affection est celui du Pascal  (deux point égal)
    • :=
  4. Les variables ne sont pas typées (comme en PHP), on parle de “VARIABLE VARIANTE”, on a pas besoin de les déclarer avant de les utiliser, car elles prennent automatiquement le type de la valeur affectée,
    1. Pour un texte je dois mettre des guillemets :
      • @@_NOTE := “ceci est un texte”
    2. Pour un NOMBRE, pas de guillemets :
      • @@_NOMBRE = 1
  5. Les VARIABLES @@ sont dite “GLOBALES” car elles ont exploitables aussi bien dans l’incidence que dans le courrier,
    • Elles ne peuvent par contre servir que pour un seul modèle de courrier (cf Super-Globales)
    • On dit que la “Portée” de l’incidence et de ses variables est limitée au courrier qui lui est attaché.
  6. je peux affecter à ma variable le résultat d’un calcul (c’est d’ailleurs son  intérêt) :
    • @@_NOTE := “Ceci est un texte” & “, ajouté à un autre texte”
    • @@_NOMBRE := 1+1
  7. Et la réponse à une Question du Questionnaire lié au courrier :
    • @@_NOTE := {Q123 : Début du texte} + ” ” + {Q124 : Fin du texte}
    • @@_NOMBRE := ( {Q456 : Nombre de Semaines}  * 7 ) + {Q457 : Nombre de jours}
  • les variables sont exprimées
    • dans le courrier lié sous la forme d’un champ :
£VAR : VARIABLE#
REMARQUES
  1. Balise d’ouverture de champ classique => £
  2. Balise de fermeture classique => #
  3. TYPE DU CHAMP => VAR
  4. Suivi des deux points classiques :
  5. Suivi du nom de la variable déclarée dans l’incidence
Dans l’exemple précédent pour afficher le texte de la NOTE dans le courrier
  • Si la variable est déclarée @@_NOTE
  • Il me suffit d’écrire :
$VAR: NOTE#
  • Si la variable est déclarée @@_NOMBRE
$VAR: NOMBRE#

L’avantage de l’incidence par rapport à la QUESTION CALCULÉE :

  1. Elle ne nécessite pas l’affichage et le clic sur une Question dédiée dans le questionnaire
  2. Le calcul n’est pas enregistré dans la base de donnée, seul son résultat est affiché
  3. La manipulation des variables étant plus clair que celui des QUESTIONS,  cela permet des scripts plus complexes.

Exemple d’incidence pour le modèle “Certificat de grossesse”

  • QUESTION : Modalité => “Choisir une note”
  • INTÉRÊT : Afficher ou non une note en bas d’un certificat de grossesse
  • MODELE = “cer-grossesse.rtf
  • DOCTOR : Incidences-Courriers
SCRIPT
@@_NOTE :=
SI ( {Q1730:Choisir une note} = 1 ;
"";

SI ( {Q1730:Choisir une note} = 2 ;
"Art. L.1225-16 du Code du Travail : " +
NL() + NL()+
"La salariée bénéficie d'une autorisation d'absence pour se rendre aux examens médicaux obligatoires prévus par l'article L.154 du Code de la santé publique dans le cadre de la surveillance médicale de la grossesse et des suites de l'accouchement." + NL() +
"Ces absences n'entraînent aucune diminution de la rémunération et sont assimilées à une période de travail effectif pour la détermination de la durée des congés payés ainsi qu'au regard des droits légaux ou conventionnels que la salariée tient du fait de son ancienneté dans l'entreprise."
;

SI ( {Q1730:Choisir une note} = 3 ;
"Remis en main propre";"")))

 

Les menus se déroulent en cliquant sur le signe +

Laisser un commentaire