Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Identifiers

Any text not contained in quotes and adhering to the following rules is an identifier that refers to data in the context in which the expression is evaluated.

An identifier:

  • Includes one or more letters (a-z or A-Z), digits (0-9) or underscores

  • Starts with at least one letter

For the programmers, the following snippets are from the official grammar:

Code Block
ID : LETTER (LETTER|DIGIT|'_')*;
fragment DIGIT : '0'..'9';
fragment LETTER : ('a'..'z'|'A'..'Z');

Chaining

Identifiers can be chained together using dots (".") to reference functions or identifiers in nested namespaces.

For example:

...

Trim(LastName)

...

Trim(Company.Address.City)

...

Der Kontext bestimmt auf welche Daten in der Expression zugegriffen werden kann. Je nachdem wo die Expression verwendet wird, gibt es einen unterschiedlichen Kontext.

TargetClass

In den meisten Fällen definiert eine spezifische Meta-Klasse den Kontext.

  • Ansicht: Das layout Element hat ein targetClass Attribute

  • Role Permissions: Beim Vergeben der Restrictions wir ebenfalls Bezug auf die TargetClass genommen. Siehe Benutzer und Rollen.

Alle Properties und Relationen der Meta-Klasse sind damit in der Expression verfügbar. Die Daten kommen vom jeweiligen Objekt.

Beispiel KategorieId der Klasse Adresse:

Code Block
languagexml
<layout type="Detail" targetClass="Adresse" ...>
  <propertyLink link="Firma">
    <visible>KategorieId != 3</visible>
  </propertyLink>
  ...
</layout>

Standard Funktionen

Auf andere Elemente wie z.B. dem User kann mit den Expression Standard Funktionen zugegriffen werden.

Zum Beispiel der User und seine Berechtigungen können mit den Funktionen aus https://encodo.atlassian.net/wiki/spaces/EB/pages/155385876/Expression+Standard+Funktionen#User eingebunden werden: User.IsInRole('admin')

Weitere

Je Nach Anwendung der Expression sind auch auch andere Kontext Informationen verfügbar. Im spezifischen Fall werden diese dann separat dokumentiert.

Technischer Hintergrund

Um zu verstehen welche Entitäten in der jeweiligen Expression angesprochen werden können, sehen Sie die Technischen Hintergründe in:

...