Zugriff auf Datenfelder in Berechnungsausdrücken
Über geschweifte Klammern {} können Werte aus Datenfeldern des Eingabeobjekts ($input) gelesen werden. Das Datenfeld kann auch als Pfad angegeben werden. Einzelne Datenfelder im Pfad werden mit "." voneinander getrennt (z.B. {datenfeldErstesLevel.datenfeldZweitesLevel.datenfeldDrittesLevel} ).
Tipp: Auf Listenelemente kann dabei der Index (beginnend bei 0) als Datenfeldname angegeben werden. z.B. datenfeldDerListe.3 → Liest den vierten Eintrag der Liste.
Die Eingabedaten einer Berechnung sind über die Konstante $input zugreifbar und hängen vom jeweiligen Anwendungsfall ab.
Handelt es sich beispielsweise um einen Beschriftungsausdruck für eine Datengridzelle, so sind die Eingabedaten das Objekt der ganzen Zeile.
Im Falle eines Berechnen Verhaltens im Formulardesigner handelt es sich um die Daten des Auslösers. In der Regel ist dies jedoch den jeweiligen Handbucheinträgen zu entnehmen.
Alternativ kann mit der Funktion $get ebenfalls auf Datenfelder eines beliebigen Objekts zugegriffen werden. Dabei wäre der Ausdruck {id} gleichbedeutend mit dem Ausdruck $get($input,id).
Beispiel für den Zugriff auf Datenfelder des Eingabeobjekts:
Gegeben sei folgendes Eingabeobjekt:
{
"type"
:
"Fahrer"
,
"person"
: {
"firstName"
:
"Jonas"
,
"lastName"
:
"Abend"
},
"vehicle"
: {
"types"
: [
"LKW"
,
"CAR"
]
}
}
Im Berechnungsausdruck soll nun eine Textdarstellung des Objektes hergeleitet werden:
{type}: {person.firstName} {person.lastName} (Fahrzeugtyp: {vehicle.types.0})
Das Ergebnis des ausgewerteten Ausdrucks mit den oben gezeigten Daten als Eingabeobjekt ist:
"Fahrer: Jonas Abend (Fahrzeugtyp: LKW)"
Hinweis: Im zuletzt gezeigten Beispiel ist gleichzeitig gut zu erkennen, dass Wörter die nicht zum Ausdruckssyntax gehören, nicht ausgewertet, sondern direkt in das Ergebnis als Text übernommen werden.