L'objectif des expressions utilisées dans les modèles de message est de pouvoir adapter l'objet ou le corps du message au contexte. Ainsi, dans l'objet même du courriel reçu, le destinataire aura directement des informations sur l'événement.
Il pourra même ouvrir directement l'objet référencé dans CARL Source, grâce aux liens hypertextes.
Attributs de l'entité en paramètre du modèle de message
Ces attributs sont relatifs à l'entité référencée sur le modèle de message.
L'entité n'est pas forcément renseignée pour un message d'indicateur, elle ne l'est jamais pour un message de traitement automatique.
Attributs simples de l'entité
Pour pouvoir afficher la valeur des attributs d'une entité, renseignez le champ "Entité" du modèle de message.
Ensuite, ajoutez à l'objet ou au corps les attributs de l'entité entre accolades.
Les entités et leurs attributs sont consultables dans le dictionnaire.
Exemple :
Attributs complexes de l'entité
Vous pouvez également afficher la valeur d'attributs d'objets associés à l'entité, de manière indirecte, en écrivant entre accolades les noms des objets hiérarchiques suivis de l'attribut du dernier objet, séparés par des points.
Vous pouvez ainsi descendre en cascade les objets liés.
Exemple 2 :
Ces expressions sont comparables à celles utilisées dans la définition des indicateurs.
Détail d'un changement d'état
Vous pouvez afficher toutes les informations du changement d'état, qui sont disponibles dans l' historique des états. Il est nécessaire pour cela de connaître le code de l'état (voir Workflow d'états).
Exemple :
Élément d'une collection liée
Vous pouvez également afficher le détail d'une collection, si vous connaissez la position de l'élément à afficher, en la mettant entre [].
Exemple :
Élément d'une liste de valeurs
Afin de pouvoir récupérer la description d’une valueList dans un modèle de message, il faut ajouter l’expression suivante : {valueListDesc(<attribut> )}. L’attribut peut aussi provenir d’une autre entité.
Exemples :
Gestion multi-fuseaux horaires
Dans un contexte international, vous pouvez préciser le fuseau horaire dans lequel vous souhaitez afficher un champ de type Date ou Date-heure dans un modèle de message.
Il est désormais possible d'utiliser une conversion de contexte temporel dans les expressions dynamiques via l'opérateur @<contexte temporel> . Celui-ci permet de convertir une valeur temporelle dans un contexte temporel donné. Autrement dit, il permet par exemple d'exprimer une date-heure dans un fuseau horaire différent.
Le format est :
Quelques exemples utilisables dans des messages sur Occupation
Quelques exemples utilisables dans des messages sur Travaux
Toutes les valeurs temporelles de CARL Source ont leur propre contexte temporel. Par conséquent, si rien n'est précisé dans le template du message, les valeurs temporelles sont affichées dans leur contexte propre.
Pour afficher l'identifiant de la TimeZone (ex : Europe/Paris) avec la valeur temporelle, il faut utiliser un pattern avec le symbole VV. Exemple : dd/MM/yyyy HH:mm:ss VV
L’utilisation de cette conversion fonctionne également lorsque des opérations sont faites sur les données temporelles : addition, soustraction, etc.
Exemples :
Lorsque l'on précise un pattern dans les formatages des dates-heures, on peut utiliser les symboles suivants (extrait de la documentation d'ICU http://userguide.icu-project.org/formatparse/datetime)
|
Table des symboles pour le formatage des dates-heures |
|||
|
Symbole |
Signification |
Exemple(s) |
|
|
G |
era designator |
G, GG, or GGG |
AD |
|
y |
year |
yy |
96 |
|
Y |
year of "Week of Year" |
Y |
1997 |
|
u |
extended year |
u |
4601 |
|
U |
cyclic year name, as in Chinese lunar calendar |
U |
甲子 |
|
r |
related Gregorian year |
r |
1996 |
|
Q |
quarter |
Q |
2 |
|
q |
Stand Alone quarter |
q |
2 |
|
M |
month in year |
M |
9 |
|
L |
Stand Alone month in year |
L |
9 |
|
w |
week of year |
w |
27 |
|
W\ |
week of month |
W |
2 |
|
d |
day in month |
d |
2 |
|
D |
day of year |
D |
189 |
|
F |
day of week in month |
F |
2 (2nd Wed in July) |
|
g |
modified julian day |
g |
2451334 |
|
E |
day of week |
E, EE, or EEE |
Tue |
|
e |
local day of week |
e or ee |
2 |
|
c |
Stand Alone local day of week |
c or cc |
2 |
|
a |
am/pm marker |
a |
pm |
|
h |
hour in am/pm (1~12) |
h |
7 |
|
H |
hour in day (0~23) |
H |
0 |
|
k |
hour in day (1~24) |
k |
24 |
|
K |
hour in am/pm (0~11) |
K |
0 |
|
m |
minute in hour |
m |
4 |
|
s |
second in minute |
s |
5 |
|
S |
fractional second - truncates (like other time fields) |
S |
2 |
|
A |
milliseconds in day |
A |
61201235 |
|
z |
Time Zone: specific non-location |
z, zz, or zzz |
PDT |
|
Z |
Time Zone: ISO8601 basic hms? / RFC 822 |
Z, ZZ, or ZZZ |
-0800 |
|
O |
Time Zone: short localized GMT |
O |
GMT-8 |
|
v |
Time Zone: generic non-location |
v |
PT |
|
V |
Time Zone: short time zone ID |
V |
uslax |
|
X |
Time Zone: ISO8601 basic hm?, with Z for 0 |
X |
-08, +0530, Z |
|
x |
Time Zone: ISO8601 basic hm?, without Z for 0 |
x |
-08, +0530 |
|
' |
escape for text |
' |
(nothing) |
|
' ' |
two single quotes produce one |
' ' |
' |
Vous pouvez inclure dans le corps du message un lien hypertexte vers la fiche de détail de l'élément.
Il suffit pour cela de mettre le texte entre les parenthèses de l'expression : {detailLink()}.
Vous pouvez également préciser l'identifiant du formulaire souhaité, au cas où il y ait plusieurs formulaires (détail et compte-rendu intervention, DT et DT à prendre en compte).
Cette expression est également à employer s'il existe un formulaire personnalisé à appliquer.
Dans ce cas, écrivez : {detailLink(<attribut> ,<Identifiant formulaire> , <Libellé du lien> )}.
Exemple 1 :
Exemple 2 :
Lien vers un élément connexe
Vous pouvez aussi inclure dans le corps du message un lien hypertexte vers le détail d'un attribut de l'élément.
Par exemple : le Matériel de la DT, le fournisseur de la commande, etc.
Il suffit pour cela d'indiquer l'attribut dans la parenthèse, suivi du libellé du lien hypertexte : {detailLink(<attribut> ,{valeur libellé})}.
Exemple :
Expressions spécifiques au modèle de message pour un indicateur
Si le modèle de message est utilisé sur un indicateur, vous disposez de mots clés particuliers.
Modèle de message pour un traitement automatique
Si le modèle de message est utilisé sur un traitement automatique, vous pouvez faire apparaître les attributs du traitement automatique, comme si cela était l'entité référencée.
Exemple :