Syntaxe

Les textes dynamiques dépendent d'une syntaxe particulière. Ce document explique les différentes manières de l'utiliser.

Contexte

Les textes étendus dynamiques se basent sur la fonctionnalité standard des textes étendus. Une syntaxe particulière est introduite pour permettre d'insérer des champs dynamiquement. Cette syntaxe se base exclusivement sur la dénomination des tables et des champs en anglais dans Business Central ou par leur numéro.

Lorsque vous créez un texte étendu dynamique, vous êtes toujours dans un contexte particulier. Ce contexte c'est l'entité pour laquelle vous créez le texte étendu (un article, une ressource, un compte général).

Faire référence à un champ

La syntaxe est la suivante :

{<Nom champ>} ou {"<Nom champ>"} où est le nom en anglais du champ que vous souhaitez insérer. Vous devez mettre des guillemets dès que le nom champ contient des espaces, un point ou des accolades.

Par exemple, pour insérer le champ dans le contexte de la table article :

{"No."}

Faire référence à un champ dans une autre table

Vous pouvez faire référence à un champ d'une autre table. La syntaxe est la suivante :

  • {<Nom table>.<Nom champ> [<Nom champ destination> = field(<Nom champ source>)]}
  • {<Nom table>.<Nom champ> [<Nom champ destination> = const(<Valeur>)]}
  • {<Nom table>.<Nom champ> [<Nom champ destination> = filter(<Filtre>)]}

Si vous avez plusieurs filtres pour faire la relation avec la table externe, alors séparez les filtres par une virgule (,).

Par exemple, dans le contexte de la table article, vous pouvez récupérer la Description associée à la Nomenclature produit ainsi :

{"Tariff Number".Description ["No." = field("Tariff No.")]}

Personnaliser le format

Si vous récupérer une date (par exemple 28/09/2020) depuis la base de données, vous pourriez vouloir la formatter d'une manière particulière. Par exemple en ne récupérant que l'année (2020).

Vous pouvez faire cela en ajoutant une règle de formattage après le nom du champ.

Par exemple, pour obtenir l'année depuis une date, vous pouvez procéder ainsi :

{"Posting Date" | Format("<Year4>")}

Fonctions de formatage

Nom de la fonction Description Exemple
CalcDate Calcule une nouvelle date basée sur une formule de date. CalcDate(<1Y>)
Abs Calcule la valeur absolue d'un nombre. Abs
Date2DMY Obtient le jour, mois, année à partir d'une date. Date2DMY(3)
DT2Date Obtient la partie date d'un champ Date/heure. DT2Date
DT2Time Obtient la partie heure d'un champ Date/heure. DT2Time
CopyStr Obtient un sous-texte à partir d'un texte. CopyStr(5, 20)
LowerCase Convertie toutes les lettres en minuscule. LowerCase
UpperCase Convertie toutes les lettres en majuscule. UpperCase
PascalCase Convertie la première lettre d'un texte en majuscule et le reste en minuscule. PascalCase
Trim Supprime tous les espaces au début et à la fin d'un texte. Trim
Lookup Récupère la valeur d'un champ dans une table en filtrant sur une colonne de cette table. Lookup("Tariff No.", Code, Description)
Format Formatte une valeur selon une règle de formattage. Format("<Day,2> ")
Evaluate Convertie un texte en un autre type de données. Les types de données supportés sont integer, decimal, date et time. Evaluate("decimal")
Round Arrondie un nombre. Round(0.01, ">")
ToHtml Transforme un texte brut en HTML. Cette fonction remplace les chevrons par leur code HTML et les sauts de ligne par la balise <br /> ToHtml
IIf Transforme une valeur booléenne en un texte. Le premier argument est le texte renvoyé si la valeur est vraie, le second argument est renvoyé si la valeur est fausse. IIf('Prix TTC', 'Prix HT')
Base64ToText Transforme une chaîne de caractères en Base64 vers une chaîne de caractère dans l'encodage spécifié. Si l'encodage n'est pas spécifié, l'encodage UTF-8 est utilisé par défaut. Les encodages supportés sont UTF8, UTF16, Windows et MSDos. Base64ToText("utf8")

Formatter en cascade

Vous pouvez combiner plusieurs règles de formattage pour parvenir au résultat souhaité. Chaque règle de formattage doit être séparée par une barre verticale (|).

Par exemple, pour obtenir la date qui se situe une semaine après la date de comptabilisation formattée de manière lisible, vous pouvez procéder ainsi :

{"Posting Date" | CalcDate("<1W>") | Format("<Day> <Month Text> <Year4>")}

Si la date de comptabilisation est le 28/09/2020, le résultat obtenu est 5 octobre 2020.