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ù
Par exemple, pour insérer le champ N° 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.