Übersicht
Die Regelauswertungs-Engine wertet Klammerfunktionen und Feldplatzhalter in eADM aus. Ausdrücke kommen vor in:
|
Verbraucher |
Typische Anwendung |
|---|---|
|
Regelsätze (Regelsett) |
Benutzer, Abteilungen und Gruppen filtern; Nachrichtenflüsse, Synchronisierungsschritte und Berechtigungen steuern |
|
Nachrichtenvorlagen |
Dynamischer Empfänger, Betreff, Text (HTML) |
|
Vorlagen exportieren / Vorlagen-Fließlinien synchronisieren |
Zuordnung von Zielattributen |
|
Kundenkonfiguration |
Benutzernamenausdruck, automatische Gruppennamensvergabe, Positionsfilter |
|
Formularvorlagen |
Formularfeld-Zuordnungen |
|
Ausdrucksgenerator |
Vorschau für einen Testbenutzer, eine Abteilung oder eine Gruppe |
So funktioniert die Bewertung
-
Die Engine durchsucht den Ausdruck nach
[...]Token. -
[ARRAYFOREACH...]wird zuerst ausgeführt – noch vor dem Durchlauf nach dem „innermost-first“-Prinzip –, sodass Template-Platzhalter???und???iBindung pro durch Pipe-Trennzeichen getrenntem Element. -
Andernfalls wird zunächst das innerste Klammerpaar ausgewertet.
-
Jede Funktion gibt ein Ergebnis im Klartext zurück, das die Klammer ersetzt.
-
Wenn keine Funktionen mehr übrig sind, verbleiben
[FieldName]Die Token werden aus dem aktuelles Objekt (und optional Zeile „Geschichte“ (in Nachrichtenflüssen). -
Nicht erkannte Feldnamen bleiben unverändert
[FieldName]in der Ausgabe.
Durch Pipe-Zeichen getrennte Listen (|) werden für Daten mit mehreren Werten verwendet – insbesondere im Personalwesen Positionen auf einen Benutzer.
In den folgenden Beispielen verwendete Beispieldaten
Sofern nicht anders angegeben, beziehen sich die Beispiele auf den Kunden „Eksempel kommune“ mit folgenden Angaben:
|
Objekt |
Kernwerte |
|---|---|
|
Benutzerin Kari Nordmann |
Vorname= |
|
Benutzerpositionen (an der Rohrleitung ausgerichtet) |
|
|
Abteilung IT (Typ 2) |
Id= |
|
Abteilung Personalwesen (untergeordnet der IT-Abteilung) |
Id= |
|
Systemrolle (Berechtigung) |
Id= |
|
Berechtigung für Kari |
SystemRoleId= |
Objekttyp-IDs (für Nachschlagezwecke): Benutzer=1, Abteilung=2, Gruppe=3, API-Benutzer=14.
Syntaxkonventionen
-
Funktionen:
[NAME;arg1;arg2;...]— durch Semikolon getrennte Argumente (;). -
Felder:
[FieldName]— Wert aus dem aktuellen Objekt (Groß-/Kleinschreibung wird nicht berücksichtigt). -
Verschachtelte Ausdrücke: Innere Klammern werden vor den äußeren ausgewertet.
-
Listen-Trennzeichen: Pipe-Zeichen
|(senkrechte Strich) zwischen den Werten — z. B.POS-01|POS-02. Geben Sie niemals einen Backslash ein;|erscheint nur als Markdown-Escape-Zeichen in Quelldateien, nicht in Ausdrücken. -
Datumsangaben in Feldern werden oft wie folgt gespeichert:
dd.MM.yyyy HH:mm:ss; Importe können Folgendes verwenden:yyyy-MM-ddund andere gängige Formate.
Abfrage-Minisprache
Im Innenbereich verwendet [FOREACH], [IFTHENELSE], und fortgeschritten [OBJECT...] Filter.
|
Token |
Bedeutung |
|---|---|
|
|
Gleich |
|
|
Größer als / kleiner als |
|
|
Nicht gleich |
|
|
Musterabgleich (like) |
|
|
Wert in der Liste |
|
|
UND nächste Bedingung |
|
|
ODER nächste Bedingung |
Daten mit dem Präfix „“ versehen object., system., systemrole., objectpermission., usw.
Verschachtelung
Zuerst das innere Feld, dann die äußere Funktion
|
Schritt |
Ausdrucksfragment |
beschließt, |
|---|---|---|
|
1 |
|
|
|
2 |
|
|
Wird blockiert, wenn das innere Feld fehlt: [SUBSTRING;0;10;[UnknownField]] bleibt unverändert, wenn UnknownField befindet sich nicht auf dem Objekt.
Typische Berechtigungskette (von innen nach außen gelesen):
[REFERENCE;DisplayName;UserId;1;[REFERENCE;Manager;Id;2;[OBJECTPERMISSION;ManagerOf;SystemRoleId;501]]]
-
Berechtigung → Abteilungs-ID
2100 -
Abteilung → Benutzer-ID des Managers
-
Benutzer → Anzeigename des Administrators
[ARRAYFOREACH...] ist anders: Es erweitert eine durch Pipe-Zeichen getrennte Liste vorher Inner-Funktionen im Template-Lauf. Verwenden Sie ??? für das aktuelle Element und ???i wegen seiner 0-basierten Indizierung. Verschachtelung [ARRAYFOREACH...] innerhalb eines anderen [ARRAYFOREACH...] wird nicht unterstützt – verwende [ARRAYJOIN] / [ARRAYPREFIX] oder stattdessen Geschwisteranrufe.
Zugriffsebenen
|
Rolle |
Was davon betroffen ist |
|---|---|
|
Supermanager |
Vorschau des Ausdrucksgenerators |
|
Unternehmensverwalter |
Vollständige Funktionsliste im Builder; |
|
Organisationsadministrator |
Ausdrücke, die in der Vorschau auf geschützte Felder zugreifen |
|
Superadministrator |
|
Die Automatisierung (Synchronisierung, Nachrichten, Exporte) wertet Ausdrücke mit Serverberechtigungen aus. Eine Funktion, die in der Produktionsumgebung funktioniert, kann im Ausdrucksgenerator für Ihre Rolle dennoch blockiert sein.
Feldplatzhalter
Keine Funktionen – werden aus dem aktuellen Objekt (oder der Verlaufszeile in ereignisgesteuerten Nachrichtenflüssen) ersetzt.
Beispiel: Vorlage Hello [GivenName] [Surname] über Kari Nordmann → Hello Kari Nordmann
|
Platzhalter |
Typische Quelle |
|---|---|
|
|
Name einer Person |
|
|
Konto / E-Mail |
|
|
Grundschulbereich |
|
|
Datum und Uhrzeit des Beschäftigungsbeginns |
|
|
Referenz des Vorgesetzten aus der Personalabteilung |
|
|
Mehrfachposition (durch Leerzeichen getrennt) |
Nur Verlauf (Nachrichtenfluss nach der Synchronisierung): [OldValue], [NewValue], [EntryType], [AttributeName], [Comment].
Funktionsübersicht mit Beispielen
Jeder Eintrag enthält Parameter, ein Beispiel mit Dummy-Daten sowie die erwartete Ausgabe.
Datum und Uhrzeit
[NÅ] / [NOW]
Gibt Datum und Uhrzeit des Servers zurück.
|
Parameter |
Zweck |
|---|---|
|
(keine) |
Aktueller Moment |
|
|
N Tage hinzufügen oder abziehen |
|
Ausdruck |
Angenommenes Serverdatum |
Ausgabe |
|---|---|---|
|
|
17.06.2026 14:30:00 |
|
|
|
17.06.2026 |
|
Verwendung: Anzeige der Berechtigungsbeginns sowie der entsprechenden Fristen in Vorlagen.
[DATEFORMAT;date;format]
Formatiert eine Datumszeichenfolge neu.
|
Parameter |
Zweck |
|---|---|
|
|
Eingabedatum oder durch Pipe-Zeichen getrennte Datumsangaben |
|
|
Ausgabemuster (z. B. |
|
Ausdruck |
Eingabe (nach der Feldauflösung) |
Ausgabe |
|---|---|---|
|
|
— |
|
|
|
zwei Termine |
|
Verwendung: Exportformate, ISO-Datumsangaben in API-Nutzdaten.
[DATEDIFF;date1;date2;unit]
Numerischer Unterschied zwischen zwei Datumsangaben.
|
Parameter |
Zweck |
|---|---|
|
|
Späteres oder ursprüngliches Datum |
|
|
Früherer Zeitpunkt oder Stichtag |
|
|
|
|
Ausdruck |
Ausgabe |
Bedeutung |
|---|---|---|
|
|
|
77 Tage zwischen dem Start und heute |
|
|
|
In diesem Beispiel dasselbe Kalenderjahr |
Verwendung: Gültigkeitsprüfungen in Regelsätzen, „Tage bis zum Start“ in Meldungen.
[DAYOFYEAR;date]
|
Parameter |
Zweck |
|---|---|
|
|
Datum der Bewertung |
|
Ausdruck |
Ausgabe |
|---|---|
|
|
|
Anwendung: Saisonale Regeln, Tricks für den Geschäftszeitraum.
Zeichenfolgenbearbeitung
[SUBSTRING;start;length;text]
|
Parameter |
Zweck |
|---|---|
|
|
Startindex ab 0 |
|
|
Anzahl der zu übernehmenden Zeichen |
|
|
Quellzeichenfolge (oft ein verschachteltes Feld) |
|
Ausdruck |
Beschlossen |
Ausgabe |
|---|---|---|
|
|
— |
|
|
|
— |
|
Verwendung: Nur das Datum aus dem Datums- und Zeitangabe in Begrüßungs-E-Mails: [SUBSTRING;0;10;[Start]] → 01.04.2026.
[SPLIT;text;delimiter;index]
|
Parameter |
Zweck |
|---|---|
|
|
Zu teilende Zeichenkette |
|
|
Trennzeichen (z. B. |
|
|
0-basierter Stückindex oder |
|
Ausdruck |
Ausgabe |
|---|---|
|
|
|
|
|
|
Verwendung: Anrede aus dem Feld für den zusammengesetzten Namen; den Code für die letzte Position auswählen.
[REPLACE;text;find;replace]
|
Parameter |
Zweck |
|---|---|
|
|
Originaltext |
|
|
Zu ersetzende Teilzeichenfolgen; Pipe = mehrere; |
|
|
Ersetzungstext |
|
Ausdruck |
Ausgabe |
|---|---|
|
|
|
|
|
|
Verwendung: Telefonnummern standardisieren, Trennzeichen in Benutzernamen austauschen.
[REPLACELIST;text;fromChars;toChars]
Zeichen-zu-Zeichen-Zuordnung (beide Zeichenlisten müssen dieselbe Länge haben).
|
Parameter |
Zweck |
|---|---|
|
|
Eingabe |
|
|
Zuzuordnende Zeichen |
|
|
Zuzuordnende Zeichen |
|
Ausdruck |
Ausgabe |
|---|---|
|
|
|
Verwendung: Korrekturen für veraltete Zeichensätze bei Importvorgängen.
[RTRIM;text;chars] / [LTRIM;text;chars]
|
Parameter |
Zweck |
|---|---|
|
|
Eingabe; falls sie Folgendes enthält |
|
|
Zeichen, die am Ende (RTRIM) oder am Anfang (LTRIM) entfernt werden sollen |
|
Ausdruck |
Ausgabe |
|---|---|
|
|
|
|
|
|
Verwendung: Rohrlisten bereinigen nach [ARRAYDIFF].
[RPAD;text;padChar;totalLength] / [LPAD;text;padChar;totalLength]
|
Parameter |
Zweck |
|---|---|
|
|
Wert in das Feld eingeben |
|
|
Auffüllzeichen |
|
|
Zielbreite |
|
Ausdruck |
Ausgabe |
|---|---|
|
|
|
|
|
|
Verwendung: Mitarbeiter-ID-Nummern mit fester Breite bei Dateiexporten.
[RIGHT;length;text]
|
Parameter |
Zweck |
|---|---|
|
|
Wie viele Zeichen von rechts |
|
|
Quelle |
|
Ausdruck |
Ausgabe |
|---|---|
|
|
|
Verwendung: Letzte Ziffern der nationalen Identifikationsnummer in Testumgebungen.
[INITIALS;text;startWord;endWord]
|
Parameter |
Zweck |
|---|---|
|
|
Vollständiger Name oder Ausdruck |
|
|
Wortindex für den Start (0-basiert) |
|
|
Wortverzeichnis bis zum Ende, oder |
|
Ausdruck |
Ausgabe |
|---|---|
|
|
|
|
|
|
Verwendung: Kurzcodes in Gruppennamen oder E-Mail-Aliasen.
[PRETTIFY;text]
Großschreibung nach Leerzeichen oder Bindestrich.
|
Ausdruck |
Ausgabe |
|---|---|
|
|
|
|
|
|
Verwendung: Namen in Nachrichten anzeigen, wenn die Personalabteilung diese in Großbuchstaben versendet.
[LOWER;text] / [UPPER;text]
|
Ausdruck |
Ausgabe |
|---|---|
|
|
|
|
|
|
Verwendung: Vorher normalisieren [CLEAN] in den Regeln für Benutzernamen.
[CLEAN;text] / [STRICTCLEAN;text] / [CNCLEAN;text]
Zeichen entfernen oder ersetzen, die für Benutzernamen, strenge IDs oder AD-Common Names (CN) ungeeignet sind.
|
Ausdruck |
Typische Ausgabe |
Verwendung |
|---|---|---|
|
|
|
Benutzername / UID |
|
|
CN-sicheres Formular für AD |
Gruppen- oder Benutzer-CN |
Die genaue Ausgabe hängt von den Zeichenregeln des Kunden ab; testen Sie dies im Ausdrucksgenerator.
[GETKEYVALUE;key;delimiter;metadata]
Liest key<delimiter>value Paare innerhalb einer durch Pipe-Zeichen getrennten Metadatenzeichenfolge.
|
Parameter |
Zweck |
|---|---|
|
|
Schlüssel zum Finden |
|
|
Trennzeichen zwischen Schlüssel und Wert (oft |
|
|
Durch Pipe-Zeichen getrennte Liste von Schlüssel-Wert-Token |
|
Ausdruck |
|
Ausgabe |
|---|---|---|
|
|
— |
|
Verwendung: Benutzerdefinierte Import-Metadaten für Erweiterungsattribute.
Logik und Kontrollfluss
[IFTHENELSE;query;thenValue;elseValue]
|
Parameter |
Zweck |
|---|---|
|
|
Bedingung für aktuelles Objekt (z. B. |
|
|
Wird zurückgegeben, wenn die Abfrage übereinstimmt |
|
|
Wird zurückgegeben, wenn nicht |
|
Kontext |
Ausdruck |
Ausgabe |
|---|---|---|
|
Benutzerin Kari (Typ 1) |
|
|
|
Abteilung IT (Typ 2) |
dasselbe |
|
Verwendung: Eine einzige Vorlage für verschiedene Objekttypen.
[IFEMPTYUSE;primary;fallback;reversed]
|
Parameter |
Zweck |
|---|---|
|
|
Zu prüfender Wert |
|
|
Wird verwendet, wenn „primary“ leer ist (Standard) |
|
|
Optional |
|
Ausdruck |
Ablauf von Karis Berechtigung |
Ausgabe |
|---|---|---|
|
|
leer |
|
|
|
|
|
|
|
Manager= |
`` (leer – umgekehrt: nur als Ausweichlösung, wenn ein Manager vorhanden ist) |
Verwendung: Standardtext bei fehlendem Ablaufdatum, fehlendem Verantwortlichen oder fehlendem Kommentar.
[EXISTS;value;resultIfNonEmpty]
|
Parameter |
Zweck |
|---|---|
|
|
Getestete Zeichenfolge |
|
|
Wird nur zurückgegeben, wenn |
|
Ausdruck |
Feld „Kari-Manager“ |
Ausgabe |
|---|---|---|
|
|
|
|
|
|
leer |
`` (leer) |
Verwendung: Verschachtelte Gate-Lookups – nur ausführen [REFERENCE...] wenn [Manager] ist festgelegt.
[TRANSFORM;input;mapping...]
|
Parameter |
Zweck |
|---|---|
|
|
Zuzuordnender Wert |
|
|
Eingabe mit Ausgabe abgleichen |
|
|
Platzhalter, wenn kein Schlüssel übereinstimmt |
|
Ausdruck |
|
Ausgabe |
|---|---|---|
|
|
— |
|
|
|
— |
|
Verwendung: HR-Codes → Text in Meldungen anzeigen.
[CONTAINS;valueList;targetList;ifYes;ifNo]
|
Parameter |
Zweck |
|---|---|
|
|
Durch ein Röhrchen getrennte Nadeln |
|
|
Durch Rohre getrennter Heuhaufen |
|
|
Zurückgegebene Zeichenfolgen bei Übereinstimmung / keiner Übereinstimmung |
|
Ausdruck |
Ausgabe |
|---|---|
|
|
|
|
|
|
Verwendung: Verzweigungen im Ruleset-Stil innerhalb einer Vorlage.
Operationen mit Arrays (durch Pipe-Zeichen getrennt)
Listen sehen so aus A|B|C. Viele Felder in Personalpositionen verwenden diese Form.
[COUNT;ignored;list]
|
Parameter |
Zweck |
|---|---|
|
|
Platzhalter (unbenutzt) |
|
|
Durch Pipe-Zeichen getrennte Werte |
|
Ausdruck |
Ausgabe |
|---|---|
|
|
|
Verwendung: „Wie viele Positionen hat dieser Benutzer?“
[ARRAYAPPEND;list1;list2]
|
Ausdruck |
Ausgabe |
|---|---|
|
|
|
Verwendung: Zusammenführen von Rollenlisten aus zwei Berechtigungsabfragen.
[ARRAYUNIQUE;list]
|
Ausdruck |
Ausgabe |
|---|---|
|
|
|
Verwendung: Vor dem Export doppelte Abteilungs-IDs entfernen.
[ARRAYFILTER;list;allowed]
Behält nur Elemente bei, die in allowed.
|
Ausdruck |
Ausgabe |
|---|---|
|
|
|
Verwendung: Positionsarten für eine Nachricht auf die Whitelist setzen.
[ARRAYDIFF;current;previous]
Elemente in current nicht in previous.
|
Kontext |
|
|
Ausgabe |
|---|---|---|---|
|
Neue Stelle hinzugefügt |
|
|
|
|
Keine Änderung |
|
|
`` |
Verwendung: Erkennen neue Position im Nachrichtenfluss (in Verbindung mit [LASTVALUE;APositionCodeId]). Warnung: unzuverlässig, wenn sich bei einem Import mehrere Positionen ändern.
[ARRAYJOIN;list1;list2]
Vereint zwei Listen anhand des Index.
|
Ausdruck |
Ausgabe |
|---|---|
|
|
|
Verwendung: Fügen Sie parallele Spalten für Exportzeilen im CSV-Format zusammen.
[ARRAYFOREACH;array;template] / [ARRAYFOREACH;array;separator;template]
Durchläuft ein durch Pipe getrennt Liste. Für jedes nicht leere Element wird ersetzt durch ??? mit dem Element und ???i mit seiner 0-basierten Indizierung in der Vorlage wertet verschachtelte [...] in der Vorlage und führt anschließend die Ergebnisse zusammen.
|
Parameter |
Zweck |
|---|---|
|
|
Durch Pipe-Zeichen getrennte Liste (oft ein Feld wie |
|
|
Optionaler Verbindungsstring zwischen den Iterationen (Standardwert |
|
|
Text oder verschachtelter Ausdruck; |
|
Ausdruck |
Kari |
Ausgabe |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Leere Rohrsegmente sind übersprungen (gleiche Konvention wie [ARRAYUNIQUE] / [ARRAYPREFIX]).
Nicht unterstützt: [ARRAYFOREACH...] in einem anderen verschachtelt [ARRAYFOREACH...] — Die Auswertung des Ausdrucks schlägt fehl. Verwenden Sie zwei gleichrangige Aufrufe oder [ARRAYJOIN] stattdessen.
Verwendung: Jede Position in einer Nachricht als eigene Zeile formatieren; jeder Einheits-ID für den Export ein Präfix voranstellen.
[ARRAYPREFIX;list;mode;text]
|
Parameter |
Zweck |
|---|---|
|
|
Durch Pipe-Zeichen getrennte Elemente |
|
|
|
|
|
Präfix- oder Suffixzeichenfolge |
|
Ausdruck |
Ausgabe |
|---|---|
|
|
|
Verwendung: Externe IDs des Namensraums.
[ARRAYTRIM;list;delimiter;maxCount]
|
Ausdruck |
Ausgabe |
|---|---|
|
|
|
Verwendung: Nur die ersten N Positionen in einer Zusammenfassungs-E-Mail.
[PRUNEARRAY;list;regex;reverse]
|
Parameter |
Zweck |
|---|---|
|
|
Durch Pipe-Zeichen getrennte Elemente |
|
|
.NET-Reguläre Ausdrücke |
|
|
|
|
Ausdruck |
Ausgabe |
|---|---|
|
|
|
|
|
|
Verwendung: Temporäre Positionscodes aus dem Export entfernen.
[UNION;headers;list1;list2;...]
Führt parallele Listen zeilenweise zu Zeilen zusammen, die aus Leerzeichen und Pipe-Zeichen bestehen.
|
Ausdruck |
Konzeptionelle Ergebnisse |
|---|---|
|
|
|
Verwendung: Mehrspaltige Textblöcke in Berichten.
Zufälligkeit, Hash, Eindeutigkeit
[RND;min;max]
|
Parameter |
Zweck |
|---|---|
|
|
Kleinste ganze Zahl (einschließlich) |
|
|
Größte Ganzzahl (in der Praxis nicht einschließlich – prüfen Sie Ihren Wertebereich) |
|
Ausdruck |
Beispielausgabe |
|---|---|
|
|
|
Verwendung: Ticketnummern in Testvorlagen.
[STRRND;minLen;maxLen;chars]
|
Parameter |
Zweck |
|---|---|
|
|
Längenbereich |
|
|
Zulässiger Zeichensatz (leer = Standard: alphanumerisch) |
|
Ausdruck |
Beispielausgabe |
|---|---|
|
|
|
Verwendung: Einmalcodes, wenn keine Passwortregel verwendet wird.
[PASSWORD;ruleId]
|
Parameter |
Zweck |
|---|---|
|
|
ID der in eADM konfigurierten Regel zur Passwortgenerierung |
|
Ausdruck |
Ausgabe |
|---|---|
|
|
z. B. |
Verwendung: Erstpasswort in der Willkommensnachricht – bitte sicher behandeln.
[HASH;text]
|
Ausdruck |
Ausgabe (Beispiel) |
|---|---|
|
|
32-Zeichen-MD5-Hex-Zeichenkette (bei gleicher Eingabe unveränderlich) |
Verwendung: Undurchsichtige Tokens in Links (nicht ausschließlich für sicherheitskritische Hash-Verfahren).
[UNIQUE;base;fieldName;replacement]
Stellt sicher, dass base noch nicht in fieldName auf ein anderes Objekt; hängt an 2, 3, … oder Einfügungen vor replacement.
|
Parameter |
Zweck |
|---|---|
|
|
Vorgeschlagener Benutzername oder E-Mail-Adresse |
|
|
Feld, anhand dessen die Eindeutigkeit überprüft werden soll (z. B. |
|
|
Optionales Suffix, das durch eine Zahl ersetzt werden soll |
|
Szenario |
Ausdruck |
Ausgabe |
|---|---|---|
|
|
|
|
|
|
dasselbe |
|
Verwendung: Kundenkonfiguration Benutzername-Ausdruck zusammen mit [CLEAN] / [LOWER].
Datenbankabfrage und Beziehungen
Diese lesen Live-eADM-Daten für den Kunden aus. Die IDs müssen in Ihrer Umgebung vorhanden sein.
[REFERENCE;returnField;whereField;objectTypeId;searchValue;exactMatch]
|
Parameter |
Zweck |
|---|---|
|
|
Feld(er), die aus dem übereinstimmenden Objekt zurückgegeben werden sollen ( |
|
|
Feld, nach dem gesucht werden soll |
|
|
|
|
|
Zu ermittelnder Wert |
|
|
|
|
Ausdruck |
Testspiel |
Ausgabe |
|---|---|---|
|
|
Abteilungs-ID 2100 = IT |
|
|
|
Benutzer „Manager“ |
|
Verwendung: Abteilungsnummer aus der Genehmigung ManagerOf id:
[REFERENCE;OrgUnitnr;Id;2;2100]
[OBJECTPERMISSION;returnField;whereField;filterValue;exactMatch;aggregate]
Liest die Berechtigungen des aktuellen Benutzers aus.
|
Parameter |
Zweck |
|---|---|
|
|
Berechtigungsfeld (Kommentar, Verantwortlicher, Ablaufdatum, SystemRollen-ID, …) |
|
|
Feld, nach dem gefiltert werden soll |
|
|
Wert abgleichen oder |
|
|
Modus zum Abgleichen von Zeichenfolgen |
|
|
|
|
Ausdruck |
Ausgabe (Kari) |
|---|---|
|
|
|
|
|
|
Abkürzung für den Rollennamen:
|
Ausdruck |
Ausgabe |
|---|---|
|
|
|
[OBJECTHISTORIES;returnField;whereField;filterValue;exactMatch;aggregate]
Liest den Objektverlauf des aktuellen Benutzers aus (Protokoll aus Synchronisierung/Benutzeroberfläche).
|
Beispielfilter |
Ausdruck |
Typische Ausgabe |
|---|---|---|
|
Letzte Berechtigung hinzugefügt |
|
|
Verwendung: „Wer hat diese Berechtigung erteilt?“ in Nachrichtenabläufen (oft verschachtelt in [SPLIT] / [REFERENCE]).
[FOREACH;collection;query;returnFields;headers;format]
|
Parameter |
Zweck |
|---|---|
|
|
|
|
|
Filter (Unternehmensbereich wird automatisch hinzugefügt) |
|
|
Durch Kommas getrennte Felder, optional |
|
|
Spaltenüberschriften für CSV/HTML |
|
|
|
Beispiel (konzeptionell): Alle Benutzer mit der Rolle 501, CSV:
[FOREACH;objectpermission;SystemRoleId=501;object.DisplayName,object.Email;Name,Email;csv]
Ausgabe (Dummy):
Name,Email
Kari Nordmann,kari.nordmann@eksempel.kommune.no
Ola Hansen,ola.hansen@eksempel.kommune.no
Verwendung: In den E-Mail-Text eingebetteter Manager-Bericht.
[DESCENDANTS;rootId;returnField;parentKey;foreignKey]
|
Parameter |
Zweck |
|---|---|
|
|
Abteilungs-Objekt-ID, ab der gezählt werden soll |
|
|
Feld, das von jedem Knoten erfasst werden soll |
|
|
Unterfeld, das auf das übergeordnete Feld verweist (z. B. |
|
|
Feld für die übergeordnete Kennung (z. B. |
|
Start |
Baum |
Ausdruck |
Ausgabe |
|---|---|---|---|
|
IT-ID |
IT → Personalwesen |
|
|
Verwendung: Alle Unterabteilungen, für die ein Manager die Berechtigung besitzt.
[SYSTEM;type;id;field]
|
Parameter |
Zweck |
|---|---|
|
|
|
|
|
Numerische ID oder |
|
|
Zurückzugebende Feldname(n) |
|
Ausdruck |
Ausgabe (Dummy) |
|---|---|
|
|
|
|
|
|
Verwendung: Kontaktdaten des Systembesitzers in der Administratorbenachrichtigung.
[SELECTION;rulesetId;returnField]
|
Parameter |
Zweck |
|---|---|
|
|
Pro Objekt zu bewertender Regelsatz |
|
|
Feld aus jedem Objekt, das der Suche entspricht |
|
Ausdruck |
Ausgabe (Dummy) |
|---|---|
|
|
|
Verwendung: Mailingliste aller Personen, die den Regeln des Regelsatzes „Neue Mitarbeiter“ entsprechen.
[AVAILABLESYSTEM;field] / [AVAILABLEROLE;systemId;field]
Gibt durch Pipe-Zeichen getrennte Werte für Systeme oder Rollen zurück, die die Regel „Verfügbar für “ für den aktuellen Benutzer erfüllen.
|
Ausdruck |
Bedeutung |
|---|---|
|
|
Namen von Systemen, für die Kari Berechtigungen erhalten könnte |
|
|
Rollenbezeichnungen auf System 12, denen sie möglicherweise zugewiesen wird |
Verwendung: Dynamische Auswahllisten in Formularen oder Nachrichten.
[AVAILABLEDEPARTMENTS;fields;targetUserId]
|
Parameter |
Zweck |
|---|---|
|
|
Durch Kommas getrennte Abteilungsfelder |
|
|
Zu bewertender Benutzer; leer = aktuelles Objekt |
Verwendung: Listet die Abteilungen auf, die ein Manager leiten kann (aus „ManagerOf“, Abteilungs-IDs, „mega.eadm.no“- Rollen).
[DATAOWNER;returnField]
Verfolgt die Beziehung zwischen Objekt und Dateneigentümer; gibt ein Feld des Eigentümers zurück.
|
Ausdruck |
Ausgabe (sofern der Name der Eigentümergruppe gespeichert ist) |
|---|---|
|
|
|
[ANTECEDANTS.SYSTEMROLE;roleId;departmentId;returnField]
Manager, die Anteile halten roleId auf Vorfahr Abteilungen von departmentId.
|
Ausdruck |
Ausgabe (Dummy) |
|---|---|
|
|
|
Verwendung: Eskalations-E-Mail, wenn die untergeordnete Personalabteilung keinen lokalen Genehmiger hat.
[COUNTEMPLOYEE] / [COUNTMEMBERS]
Die Auswertung erfolgt jeweils auf der Ebene der Abteilung bzw. der Gruppe.
|
Objekt |
Ausdruck |
Ausgabe (Dummy) |
|---|---|---|
|
Abteilung IT |
|
|
|
Gruppe „Prosjekt Alfa“ |
|
|
[GETLASTSYNCID]
|
Ausdruck |
Ausgabe (Dummy) |
|---|---|
|
|
|
Verwendung: Fehlerbehebung bei Fußzeilen in Admin-E-Mails.
[LASTVALUE;attributeName]
Vorheriger Wert des Feldes aus dem letzten Import der Personalhistorie, andernfalls der aktuelle Wert des Feldes.
|
Kontext |
Ausdruck |
Ausgabe |
|---|---|---|
|
Vor der Synchronisierung hatte Kari eine Position. |
|
|
|
Nach dem Hinzufügen von POS-02 |
|
|
Dazu passt [ARRAYDIFF;[APositionCodeId];[LASTVALUE;APositionCodeId]] → POS-02|.
Stellen (HR mit mehreren Stellen)
Positionsfelder teilen den Index über Pipes hinweg: index 0 = erste Position, 1 = Sekunde.
[POSITION;returnField;whereField;matchValue]
|
Parameter |
Zweck |
|---|---|
|
|
Zu returnierendes Feld (z. B. |
|
|
Zu vergleichendes Feld (z. B. |
|
|
Zu suchende Einheit oder Code |
|
Ausdruck |
Ausgabe |
|---|---|
|
|
|
|
|
|
[POSITIONS;returnField;whereField;matchValue]
Das Gleiche wie [POSITION] gibt jedoch eine über alle Positionen hinweg ausgerichtete Zeichenkette zurück (leerer Platz, wenn keine Übereinstimmung vorliegt).
|
Ausdruck |
Ausgabe |
|---|---|
|
|
|
[GROUPPRIMARYPOSITION;returnField]
Auswahl primär Position: höchste APositionPercentage, bei Gleichstand entscheidet das frühere Datum APositionStartDate.
|
Kari-Positionen |
Ausdruck |
Ausgabe |
|---|---|---|
|
100 % IT, 20 % Personalwesen |
|
|
[ACTIVEPOSITIONCOUNT;asOfDate]
|
Ausdruck |
Ausgabe |
|---|---|
|
|
|
Nachrichtenübermittlung und Integration
[COUNTMESSAGESENT;messageId;fromDate]
|
Parameter |
Zweck |
|---|---|
|
|
ID der Nachrichtenvorlage. Optional – falls nicht angegeben (entspricht |
|
|
Nur Sendungen nach diesem Datum zählen (optional) |
|
Ausdruck |
Ausgabe (Dummy) |
|---|---|
|
|
|
Ausgelassen messageId: Wenn die ID der Nachrichtenvorlage nicht angegeben ist ([COUNTMESSAGESENT;] ist gleich 0) wird der Ausdruck im Kontext der Nachrichtenvorlage ausgewertet, deren Versand den Regelsatz ausgelöst hat. Mit anderen Worten: Er wird zu der Frage „Wurde die derzeit gesendete Nachricht bereits an diesen Empfänger versendet?“ aufgelöst und nicht zu einer bestimmten festen Vorlagen-ID. Aus diesem Grund kann derselbe Regelsatz als Schutz vor doppelten Sendungen für mehrere verschiedene Nachrichtenvorlagen wiederverwendet werden, anstatt für jede Vorlage einen separaten Regelsatz zu erstellen.
Warnung: Die Vorschau des Regelsatzes im Ausdrucksgenerator funktioniert nicht, wenn messageId wird weggelassen, da außerhalb eines tatsächlichen Nachrichtenversands keine auslösende Nachrichtenvorlage vorhanden ist, die diesen Kontext bereitstellt.
Verwendung: „Bereits benachrichtigt?“-Prüfung im Folgeablauf; gemeinsame Prüfung zur Vermeidung von Doppelversendungen über mehrere Nachrichtenvorlagen hinweg.
[SYSTEMOWNER]
Erfordert eine Protokollzeile zur Änderung der Berechtigung (Berechtigung zum Hinzufügen/Bearbeiten/Löschen).
|
Kontext |
Ausgabe (Dummy) |
|---|---|
|
Berechtigung für Rolle 501 hinzugefügt |
|
Verwendung: CC-Systemverantwortlicher, wenn eine automatische Berechtigung erteilt wird.
[SYNCSTEPPARAMETER;key;companySyncStepId]
|
Parameter |
Zweck |
|---|---|
|
|
Parametername im Synchronisierungsschritt |
|
|
ID der Instanz des Kundensynchronisierungsschritts |
|
Ausdruck |
Ausgabe |
|---|---|
|
|
|
Zugriff: Unternehmensadministrator in der Vorschau des Expression Builders.
[APITOKEN;apiUsername]
|
Parameter |
Zweck |
|---|---|
|
|
API-Benutzername (Objekttyp 14) |
|
Ausdruck |
Ausgabe |
|---|---|
|
|
Undurchsichtige Zeichenfolge des Sitzungstokens (variiert) |
Zugriff: Unternehmensadministrator in der Vorschau. Nur in gesicherten serverseitigen Abläufen verwenden.
HTML-Hilfsfunktionen (Nachrichtenvorlagen)
[HTMLLISTMEMBEROF;displayField]
Bei einem Gruppenmitglied: Listet die übergeordneten Gruppen auf.
|
Ausdruck |
Ausgabe |
|---|---|
|
|
|
[HTMLLISTARRAY;list]
|
Ausdruck |
Ausgabe |
|---|---|
|
|
|
Steuerelemente für Formularvorlagen
Wird in Formularvorlagen verwendet, nicht in Standardregelsätzen.
|
Funktion |
Zweck |
|---|---|
|
|
Texteingabe, die an die ID des Formularfelds gebunden ist |
|
|
Boolesche Eingabe |
|
|
Auswahlmenü (fünf Parameter) |
|
|
Radio-Gruppe |
|
|
Datumsauswahl |
|
|
Mehrzeiliger Text |
|
|
Aktionsschaltfläche |
Beispielmuster: [INPUTBOX;1042;Avdeling;IT-100;] gibt die Eingabe mit der Bezeichnung „Avdeling“ standardmäßig als IT-100.
Markierungen [NOTIFY...], [HIDDEN...], [SERVERFUNCTION...] sind Hooks für Formularverhalten und keine Datenfunktionen.
End-to-End-Szenarien (Dummy-Daten)
Willkommens-E-Mail – nur mit Startdatum
Ny ansatt [DisplayName] starter [SUBSTRING;0;10;[Start]].
Ausgabe: Ny ansatt Kari Nordmann starter 01.04.2026.
Zeile zum Ablauf der Berechtigung
Gyldig til: [IFEMPTYUSE;[OBJECTPERMISSION;ExpiryDate;SystemRoleId;501];Permanent tilgang]
Ausgabe: Gyldig til: Permanent tilgang
Manager nicht erreichbar – an den Leiter der übergeordneten Abteilung weiterleiten
[IFEMPTYUSE;
[EXISTS;[Manager];];
[REFERENCE;Email;UserId;1;[REFERENCE;Manager;Id;2;[REFERENCE;ParentDepartmentNumber;DepartmentNumber;2;[DepartmentNumber]]]]]
|
Kari, Managerin |
Ausgabe |
|---|---|
|
leer |
|
|
Satz |
leer (EXISTS-Zweig – passe die Vorlagenlogik an, falls du die E-Mail-Adresse des Vorgesetzten benötigst, sofern vorhanden) |
Passen Sie die Kombination aus IFEMPTYUSE und EXISTS an den Zweck Ihrer Vorlage an; testen Sie dies im Ausdrucksgenerator.
Nur neue Position – Nachrichtenempfänger
Nach der Synchronisierung werden hinzugefügt POS-02:
[REFERENCE;Email;UserId;1;[POSITION;APositionManager;AUnitId;[RTRIM;[ARRAYDIFF;[APositionCodeId];[LASTVALUE;APositionCodeId]];|]]]
Ausgabe: E-Mail-Adresse des Leiters der Abteilung, in der die neue Stelle angesiedelt ist (Dummy: ny-leder@eksempel.kommune.no).
Name der automatischen Sicherheitsgruppe (Kundeneinrichtung)
SG-[Department]-[CLEAN;[OrgUnitnr]]
Ausgabe: SG-IT og digitalisering-IT-100 (Die genaue CLEAN-Ausgabe kann variieren).
Exportzuordnung – samAccountName
[UserName]
Ausgabe: kari.nordmann
Regelsatz – Benutzer hat eine Rolle im System
Regelattributausdruck :
[OBJECTPERMISSION.SYSTEMROLE;Name;SystemRoleId;501]
Ermittelter Wert: Bruker Fagsystem X — Vergleichsoperator Er lik / Anbieter von Mitgliedschaften.
Ausdrucksgenerator
|
Artikel |
Details |
|---|---|
|
Wo |
Ausdrucksgenerator für Kopfzeilensymbole, Editoren für Nachrichtenvorlagen, einige eHub-Bildschirme |
|
Funktionsübersicht |
Alle Objektfelder des ausgewählten Typs sowie Standardfunktionen |
|
Vorschau |
Testbenutzer/Abteilung/Gruppe auswählen; erfordert Super-Manager-Berechtigung |
|
Regelsätze |
Automatisierung → Regelsätze — „Minimum Super Manager“ |
Zwei Eingabemodi für den Wert einer Regelbedingung
Jede Bedingungszeile auf der Registerkarte „Regeln“ eines Regelsatzes verfügt über ein Feld „Attribut“ (oder „Argument“) mit zwei kleinen Symbolen, mit denen der Eingabemodus umgeschaltet werden kann:
-
Dropdown-Modus (Symbol mit Aufwärts-/Abwärtspfeilen) – die Standardeinstellung. Zeigt ein durchsuchbares Dropdown-Menü mit den Attributwerten des Objekts an, gruppiert nach Typ (Benutzer-, Gruppen-, Abteilungs- oder Formularattribute, je nachdem, wofür der Regelsatz verwendet wird).
-
Freitextmodus (Tastatur-Symbol) — wandelt das Feld in ein reines Textfeld um. Verwenden Sie diese Option, um fest codierten Text oder einen Funktionsausdruck unter Verwendung der zuvor in diesem Artikel beschriebenen Klammer-Syntax einzugeben, z. B.
[COUNTMESSAGESENT;7166].
Auch im Freitextmodus steht die Autovervollständigung zur Verfügung: Wenn Sie einen Teil eines Funktions- oder Feldnamens eingeben (z. B. [count) Oberflächen, die in Bezug auf Eigenschaften und Funktionen übereinstimmen, wie zum Beispiel [COUNTEMPLOYEE], [COUNTMEMBERS], und [COUNTMESSAGESENT;message id].
Einen Ausdruck mit „Ausdruck bearbeiten“ testen
Befindet sich ein Bedingungsfeld im Freitextmodus, öffnet ein zusätzliches Symbol daneben das Dialogfeld „Ausdruck bearbeiten “. Verwenden Sie dieses, um einen Funktionsausdruck anhand eines realen Objekts zu testen, bevor Sie die Regel speichern.
Im Dialogfeld wird Folgendes angezeigt:
-
Objekttyp – der primäre Objekttyp des Regelsatzes (z. B. „Benutzer“) und die verfügbaren sekundären Kontexte (Funktion, Funktionsalias, Ereignis, Verlauf).
-
Kontext – ein Testobjekt, anhand dessen die Bewertung erfolgen soll. Verwenden Sie die Suchfunktion, um ein bestimmtes Objekt auszuwählen, oder wählen Sie „Zufällig auswählen “, damit eADM ein Objekt auswählt.
-
Ausdruck – ein bearbeitbarer Textbereich, der bereits mit dem aktuellen Ausdruck der Bedingung vorbelegt ist.
-
Ergebnis – die ausgewertete Ausgabe, die nach dem Klicken auf „Ausführen“ angezeigt wird.
Wenn Sie beim Bearbeiten mit der Maus über eine Funktion innerhalb des Ausdrucks fahren, wird ein Hilfe-Tooltip mit der vollständigen Syntax dieser Funktion, einer kurzen Beschreibung und der Bedeutung der einzelnen Parameter angezeigt. Der Tooltip hebt den gesamten Ausdruck grün hervor und zeigt den Teil, der der aktuellen Cursorposition entspricht, fett, was die Navigation in langen oder tief verschachtelten Ausdrücken erheblich erleichtert.
Hinweis: Wie beim Ausdrucksgenerator generell ist für das Testen eines Ausdrucks unter „Ausdruck bearbeiten“ Administratorrechte erforderlich (siehe „Zugriffsebenen“ oben).
Fehlerbehebung
|
Symptom |
Mögliche Ursache |
Aktion |
|---|---|---|
|
Wörtlich |
Das innere Feld ist leer oder enthält einen Tippfehler |
Verschachtelung korrigieren; Feldnamen im Objekt überprüfen |
|
Fehler bei der Auswertung des Ausdrucks |
Verschachtelt |
In einzelne Aufrufe aufteilen oder verwenden |
|
Leere Zeichenkette |
Keine übereinstimmende ID / Berechtigung |
Überprüfen Sie die Systemrollen-ID und die System-ID im Systemzugriff |
|
Falsche Position in der E-Mail |
Mehrere Positionen haben sich gleichzeitig geändert |
Verlassen Sie sich nicht ausschließlich auf ARRAYDIFF/LASTVALUE |
|
Vorschau gesperrt |
Rolle oder geschütztes Feld |
Rolle erweitern oder Testausdruck vereinfachen |
|
Funktioniert im Builder, nicht in der Meldung |
Der Ereignisablauf benötigt den Objektverlauf aus der Synchronisierung |
Import ausführen; Eintragstyp im Verlauf überprüfen |
|
Die Vorschau wird nicht ausgeführt / stürzt ohne Fehlermeldung ab |
|
Erwartet – Der Kontext der auslösenden Nachrichtenvorlage ist nur während eines tatsächlichen Versands vorhanden. Testen Sie die umgebende Logik ohne diese Bedingung oder geben Sie vorübergehend eine echte |
Schnellübersicht
|
Kategorie |
Funktionen |
|---|---|
|
Datum/Uhrzeit |
NÅ, NOW, DATEFORMAT, DATEDIFF, DAYOFYEAR |
|
Zeichenkette |
SUBSTRING, SPLIT, REPLACE, REPLACELIST, RTRIM, LTRIM, RPAD, LPAD, RIGHT, INITIALS, PRETTIFY, LOWER, UPPER, CLEAN, STRICTCLEAN, CNCLEAN, GETKEYVALUE |
|
Logik |
IFTHENELSE, IFEMPTYUSE, EXISTS, TRANSFORM, CONTAINS |
|
Arrays |
COUNT, ARRAYAPPEND, ARRAYUNIQUE, ARRAYFILTER, ARRAYDIFF, ARRAYJOIN, ARRAYFOREACH, ARRAYPREFIX, ARRAYTRIM, PRUNEARRAY, UNION |
|
Sicherheit |
HASH, PASSWORD, UNIQUE, RND, STRRND |
|
Nachschlagen |
REFERENCE, OBJECTPERMISSION, OBJECTHISTORIES, FOREACH, DESCENDANTS, SYSTEM, SELECTION, AVAILABLESYSTEM, AVAILABLEROLE, AVAILABLEDEPARTMENTS, DATAOWNER, ANTECEDANTS.SYSTEMROLE, MITARBEITERZAHL, MITGLIEDERZAHL, LETZTE-SYNCHRONISIERUNGS-ID ABFRAGEN, LETZTER WERT |
|
Stellenangebote |
POSITION, POSITIONEN, GRUPPENPRIMÄRPOSITION, ANZAHL AKTIVER POSITIONEN |
|
Nachrichten |
COUNTMESSAGESENT, SYSTEMOWNER, SYNCSTEPPARAMETER, APITOKEN |
|
HTML |
HTMLLISTMEMBEROF, HTMLLISTARRAY |
|
Formulare |
Eingabefeld, Kontrollkästchen, Schaltfläche, Listenfeld, Optionsfeld, Datumsfeld, Flächenfeld |
Notizen zum KI-Assistenten
-
Bevorzugen
[DisplayName]Felder im -Stil, bevor sie in Funktionen eingeschlossen werden. -
Fragen Sie nach, wo sich der Ausdruck befindet: Regelsatz vs. Nachricht vs. Export vs. Kundeneinrichtung.
-
Dummy-IDs ersetzen (
501,2100) mit den tatsächlichen Daten des Kunden Systemrolle und Abteilung IDs aus Systemzugriff. -
Der Positionsfilter beim Import schließt Übereinstimmungen aus; der Regelsatz für den Synchronisierungsschritt bezieht Übereinstimmungen ein.
-
Für den Ablauf von Ereignismeldungen wird der Objektverlauf aus einem Synchronisierungslauf benötigt.
-
Verschachtelte Beispiele erstellen von innen nach außen — außer
[ARRAYFOREACH...], das an???pro Element, bevor die Vorlagenfunktionen ausgeführt werden. -
Nicht verschachteln
[ARRAYFOREACH...]; verwende Aufrufe von gleichrangigen Funktionen oder[ARRAYJOIN]. -
[COUNTMESSAGESENT;]mit demmessageId„omitted“ wird anhand der aktuell versendeten Nachrichtenvorlage ausgewertet, sodass ein Regelsatz mehrere Nachrichtenvorlagen steuern kann – die Vorschau funktioniert jedoch nur im Rahmen eines tatsächlichen Versands. -
Es gibt zwei Möglichkeiten, den Wert einer Regelbedingung festzulegen: über ein Dropdown-Menü (Attributauswahl) oder als Freitext (Tastatursymbol, festgelegter Text oder Ausdrücke), wobei im Freitextmodus die Option „Ausdruck bearbeiten“ verfügbar ist, um die Bedingung anhand eines Beispielobjekts zu testen.
-
Begriffe: Regelsatz (Regelsett), Nachrichtenfluss (meldingsflyt), Systemzugriff (systemtilgang), Berechtigung (tilgang), Objekthistorie (objekthistorikk).