Données

Les données issues de l’entrée courant sont injectées dans l’environnement d’évalution des templates Velocity et peuvent être accédées au travers du datafield.

Les différents niveaux d’un dossier sont accessibles: Données de l’entête des dossiers, pages et champs des pages. Il est ainsi possible d’itérer sur les différentes pages d’un dossier afin de faire un document récapitulatif par exemple.

La forme est toujours la même pour la récupération des données : $ADRDOS.DLABEL permet de récupérer le nom d’un assuré présent dans ADR02. La récupération de ses page ENTREE se fait au travers de $ADRDOS.ENTREE et il est ensuite possible d’itérer sur les différentes pages. La récupération d’un champ dans une page unique peut se faire directement sous la forme ADRDOS.IDENTITE.CANTON.

Formatage des données

Dates

Dans le cas où la valeur du datafield correspond à une date, il est possible d’indiquer le format que doit avoir la date.

Le formatage se fait en faisant appel à la fonction format(<format>, <langue>) (par exemple $ADRDOS.ENTREE.FM_PAGE_START_DATE.format("dd/MM/yyyy")).

Le paramètre <langue> est optionnelle et sera remplacée par la langue du context (par exemple la langue de l’utilisateur ou la langue du débiteur) ou par la langue par défaut.

Le paramètre <format> doit correspondre à un format valide selon les spécification de la classe SimpleDateFormat.

Les formats les plus souvent utilisés sont :

  • yyyy : année sur 4 caractères
  • dd/MM/yyyy : date au format jour/mois/année (par exemple 05/10/2021)
  • dd/MM/yy : date au format jour/mois/année mais avec l’année sur 2 caractères (par exemple 05/10/21)
  • dd/MM/yyyy HH:mm : date et heure au format jour/mois/année heures/minutes (par exemple 05/10/2021 15:30)
Valeurs décimales

Dans le cas où la valeur du datafield correspond à une valeur décimale, il est possible de formatter la valeur en utilisant les fonction formatDecimal ou formatDecimalWithRounding.

formatDecimal(<format>, <séparateur décimales>, <séparateur de groupes>)

Le paramètre <format> doit correspondre à un format valide selon les spécification de la classe DecimalFormat.

Le paramètre <séparateur décimales> est optionnel et permet de définir le séparateur entre la partie entière et les décimales. Par défaut, le séparateur est ..

Par exemple, si le datafield $ADRDOS.ENTREE.SALAIRE contient la valeur 1250, l’appel de la fonction $ADRDOS.ENTREE.SALAIRE.formatDecimal("#0.00", ',') donnera comme résultat 1250,00.

Le paramètre <séparateur de groupes> est optionnel et permet de définir le séparateur entre les bloc de 3 entiers. Par défaut, le séparateur est '.

Par exemple, si le datafield $ADRDOS.ENTREE.SALAIRE contient la valeur 1250, l’appel de la fonction $ADRDOS.ENTREE.SALAIRE.formatDecimal("#0.00", ',', '.') donnera comme résultat 1.250,00.

Par défaut, les valeurs sont arrondies à la valeur décimale inférieur (la valeur est donc tronquée).

  • 12.253 sera arrondi à 12.25
  • 12.257 sera arrondi à 12.25
  • 12.255 sera arrondi à 12.55
  • 12.245 sera arrondi à 12.54

Il est possible de changer ce comportement grâce à la fonction formatDecimalWithRounding

formatDecimalWithRounding(<mode d'arrondi>)

<mode d'arrondi> accepte 3 valeurs :

  • "+" : arrondi à la valeur décimale supérieure
  • "-" : arrondi à la valeur décimale inférieure
  • "/" : arrondi à la valeur décimale la plus proche

Par exemple, si le datafield $ADRDOS.ENTREE.SALAIRE contient la valeur 1250.257 alors :

  • $ADRDOS.ENTREE.SALAIRE.formatDecimalWithRounding("+") sera affiché 1250.26
  • $ADRDOS.ENTREE.SALAIRE.formatDecimalWithRounding("-") sera affiché 1250.25
  • $ADRDOS.ENTREE.SALAIRE.formatDecimalWithRounding("/") sera affiché 1250.26

formatDecimal(<format>, <mode d'arrondi>) permet de définir à la fois le format et l’arrondi.