eADM-engine voor regeluitdrukkingen
Overzicht
De regeluitdrukkingsengine evalueert haakjesfuncties en veldplaatshouders in eADM. Uitdrukkingen komen voor in:
|
Consument |
Typische toepassing |
|---|---|
|
Regelsets (Regelsett) |
Gebruikers, afdelingen en groepen filteren; berichtenstromen, synchronisatiestappen en machtigingen regelen |
|
Berichtsjablonen |
Dynamische ontvanger, onderwerp, tekst (HTML) |
|
Sjablonen exporteren / sjabloonstroomlijnen synchroniseren |
Toewijzing van doelattributen |
|
Klantconfiguratie |
Gebruikersnaamformule, automatische groepsnaamgeving, functiefilter |
|
Formuliersjablonen |
Koppelingen van formuliervelden |
|
Uitdrukkingsbouwer |
Voorbeeld bekijken voor een testgebruiker, afdeling of groep |
Hoe de evaluatie in zijn werk gaat
-
De engine doorzoekt de uitdrukking op
[...]tokens. -
[ARRAYFOREACH...]wordt als eerste uitgevoerd — vóór de ‘innermost-first’-doorloop — dus sjabloonplaatshouders???en???ibind per door een pipe gescheiden element. -
Anders worden eerst de binnenste haakjes verwerkt.
-
Elke functie retourneert een resultaat in platte tekst dat de haak vervangt.
-
Als er geen functies meer over zijn, blijven
[FieldName]tokens worden vervangen vanuit de huidig object (en eventueel geschiedenisrij (in berichtenstromen). -
Niet-herkende veldnamen blijven letterlijk behouden
[FieldName]in de uitvoer.
Door komma’s gescheiden lijsten (|) worden gebruikt voor gegevens met meerdere waarden — met name op het gebied van HR functies voor een gebruiker.
Fictieve gegevens die in de onderstaande voorbeelden worden gebruikt
Tenzij anders vermeld, gaan de voorbeelden uit van de klant Eksempel kommune met:
|
Object |
Kernwaarden |
|---|---|
|
Gebruiker Kari Nordmann |
Voornaam= |
|
Gebruikersposities (uitgelijnd met de buis) |
|
|
Afdeling IT (type 2) |
Id= |
|
Afdeling HR (onderdeel van IT) |
Id= |
|
Systeemrol (toegangsrecht) |
Id= |
|
Toestemming voor Kari |
SystemRoleId= |
ID’s van objecttypen (voor opzoekacties): Gebruiker=1, Afdeling=2, Groep=3, API-gebruiker=14.
Syntaxregels
-
Functies:
[NAME;arg1;arg2;...]— argumenten gescheiden door een puntkomma (;). -
Velden:
[FieldName]— waarde uit het huidige object (hoofdlettergevoelig). -
Geneste uitdrukkingen: binnenste haakjes worden eerst verwerkt, daarna de buitenste.
-
Lijstscheidingsteken: pijpje
|(verticale streep) tussen waarden — bijv.POS-01|POS-02. Typ nooit een backslash;|komt alleen voor als Markdown-escaping in bronbestanden, niet in uitdrukkingen. -
Datums in velden worden vaak opgeslagen als
dd.MM.yyyy HH:mm:ss; bij het importeren kan gebruik worden gemaakt vanyyyy-MM-dden andere gangbare formaten.
Mini-taal voor query's
Voor gebruik binnenshuis [FOREACH], [IFTHENELSE], en gevorderd [OBJECT...] filters.
|
Token |
Betekenis |
|---|---|
|
|
Gelijk |
|
|
Groter dan / kleiner dan |
|
|
Niet gelijk |
|
|
Patroonvergelijking (like) |
|
|
Waarde in lijst |
|
|
EN de volgende voorwaarde |
|
|
OF de volgende voorwaarde |
Voeg aan de gegevens het voorvoegsel toe object., system., systemrole., objectpermission., enz.
Nestelen
Eerst het binnenste veld, daarna de buitenste functie
|
Stap |
Uitdrukkingsfragment |
Besluit om |
|---|---|---|
|
1 |
|
|
|
2 |
|
|
Wordt geblokkeerd als het binnenste veld ontbreekt: [SUBSTRING;0;10;[UnknownField]] blijft ongewijzigd wanneer UnknownField bevindt zich niet op het object.
Typische machtigingsketen (van binnen naar buiten gelezen):
[REFERENCE;DisplayName;UserId;1;[REFERENCE;Manager;Id;2;[OBJECTPERMISSION;ManagerOf;SystemRoleId;501]]]
-
Toestemming → afdelings-id
2100 -
Afdeling → gebruikers-ID van de manager
-
Gebruiker → weergavenaam beheerder
[ARRAYFOREACH...] is anders: het vult een door verticale streepjes gescheiden lijst aan vóór interne functies in de sjabloon worden uitgevoerd. Gebruik ??? voor het huidige element en ???i vanwege de indexering vanaf 0. Nestelen [ARRAYFOREACH...] binnenin een andere [ARRAYFOREACH...] wordt niet ondersteund — gebruik [ARRAYJOIN] / [ARRAYPREFIX] of in plaats daarvan telefoontjes van broers en zussen.
Toegangsniveaus
|
Rol |
Wat het beïnvloedt |
|---|---|
|
Supermanager |
Voorbeeld van de Expressie-builder |
|
Bedrijfsbeheerder |
Volledige lijst met functies in de builder; |
|
Organisatiebeheerder |
Uitdrukkingen die betrekking hebben op beschermde velden in het voorbeeld |
|
Superbeheerder |
|
Automatisering (synchronisatie, berichten, exporten) voert uitdrukkingen uit met serverrechten. Een functie die in de productieomgeving werkt, kan in de uitdrukkingsbouwer voor jouw rol toch geblokkeerd zijn.
Plaatshouders voor velden
Geen functies — vervangen vanuit het huidige object (of de geschiedenisregel in gebeurtenisgestuurde berichtenstromen).
Voorbeeld: Sjabloon Hello [GivenName] [Surname] over Kari Nordmann → Hello Kari Nordmann
|
Plaatshouder |
Typische bron |
|---|---|
|
|
Naam van de persoon |
|
|
Account / e-mail |
|
|
Basisafdeling |
|
|
Datum en tijdstip van indiensttreding |
|
|
Referentie van de manager van HR |
|
|
Meerdere posities (door streepjes gescheiden) |
Alleen geschiedenis (berichtstroom na synchronisatie): [OldValue], [NewValue], [EntryType], [AttributeName], [Comment].
Functieoverzicht met voorbeelden
Elk item bevat een overzicht van de parameters, een uitgewerkt voorbeeld met voorbeeldgegevens en de verwachte uitvoer.
Datum en tijd
[NÅ] / [NOW]
Geeft de datum en tijd van de server weer.
|
Parameter |
Doel |
|---|---|
|
(geen) |
Huidige moment |
|
|
N dagen toevoegen of aftrekken |
|
Uitdrukking |
Veronderstelde serverdatum |
Uitgang |
|---|---|---|
|
|
17 juni 2026 14:30:00 |
|
|
|
17.06.2026 |
|
Gebruik: Weergave van toestemmingsstatus en relevante deadlines in sjablonen.
[DATEFORMAT;date;format]
Pakt een datumstring opnieuw in.
|
Parameter |
Doel |
|---|---|
|
|
Invoerdatum, of door een verticaal streepje gescheiden datums |
|
|
Uitvoerpatroon (bijv. |
|
Uitdrukking |
Invoer (na het omzetten van velden) |
Uitgang |
|---|---|---|
|
|
— |
|
|
|
twee data |
|
Gebruik: Exportformaten, ISO-datums in API-payloads.
[DATEDIFF;date1;date2;unit]
Het numerieke verschil tussen twee datums.
|
Parameter |
Doel |
|---|---|
|
|
Latere of eerste datum |
|
|
Eerdere datum of referentiedatum |
|
|
|
|
Uitdrukking |
Uitgang |
Betekenis |
|---|---|---|
|
|
|
77 dagen tussen de start en vandaag |
|
|
|
In dit voorbeeld: hetzelfde kalenderjaar |
Gebruik: Controles op de looptijd in regelsets, „aantal dagen tot aanvang“ in berichten.
[DAYOFYEAR;date]
|
Parameter |
Doel |
|---|---|
|
|
Datum van beoordeling |
|
Uitdrukking |
Uitgang |
|---|---|
|
|
|
Toepassing: Seizoensgebonden regels, trucs voor het boekjaar.
Tekenreeksbewerking
[SUBSTRING;start;length;text]
|
Parameter |
Doel |
|---|---|
|
|
Startindex vanaf 0 |
|
|
Aantal tekens dat moet worden overgenomen |
|
|
Bronreeks (vaak een genest veld) |
|
Uitdrukking |
Besloten |
Uitgang |
|---|---|---|
|
|
— |
|
|
|
— |
|
Gebruik: Alleen de datum uit de datum-tijdcombinatie in welkomstmails: [SUBSTRING;0;10;[Start]] → 01.04.2026.
[SPLIT;text;delimiter;index]
|
Parameter |
Doel |
|---|---|
|
|
Te splitsen tekenreeks |
|
|
Scheidingsteken (bijv. |
|
|
index van stukken beginnend bij 0, of |
|
Uitdrukking |
Uitgang |
|---|---|
|
|
|
|
|
|
Gebruik: Aanhef op basis van het veld met de samengestelde naam; kies de code voor de laatste positie.
[REPLACE;text;find;replace]
|
Parameter |
Doel |
|---|---|
|
|
Oorspronkelijke tekst |
|
|
Te vervangen deelstrings; pipe = meerdere; |
|
|
Vervangende tekst |
|
Uitdrukking |
Uitgang |
|---|---|
|
|
|
|
|
|
Gebruik: Telefoonnummers normaliseren, scheidingstekens in gebruikersnamen omwisselen.
[REPLACELIST;text;fromChars;toChars]
Teken-voor-teken-toewijzing (beide tekenlijsten moeten even lang zijn).
|
Parameter |
Doel |
|---|---|
|
|
Invoer |
|
|
Tekens die moeten worden omgezet |
|
|
Tekens die moeten worden toegewezen aan |
|
Uitdrukking |
Uitgang |
|---|---|
|
|
|
Toepassing: Correcties voor verouderde tekensets bij het importeren.
[RTRIM;text;chars] / [LTRIM;text;chars]
|
Parameter |
Doel |
|---|---|
|
|
Invoer; als deze het volgende bevat |
|
|
Teken(s) die aan het einde (RTRIM) of aan het begin (LTRIM) moeten worden verwijderd |
|
Uitdrukking |
Uitgang |
|---|---|
|
|
|
|
|
|
Gebruik: Pijplijsten opschonen na [ARRAYDIFF].
[RPAD;text;padChar;totalLength] / [LPAD;text;padChar;totalLength]
|
Parameter |
Doel |
|---|---|
|
|
Waarde invoeren |
|
|
Opvulteken |
|
|
Doelbreedte |
|
Uitdrukking |
Uitgang |
|---|---|
|
|
|
|
|
|
Toepassing: Personeelsnummers met vaste breedte bij het exporteren van bestanden.
[RIGHT;length;text]
|
Parameter |
Doel |
|---|---|
|
|
Hoeveel tekens vanaf de rechterkant |
|
|
Bron |
|
Uitdrukking |
Uitgang |
|---|---|
|
|
|
Gebruik: De laatste cijfers van het nationale identiteitsnummer in testomgevingen.
[INITIALS;text;startWord;endWord]
|
Parameter |
Doel |
|---|---|
|
|
Volledige naam of zin |
|
|
Begin van de woordenindex (0 als startpunt) |
|
|
Woordenlijst tot het einde, of |
|
Uitdrukking |
Uitgang |
|---|---|
|
|
|
|
|
|
Gebruik: Korte codes in groepsnamen of e-mailaliassen.
[PRETTIFY;text]
Hoofdletters na een spatie of koppelteken.
|
Uitdrukking |
Uitgang |
|---|---|
|
|
|
|
|
|
Gebruik: Namen in berichten weergeven wanneer HR deze in hoofdletters verstuurt.
[LOWER;text] / [UPPER;text]
|
Uitdrukking |
Uitgang |
|---|---|
|
|
|
|
|
|
Gebruik: Eerst normaliseren [CLEAN] in de regels voor gebruikersnamen.
[CLEAN;text] / [STRICTCLEAN;text] / [CNCLEAN;text]
Verwijder of vervang tekens die ongeschikt zijn voor gebruikersnamen, strikte ID’s of AD-algemene namen (CN).
|
Uitdrukking |
Typische uitvoer |
Gebruik |
|---|---|---|
|
|
|
Gebruikersnaam / uid |
|
|
CN-veilige vorm voor AD |
Groeps- of gebruikers-CN |
De exacte uitvoer hangt af van de tekenregels van de klant; test dit in de Expressie-bouwer.
[GETKEYVALUE;key;delimiter;metadata]
Leest key<delimiter>value paren binnen een door verticale streepjes gescheiden metadatastring.
|
Parameter |
Doel |
|---|---|
|
|
Zoekopdracht |
|
|
Scheidingsteken tussen sleutel en waarde (vaak |
|
|
Door komma’s gescheiden lijst van sleutel-waardetokens |
|
Uitdrukking |
|
Uitgang |
|---|---|---|
|
|
— |
|
Gebruik: Metadata voor aangepaste import op extensie-attributen.
Logica en controlestroom
[IFTHENELSE;query;thenValue;elseValue]
|
Parameter |
Doel |
|---|---|
|
|
Voorwaarde: huidig object (bijv. |
|
|
Wordt geretourneerd als de zoekopdracht overeenkomt |
|
|
Wordt geretourneerd als dit niet het geval is |
|
Context |
Uitdrukking |
Uitgang |
|---|---|---|
|
Gebruiker Kari (type 1) |
|
|
|
Afdeling IT (type 2) |
hetzelfde |
|
Gebruik: Eén sjabloon voor verschillende objecttypes.
[IFEMPTYUSE;primary;fallback;reversed]
|
Parameter |
Doel |
|---|---|
|
|
Te testen waarde |
|
|
Wordt gebruikt wanneer het primaire veld leeg is (standaard) |
|
|
Optioneel |
|
Uitdrukking |
Het verstrijken van Kari's toestemming |
Uitgang |
|---|---|---|
|
|
leeg |
|
|
|
|
|
|
|
Manager= |
`` (leeg — omgekeerd: alleen als uitwijkoptie wanneer er een manager is) |
Gebruik: Standaardtekst voor ontbrekende vervaldatum, beheerder of opmerking.
[EXISTS;value;resultIfNonEmpty]
|
Parameter |
Doel |
|---|---|
|
|
Geteste tekenreeks |
|
|
Wordt alleen geretourneerd als |
|
Uitdrukking |
Veld ‘Kari Manager’ |
Uitgang |
|---|---|---|
|
|
|
|
|
|
leeg |
`` (leeg) |
Gebruik: Geneste opzoekacties in Gate — alleen uitvoeren [REFERENCE...] wanneer [Manager] is ingesteld.
[TRANSFORM;input;mapping...]
|
Parameter |
Doel |
|---|---|
|
|
Waarde om in kaart te brengen |
|
|
Vergelijk invoer met uitvoer |
|
|
Joker als er geen sleutel overeenkomt |
|
Uitdrukking |
|
Uitgang |
|---|---|---|
|
|
— |
|
|
|
— |
|
Gebruik: HR-codes → tekst weergeven in berichten.
[CONTAINS;valueList;targetList;ifYes;ifNo]
|
Parameter |
Doel |
|---|---|
|
|
Naalden met tussensteek |
|
|
Door buizen gescheiden hooiberg |
|
|
Aantal strings dat wordt geretourneerd bij een treffer / geen treffer |
|
Uitdrukking |
Uitgang |
|---|---|
|
|
|
|
|
|
Gebruik: vertakkingen in de stijl van een regelset binnen een sjabloon.
Bewerkingen op arrays (gescheiden door vertikale streepjes)
Lijsten zien er als volgt uit: A|B|C. In veel HR-functieomschrijvingen wordt deze vorm gebruikt.
[COUNT;ignored;list]
|
Parameter |
Doel |
|---|---|
|
|
Plaatshouder (niet gebruikt) |
|
|
Door komma’s gescheiden waarden |
|
Uitdrukking |
Uitgang |
|---|---|
|
|
|
Gebruik: „Hoeveel functies heeft deze gebruiker?”
[ARRAYAPPEND;list1;list2]
|
Uitdrukking |
Uitgang |
|---|---|
|
|
|
Toepassing: Rollijsten uit twee machtigingsquery’s samenvoegen.
[ARRAYUNIQUE;list]
|
Uitdrukking |
Uitgang |
|---|---|
|
|
|
Gebruik: Verwijder dubbele afdelings-ID’s vóór het exporteren.
[ARRAYFILTER;list;allowed]
Behoudt alleen items die voorkomen in allowed.
|
Uitdrukking |
Uitgang |
|---|---|
|
|
|
Gebruik: Voeg berichttypen toe aan de witte lijst voor een bericht.
[ARRAYDIFF;current;previous]
Items in current niet in previous.
|
Context |
|
|
Uitgang |
|---|---|---|---|
|
Nieuwe functie toegevoegd |
|
|
|
|
Geen wijziging |
|
|
`` |
Gebruik: Detecteren nieuwe functie in de berichtenstroom (in combinatie met [LASTVALUE;APositionCodeId]). Waarschuwing: onbetrouwbaar als er bij één import meerdere posities veranderen.
[ARRAYJOIN;list1;list2]
Voegt twee lijsten samen op basis van de index.
|
Uitdrukking |
Uitgang |
|---|---|
|
|
|
Gebruik: Combineer parallelle kolommen voor exportregels in CSV-stijl.
[ARRAYFOREACH;array;template] / [ARRAYFOREACH;array;separator;template]
Loopt door een door komma’s gescheiden lijst. Voor elk niet-leeg element wordt vervangen door ??? met het element en ???i met zijn 0-gebaseerde index in de sjabloon, evalueert geneste [...] in het sjabloon, en voegt vervolgens de resultaten samen.
|
Parameter |
Doel |
|---|---|
|
|
Door komma’s gescheiden lijst (vaak een veld zoals |
|
|
Optionele verbindingsreeks tussen iteraties (standaard |
|
|
Tekst of geneste uitdrukking; |
|
Uitdrukking |
Kari |
Uitgang |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Lege buissegmenten zijn overgeslagen (volgens dezelfde conventie als [ARRAYUNIQUE] / [ARRAYPREFIX]).
Niet ondersteund: [ARRAYFOREACH...] genest in een andere [ARRAYFOREACH...] — de evaluatie van de uitdrukking mislukt. Gebruik twee gelijkwaardige aanroepen of [ARRAYJOIN] in plaats daarvan.
Gebruik: Geef elke positie als een aparte regel in een bericht weer; voeg voor elke eenheids-ID een voorvoegsel toe voor de export.
[ARRAYPREFIX;list;mode;text]
|
Parameter |
Doel |
|---|---|
|
|
Door vertikalekantjes gescheiden items |
|
|
|
|
|
Reeks met voor- of achtervoegsel |
|
Uitdrukking |
Uitgang |
|---|---|
|
|
|
Gebruik: Externe ID’s van naamruimten.
[ARRAYTRIM;list;delimiter;maxCount]
|
Uitdrukking |
Uitgang |
|---|---|
|
|
|
Gebruik: Alleen de eerste N posities in een overzichtsmail.
[PRUNEARRAY;list;regex;reverse]
|
Parameter |
Doel |
|---|---|
|
|
Door vertikalekantjes gescheiden items |
|
|
.NET-reguliere expressie |
|
|
|
|
Uitdrukking |
Uitgang |
|---|---|
|
|
|
|
|
|
Gebruik: Verwijder tijdelijke positiecodes uit de export.
[UNION;headers;list1;list2;...]
Voegt parallelle lijsten rij voor rij samen tot rijen met spaties of vertikale streepjes.
|
Uitdrukking |
Conceptuele output |
|---|---|
|
|
|
Toepassing: Tekstblokken met meerdere kolommen in rapporten.
Willekeurig, hash, uniekheid
[RND;min;max]
|
Parameter |
Doel |
|---|---|
|
|
Kleinste geheel getal (inclusief) |
|
|
Maximaal geheel getal (in de praktijk exclusief — controleer je bereik) |
|
Uitdrukking |
Voorbeeld van de uitvoer |
|---|---|
|
|
|
Gebruik: Ticketnummers in testsjablonen.
[STRRND;minLen;maxLen;chars]
|
Parameter |
Doel |
|---|---|
|
|
Lengtebereik |
|
|
Toegestane tekenset (leeg = standaard alfanumeriek) |
|
Uitdrukking |
Voorbeeld van de uitvoer |
|---|---|
|
|
|
Gebruik: Eenmalige codes wanneer er geen wachtwoordregel wordt toegepast.
[PASSWORD;ruleId]
|
Parameter |
Doel |
|---|---|
|
|
ID van de regel voor het genereren van wachtwoorden, geconfigureerd in eADM |
|
Uitdrukking |
Uitgang |
|---|---|
|
|
bijv. |
Gebruik: Het initiële wachtwoord in het welkomstbericht — ga hier zorgvuldig mee om.
[HASH;text]
|
Uitdrukking |
Uitvoer (voorbeeld) |
|---|---|
|
|
MD5-hexadecimale tekenreeks van 32 tekens (vast voor dezelfde invoer) |
Gebruik: Ondoorzichtige tokens in links (niet uitsluitend voor beveiligingskritische hashing).
[UNIQUE;base;fieldName;replacement]
Zorgt ervoor dat base nog niet bestaat in fieldName op een ander object; voegt toe 2, 3, … of invoegingen vóór replacement.
|
Parameter |
Doel |
|---|---|
|
|
Voorgestelde gebruikersnaam of e-mailadres |
|
|
Veld waarmee de uniekheid moet worden gecontroleerd (bijv. |
|
|
Optionele achtervoegselmarkering die door een getal moet worden vervangen |
|
Scenario |
Uitdrukking |
Uitgang |
|---|---|---|
|
|
|
|
|
|
hetzelfde |
|
Gebruik: Klantconfiguratie gebruikersnaam-uitdrukking samen met [CLEAN] / [LOWER].
Zoeken in databases en relaties
Deze lezen live eADM-gegevens voor de klant. De ID’s moeten in uw omgeving bestaan.
[REFERENCE;returnField;whereField;objectTypeId;searchValue;exactMatch]
|
Parameter |
Doel |
|---|---|
|
|
Veld(en) die moeten worden geretourneerd uit het overeenkomende object ( |
|
|
Veld waarop moet worden gezocht |
|
|
|
|
|
Te bepalen waarde |
|
|
|
|
Uitdrukking |
Oefenduel |
Uitgang |
|---|---|---|
|
|
Afdelingscode 2100 = IT |
|
|
|
Gebruikersbeheerder |
|
Gebruik: Afdelingsnummer uit de toestemming ManagerOf id:
[REFERENCE;OrgUnitnr;Id;2;2100]
[OBJECTPERMISSION;returnField;whereField;filterValue;exactMatch;aggregate]
Leest de toegangsrechten van de huidige gebruiker.
|
Parameter |
Doel |
|---|---|
|
|
Toestemmingsveld (Comment, ManagerOf, ExpiryDate, SystemRoleId, …) |
|
|
Veld waarop gefilterd moet worden |
|
|
De waarde van de wedstrijd, of |
|
|
Modus voor het vergelijken van tekenreeksen |
|
|
|
|
Uitdrukking |
Uitvoer (Kari) |
|---|---|
|
|
|
|
|
|
Afkorting voor de rolnaam:
|
Uitdrukking |
Uitgang |
|---|---|
|
|
|
[OBJECTHISTORIES;returnField;whereField;filterValue;exactMatch;aggregate]
Leest de objectgeschiedenis van de huidige gebruiker (audittrail van synchronisatie/gebruikersinterface).
|
Voorbeeldfilter |
Uitdrukking |
Typische uitvoer |
|---|---|---|
|
Laatste toestemming toegevoegd |
|
|
Gebruik: “Wie heeft deze toestemming verleend?” in berichtenstromen (vaak genest in [SPLIT] / [REFERENCE]).
[FOREACH;collection;query;returnFields;headers;format]
|
Parameter |
Doel |
|---|---|
|
|
|
|
|
Filter (bedrijfsbereik wordt automatisch toegevoegd) |
|
|
Door komma’s gescheiden velden, optioneel |
|
|
Kolomtitels voor csv/html |
|
|
|
Voorbeeld (conceptueel): Alle gebruikers met rol 501, CSV:
[FOREACH;objectpermission;SystemRoleId=501;object.DisplayName,object.Email;Name,Email;csv]
Uitvoer (dummy):
Name,Email
Kari Nordmann,kari.nordmann@eksempel.kommune.no
Ola Hansen,ola.hansen@eksempel.kommune.no
Gebruik: Managerrapport opgenomen in de tekst van de e-mail.
[DESCENDANTS;rootId;returnField;parentKey;foreignKey]
|
Parameter |
Doel |
|---|---|
|
|
Object-ID van de afdeling waarmee moet worden begonnen |
|
|
Veld dat bij elk knooppunt moet worden verzameld |
|
|
Een onderliggend veld dat naar een bovenliggend veld verwijst (bijv. |
|
|
Veld voor de identificatiecode van de bovenliggende entiteit (bijv. |
|
Start |
Boom |
Uitdrukking |
Uitgang |
|---|---|---|---|
|
IT-ID |
IT → HR |
|
|
Gebruik: Alle subafdelingen vallen onder de bevoegdheid van een manager.
[SYSTEM;type;id;field]
|
Parameter |
Doel |
|---|---|
|
|
|
|
|
Numeriek ID of |
|
|
Veldnaam(en) die moeten worden geretourneerd |
|
Uitdrukking |
Uitvoer (dummy) |
|---|---|
|
|
|
|
|
|
Gebruik: Contactgegevens van de systeemeigenaar in de beheerdersmelding.
[SELECTION;rulesetId;returnField]
|
Parameter |
Doel |
|---|---|
|
|
Regelset die per object moet worden beoordeeld |
|
|
Veld van elk object dat overeenkomt |
|
Uitdrukking |
Uitvoer (dummy) |
|---|---|
|
|
|
Gebruik: Mailinglijst van iedereen die voldoet aan de regelset „Nieuwe medewerkers“.
[AVAILABLESYSTEM;field] / [AVAILABLEROLE;systemId;field]
Geeft waarden terug, gescheiden door verticale streepjes, voor systemen of rollen die voldoen aan de regel „Beschikbaar voor ” voor de huidige gebruiker.
|
Uitdrukking |
Betekenis |
|---|---|
|
|
Namen van systemen waarvoor Kari mogelijk toegangsrechten krijgt |
|
|
Functienamen op systeem 12 waaraan zij mogelijk wordt toegewezen |
Toepassing: dynamische keuzelijsten in formulieren of berichten.
[AVAILABLEDEPARTMENTS;fields;targetUserId]
|
Parameter |
Doel |
|---|---|
|
|
Door komma’s gescheiden afdelingsvelden |
|
|
Te evalueren gebruiker; leeg = huidig object |
Gebruik: Geef een overzicht van de afdelingen die een manager kan beheren (op basis van ManagerOf, afdelings-ID’s en rollen in mega.eadm.no ).
[DATAOWNER;returnField]
Volgt de relatie tussen gegevens en eigenaar op het object; retourneert het veld van de eigenaar.
|
Uitdrukking |
Uitvoer (indien de naam van de eigenaarsgroep is opgeslagen) |
|---|---|
|
|
|
[ANTECEDANTS.SYSTEMROLE;roleId;departmentId;returnField]
Managers die in het bezit zijn van roleId op voorouder afdelingen van departmentId.
|
Uitdrukking |
Uitvoer (dummy) |
|---|---|
|
|
|
Gebruik: Escalatiemail wanneer de onderafdeling van HR geen lokale goedkeurder heeft.
[COUNTEMPLOYEE] / [COUNTMEMBERS]
Beoordeeld op basis van respectievelijk de afdeling of de groep.
|
Object |
Uitdrukking |
Uitvoer (dummy) |
|---|---|---|
|
Afdeling IT |
|
|
|
Groep „Prosjekt Alfa“ |
|
|
[GETLASTSYNCID]
|
Uitdrukking |
Uitvoer (dummy) |
|---|---|
|
|
|
Toepassing: Problemen met voetteksten in beheerdersmails oplossen.
[LASTVALUE;attributeName]
Vorige waarde van het veld uit de laatste import van de HR- geschiedenis, anders de huidige waarde van het veld.
|
Context |
Uitdrukking |
Uitgang |
|---|---|---|
|
Vóór de synchronisatie had Kari één functie |
|
|
|
Na het toevoegen van POS-02 |
|
|
Serveer bij [ARRAYDIFF;[APositionCodeId];[LASTVALUE;APositionCodeId]] → POS-02|.
Functies (HR met meerdere functies)
Velden in de positie delen de index over pipes: index 0 = eerste plaats, 1 = seconde.
[POSITION;returnField;whereField;matchValue]
|
Parameter |
Doel |
|---|---|
|
|
Veld dat moet worden geretourneerd (bijv. |
|
|
Veld om te vergelijken (bijv. |
|
|
Eenheid of code om te zoeken |
|
Uitdrukking |
Uitgang |
|---|---|
|
|
|
|
|
|
[POSITIONS;returnField;whereField;matchValue]
Hetzelfde als [POSITION] maar geeft een uitgelijnde reeks van verticale streepjes weer voor alle posities (een leeg vakje als er geen overeenkomst is).
|
Uitdrukking |
Uitgang |
|---|---|
|
|
|
[GROUPPRIMARYPOSITION;returnField]
Keuzes primair positie: hoogste APositionPercentage, beslissingswedstrijd op basis van de vroegste APositionStartDate.
|
Kari-functies |
Uitdrukking |
Uitgang |
|---|---|---|
|
100% IT, 20% HR |
|
|
[ACTIVEPOSITIONCOUNT;asOfDate]
|
Uitdrukking |
Uitgang |
|---|---|
|
|
|
Berichtenverkeer en integratie
[COUNTMESSAGESENT;messageId;fromDate]
|
Parameter |
Doel |
|---|---|
|
|
ID van het berichtsjabloon (optioneel als de workflow context biedt) |
|
|
Tel alleen verzendingen na deze datum mee (optioneel) |
|
Uitdrukking |
Uitvoer (dummy) |
|---|---|
|
|
|
Gebruik: de controle „Reeds op de hoogte gebracht?“ in de vervolgstroom.
[SYSTEMOWNER]
Hiervoor is de geschiedenisregel van de wijziging in de machtiging nodig (machtiging toevoegen/bewerken/verwijderen).
|
Context |
Uitvoer (dummy) |
|---|---|
|
Toestemming voor rol 501 toegevoegd |
|
Gebruik: eigenaar van het CC-systeem wanneer geautomatiseerde toestemming wordt verleend.
[SYNCSTEPPARAMETER;key;companySyncStepId]
|
Parameter |
Doel |
|---|---|
|
|
Naam van de parameter bij de synchronisatiestap |
|
|
ID van de stap voor klantsynchronisatie |
|
Uitdrukking |
Uitgang |
|---|---|
|
|
|
Toegang: Bedrijfsbeheerder in het voorbeeldvenster van de Expression Builder.
[APITOKEN;apiUsername]
|
Parameter |
Doel |
|---|---|
|
|
API-gebruikersnaam (objecttype 14) |
|
Uitdrukking |
Uitgang |
|---|---|
|
|
Ondoorzichtige tekenreeks van het sessietoken (kan variëren) |
Toegang: Bedrijfsbeheerder in de previewversie. Alleen gebruiken in beveiligde server-side processen.
HTML-hulpfuncties (bericht-sjablonen)
[HTMLLISTMEMBEROF;displayField]
Bij een gebruiker die lid is van een groep: geeft een overzicht van de bovenliggende groepen.
|
Uitdrukking |
Uitgang |
|---|---|
|
|
|
[HTMLLISTARRAY;list]
|
Uitdrukking |
Uitgang |
|---|---|
|
|
|
Besturingselementen voor formuliersjablonen
Wordt gebruikt in formuliersjablonen, niet in standaardregelsets.
|
Functie |
Doel |
|---|---|
|
|
Tekstinvoer gekoppeld aan het ID van het formulierveld |
|
|
Booleaanse invoer |
|
|
Uitklapmenu (vijf parameters) |
|
|
Radiogroep |
|
|
Datumkiezer |
|
|
Tekst met meerdere regels |
|
|
Actieknop |
Voorbeeldpatroon: [INPUTBOX;1042;Avdeling;IT-100;] geeft de invoer met het label „Avdeling“ standaard weer als IT-100.
Markeringen [NOTIFY...], [HIDDEN...], [SERVERFUNCTION...] zijn hooks voor formuliergedrag, geen gegevensfuncties.
End-to-end-scenario's (fictieve gegevens)
Welkomstmail — alleen startdatum
Ny ansatt [DisplayName] starter [SUBSTRING;0;10;[Start]].
Uitvoer: Ny ansatt Kari Nordmann starter 01.04.2026.
Regel betreffende het verstrijken van de toestemming
Gyldig til: [IFEMPTYUSE;[OBJECTPERMISSION;ExpiryDate;SystemRoleId;501];Permanent tilgang]
Uitvoer: Gyldig til: Permanent tilgang
Manager afwezig — doorgeven aan de manager van de bovenliggende afdeling
[IFEMPTYUSE;
[EXISTS;[Manager];];
[REFERENCE;Email;UserId;1;[REFERENCE;Manager;Id;2;[REFERENCE;ParentDepartmentNumber;DepartmentNumber;2;[DepartmentNumber]]]]]
|
Kari, manager |
Uitgang |
|---|---|
|
leeg |
|
|
set |
leeg (EXISTS-tak — pas de logica van het sjabloon aan als je het e-mailadres van de manager nodig hebt wanneer dat aanwezig is) |
Pas de combinatie van IFEMPTYUSE en EXISTS aan zodat deze overeenkomt met de bedoeling van je sjabloon; test dit in de Expressie-bouwer.
Alleen nieuwe functie — ontvanger van het bericht
Na het synchroniseren worden de volgende items toegevoegd POS-02:
[REFERENCE;Email;UserId;1;[POSITION;APositionManager;AUnitId;[RTRIM;[ARRAYDIFF;[APositionCodeId];[LASTVALUE;APositionCodeId]];|]]]
Uitvoer: E-mailadres van de manager van de afdeling waar de nieuwe functie onder valt (plaatshouder: ny-leder@eksempel.kommune.no).
Naam van de automatische beveiligingsgroep (door de klant ingesteld)
SG-[Department]-[CLEAN;[OrgUnitnr]]
Uitvoer: SG-IT og digitalisering-IT-100 (de exacte CLEAN-uitvoer kan afwijken).
Exporttoewijzing — samAccountName
[UserName]
Uitvoer: kari.nordmann
Regelset — gebruiker heeft een rol in het systeem
Uitdrukking van het regelattribuut :
[OBJECTPERMISSION.SYSTEMROLE;Name;SystemRoleId;501]
Berekende waarde: Bruker Fagsystem X — vergelijkingsoperator Er lik / exploitanten van lidmaatschappen.
Uitdrukkingsbouwer
|
Artikel |
Detail |
|---|---|
|
Waar |
De uitdrukkingsbouwer voor koptekstpictogrammen, de bewerkingsprogramma’s voor berichtensjablonen, enkele eHub-schermen |
|
Lijst met functies |
Alle objectvelden voor het geselecteerde type plus standaardfuncties |
|
Voorbeeld |
Kies een testgebruiker/afdeling/groep; hiervoor is de status ‘supermanager’ vereist |
|
Regelsets |
Automatisering → Regelsets — minimale supermanager |
Problemen oplossen
|
Symptoom |
Waarschijnlijke oorzaak |
Actie |
|---|---|---|
|
Letterlijk |
Het binnenste veld is leeg of bevat een typefout |
Nesting corrigeren; veldnamen in het object controleren |
|
Fout bij het evalueren van een uitdrukking |
Genest |
Opdeel in broer- en zus-aanroepen of gebruik |
|
Lege tekenreeks |
Geen overeenkomende ID / toestemming |
Controleer de systeemrol-ID en de systeem-ID bij systeemtoegang |
|
Verkeerde positie in de e-mail |
Er zijn in één keer meerdere functies gewijzigd |
Vertrouw niet uitsluitend op ARRAYDIFF/LASTVALUE |
|
Voorbeeld geblokkeerd |
Rol of beschermd veld |
De rol uitbreiden of de testuitdrukking vereenvoudigen |
|
Werkt in de builder, maar niet in het bericht |
De gebeurtenisstroom heeft de objectgeschiedenis uit de synchronisatie nodig |
Voer de import uit; controleer het type invoer in de geschiedenis |
Sneloverzicht
|
Categorie |
Functies |
|---|---|
|
Datum/tijd |
NÅ, NOW, DATEFORMAT, DATEDIFF, DAYOFYEAR |
|
String |
SUBSTRING, SPLIT, REPLACE, REPLACELIST, RTRIM, LTRIM, RPAD, LPAD, RIGHT, INITIALS, PRETTIFY, LOWER, UPPER, CLEAN, STRICTCLEAN, CNCLEAN, GETKEYVALUE |
|
Logica |
IFTHENELSE, IFEMPTYUSE, EXISTS, TRANSFORM, CONTAINS |
|
Arrays |
COUNT, ARRAYAPPEND, ARRAYUNIQUE, ARRAYFILTER, ARRAYDIFF, ARRAYJOIN, ARRAYFOREACH, ARRAYPREFIX, ARRAYTRIM, PRUNEARRAY, UNION |
|
Beveiliging |
HASH, WACHTWOORD, UNIEK, RND, STRRND |
|
Opzoeken |
REFERENTIE, OBJECTRECHT, OBJECTGESCHIEDENIS, VOOR ELKE, AFSTAMMERS, SYSTEEM, SELECTIE, BESCHIKBAAR SYSTEEM, BESCHIKBARE ROL, BESCHIKBARE AFDELINGEN, GEGEVENSEIGENAAR, VOORGANGERS.SYSTEEMROL, AANTAL WERKNEMERS, AANTAL LEDEN, LAATSTE SYNCHRONISATIEDATUM OPVRAGEN, LAATSTE WAARDE |
|
Functies |
POSITIE, POSITIES, GROEPSPRIMAIREPOSITIE, AANTAL ACTIEVE POSITIES |
|
Berichten |
COUNTMESSAGESENT, SYSTEMOWNER, SYNCSTEPPARAMETER, APITOKEN |
|
HTML |
HTMLLISTMEMBEROF, HTMLLISTARRAY |
|
Formulieren |
INVOERVELD, SELECTIEVAKJE, KNOP, KEUZELIJST, KIEZER, DATUMVELD, VULVAK |
Aantekeningen van de AI-assistent
-
Liever
[DisplayName]velden van het -type voordat ze in functies worden ingekapseld. -
Vraag waar de uitdrukking is opgeslagen: regelset, bericht, export of klantconfiguratie.
-
Vervang de dummy-ID's (
501,2100) met de echte systeemrol en afdeling ids uit toegang tot het systeem. -
Als je bij het importeren een filter instelt, worden overeenkomsten uitgesloten; in de regelset voor de synchronisatiestap worden overeenkomsten meegenomen.
-
Voor de gegevensstromen van gebeurtenissen is de objectgeschiedenis van een synchronisatieronde nodig.
-
Maak geneste voorbeelden binnenstebuiten — behalve
[ARRAYFOREACH...], dat zich bindt aan???per element voordat de sjabloonfuncties worden uitgevoerd. -
Niet nesten
[ARRAYFOREACH...]; gebruik aanroepen van broers en zussen of[ARRAYJOIN]. -
Termen: regelset (Regelsett), berichtenstroom (meldingsflyt), systeemtoegang (systemtilgang), toestemming (tilgang), objectgeschiedenis (objekthistorikk).