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érez une date (par exemple 28/09/2020) depuis la base de données, vous pourriez vouloir la formater 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 formatage 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 Convertit toutes les lettres en minuscules. LowerCase
UpperCase Convertit toutes les lettres en majuscules. UpperCase
PascalCase Convertit la première lettre d'un texte en majuscule et le reste en minuscules. 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 Formate une valeur selon une règle de formatage. Format("<Day,2> ")
Evaluate Convertit 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 Arrondit 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 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ères 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 formatage pour parvenir au résultat souhaité. Chaque règle de formatage 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.