Macros

Afin de permettre de réutiliser des codes et conditions plus complexes, le moteur SAINet permet de définir des macros Velocity un UNI93.

Ces macros sont des prédéfinitions de variables ou de procédures qui sont disponibles lors de l’évaluation du template.

Macros prédéfinies

Nom Paramètres Description
#iso2name key (string) Retourne le nom complet du pays correspondant à key (CH => SWITZERLAND). Les valeurs suivantes sont supportées: CH,FR,IT,DE,AT,LI.
Cette macro est notamment utilisée dans le certificat de salaire (SAL47).
Définie directement dans VelocityHelpers.
#parse path (string) Permet d’inclure un template pointé par path. Ce paramètre peut commencer par UNI94/ ou UNI18/ pour indiquer dans quelle tâche se trouve le template. L’identifiant spécifié ensuite est utilisé pour le lookup dans la tâche correspondante.
Voir également la documentation de velocity.
Le lookup est défini dans DatabaseRepository.
#include path (string) Idem que #parse sauf que velocity incluera le fichier sans l’interpréter.
Voir également la documentation de velocity.

Directives #parse et #include

Il est possible de faire des fallbacks sur différents éléments de la configuration via le paramètre path. Typiquement, en faisant appel à #parse("UNI94/sto3e/invoice_content.html"), le système va effectuer, dans l’ordre, les recherches suivantes et s’arrête dès que l’une d’elle est trouvée:

  • Recherche dans UNI94 du template INVOICE_CONTENT.HTML.
  • Recherche dans la configuration du fichier Server/templates/sto3e/invoice_content.html.
  • Recherche dans la configuration du fichier Server/templates/<task>/invoice_content.html ou <task> dénote la tâche courante.

En utilisant simplement #parse("content.html"), le système va essayer de charger le fichier qui se trouve à l’emplacement Server/templates/<task>/content.html (ou <task> dénote la tâche courante. Il n’y a donc pas de fallback dans ce cas.

Il est possible d’enchaîner les différents fallbacks avec par exemple #parse("UNI94/UNI18/sto3e/content.html"):

  • Recherche dans UNI94 du template CONTENT.HTML.
  • Recherche dans UNI18 du template CONTENT.HTML.
  • Recherche dans la configuration du fichier Server/templates/sto3e/content.html.
  • Recherche dans la configuration du fichier Server/templates/<task>/content.html.

Les fichiers de développement correspondants au contenu du chemin Server/templates se trouvent dans <sainet>/modules/global/server.