Oversigt
Regulærudtryksmotoren udfører parentesfunktioner og feltpladsholdere i eADM. Udtryk forekommer i:
|
Forbruger |
Typisk anvendelse |
|---|---|
|
Regelsæt (Regelsett) |
Filtrer brugere, afdelinger og grupper; styr meddelelsesstrømme, synkroniseringstrin og tilladelser |
|
Meddelelsesskabeloner |
Dynamisk modtager, emne, brødtekst (HTML) |
|
Eksporter skabeloner / synkroniser skabelonernes strømningslinjer |
Mappning af målattributter |
|
Kundeopsætning |
Brugernavnsformulering, automatisk gruppenavngivning, positionsfilter |
|
Formularskabeloner |
Bindinger til formularfelter |
|
Udtryksgenerator |
Vis forhåndsvisning for en testbruger, en afdeling eller en gruppe |
Sådan fungerer evalueringen
-
Motoren gennemsøger udtrykket for
[...]tokens. -
[ARRAYFOREACH...]kører først — før den inderste-først-gennemgang — så skabelonpladsholdere???og???ibind pr. element adskilt med lodret streg. -
Ellers udvurderes det inderste parentespar først.
-
Hver funktion returnerer et resultat i almindelig tekst, der erstatter parentesen.
-
Når der ikke er flere funktioner tilbage, forbliver
[FieldName]tokens erstattes fra det aktuelle objekt (og valgfrit historik-række i meddelelsesstrømme). -
Feltnavne, der ikke genkendes, forbliver som bogstavelige værdier
[FieldName]i udskriften.
Lister adskilt med kommaer (|) anvendes til data med flere værdier — især inden for HR stillinger på en bruger.
Fiktive data, der anvendes i eksemplerne nedenfor
Medmindre andet er angivet, forudsætter eksemplerne, at kunden er Eksempel kommune med:
|
Objekt |
Værdier |
|---|---|
|
Bruger Kari Nordmann |
Fornavn= |
|
Brugerpositioner (rørjusteret) |
|
|
IT -afdelingen (type 2) |
Id= |
|
HR -afdelingen (under IT) |
Id= |
|
Systemrolle (rettighed) |
Id= |
|
Tilladelse vedrørende Kari |
SystemRoleId= |
Objekttype-id’er (til opslag): Bruger=1, Afdeling=2, Gruppe=3, API-bruger=14.
Syntaksregler
-
Funktioner:
[NAME;arg1;arg2;...]— argumenter adskilt med semikolon (;). -
Felter:
[FieldName]— værdien fra det aktuelle objekt (skelner ikke mellem store og små bogstaver). -
Indlejrede udtryk: de indre parenteser udvurderes før de ydre.
-
Listeskilletegn: rørtegn
|(lodret streg) mellem værdierne — f.eks.POS-01|POS-02. Skriv aldrig en bagstreg;|forekommer kun som Markdown-escaping i kildefiler, ikke i udtryk. -
Datoer i felter gemmes ofte som
dd.MM.yyyy HH:mm:ss; importfunktioner kan brugeyyyy-MM-ddog andre almindelige formater.
Forespørgsels-minisprog
Anvendes indendørs [FOREACH], [IFTHENELSE], og avanceret [OBJECT...] filtre.
|
Token |
Betydning |
|---|---|
|
|
Lige |
|
|
Større end / mindre end |
|
|
Ikke ens |
|
|
Mønstermatch (like) |
|
|
Værdi i listen |
|
|
OG den næste betingelse |
|
|
ELLER næste betingelse |
Indsæt følgende foran dataene: object., system., systemrole., objectpermission., osv.
Rede
Først det indre felt, derefter den ydre funktion
|
Trin |
Udtryksfragment |
beslutter at |
|---|---|---|
|
1 |
|
|
|
2 |
|
|
Blokeres, hvis det indre felt mangler: [SUBSTRING;0;10;[UnknownField]] forbliver uændret, når UnknownField findes ikke på objektet.
Typisk tilladelseskæde (læses indefra og ud):
[REFERENCE;DisplayName;UserId;1;[REFERENCE;Manager;Id;2;[OBJECTPERMISSION;ManagerOf;SystemRoleId;501]]]
-
Tilladelse → afdelings-id
2100 -
Afdeling → bruger-id for leder
-
Bruger → visningsnavn for administrator
[ARRAYFOREACH...] er anderledes: den udvider en liste adskilt med lodrette streger før indre funktioner i skabelonudførelsen. Brug ??? for det aktuelle element og ???i på grund af dets 0-baserede indeks. Rede [ARRAYFOREACH...] inden i en anden [ARRAYFOREACH...] understøttes ikke — brug [ARRAYJOIN] / [ARRAYPREFIX] eller i stedet opkald fra søskende.
Adgangsniveauer
|
Rolle |
Hvad det påvirker |
|---|---|
|
Supermanager |
Forhåndsvisning af udtryksgeneratoren |
|
Virksomhedsadministrator |
Fuldstændig funktionsliste i builder; |
|
Organisationsadministrator |
Udtryk, der påvirker beskyttede felter i forhåndsvisningen |
|
Superadministrator |
|
Automatisering (synkronisering, meddelelser, eksport) udfører udtryk med serverrettigheder. En funktion, der fungerer i produktionsmiljøet, kan stadig være blokeret i udtryksbyggeren for din rolle.
Pladsholdere i felter
Ikke funktioner — erstattet fra det aktuelle objekt (eller historiklinjen i begivenhedsstyrede meddelelsesstrømme).
Eksempel: Skabelon Hello [GivenName] [Surname] om Kari Nordmann → Hello Kari Nordmann
|
Pladsholder |
Typisk kilde |
|---|---|
|
|
Personnavn |
|
|
Konto / e-mail |
|
|
Grundskolen |
|
|
Startdato og -tidspunkt for ansættelsen |
|
|
Anbefaling fra HR-afdelingen |
|
|
Flere positioner (adskilt med lodrette streger) |
Kun historik (besked vises efter synkronisering): [OldValue], [NewValue], [EntryType], [AttributeName], [Comment].
Funktionsoversigt med eksempler
Hver post indeholder en liste over parametre, et eksempel med fiktive data og det forventede resultat.
Dato og klokkeslæt
[NÅ] / [NOW]
Returnerer serverens dato og klokkeslæt.
|
Parameter |
Formål |
|---|---|
|
(ingen) |
Nuværende øjeblik |
|
|
Tilføj eller træk N dage fra |
|
Udtryk |
Antaget serverdato |
Output |
|---|---|---|
|
|
17.06.2026 kl. 14:30:00 |
|
|
|
17.06.2026 |
|
Anvendelse: Visning af tilladelsesstatus og relative frister i skabeloner.
[DATEFORMAT;date;format]
Omformaterer en datostreng.
|
Parameter |
Formål |
|---|---|
|
|
Indtast en dato eller datoer adskilt med lodrette streger |
|
|
Udgangsmønster (f.eks. |
|
Udtryk |
Indtastning (efter feltopløsning) |
Output |
|---|---|---|
|
|
— |
|
|
|
to datoer |
|
Anvendelse: Eksportformater, ISO-datoer i API-data.
[DATEDIFF;date1;date2;unit]
Den numeriske forskel mellem to datoer.
|
Parameter |
Formål |
|---|---|
|
|
Senere dato eller primær dato |
|
|
Tidligere dato eller referencedato |
|
|
|
|
Udtryk |
Output |
Betydning |
|---|---|---|
|
|
|
77 dage fra start til i dag |
|
|
|
Samme kalenderår i dette eksempel |
Anvendelse: Kontrol af ansættelsesperioder i regelsæt, »dage indtil start« i meddelelser.
[DAYOFYEAR;date]
|
Parameter |
Formål |
|---|---|
|
|
Dato for evaluering |
|
Udtryk |
Output |
|---|---|
|
|
|
Anvendelse: Sæsonbestemte regler, regnskabsårsrelaterede finesser.
Strengmanipulation
[SUBSTRING;start;length;text]
|
Parameter |
Formål |
|---|---|
|
|
Startindeks med udgangspunkt i 0 |
|
|
Antal tegn, der skal medtages |
|
|
Kildestreng (ofte et indlejret felt) |
|
Udtryk |
Beslutning |
Output |
|---|---|---|
|
|
— |
|
|
|
— |
|
Anvendelse: Kun dato fra dato og klokkeslæt i velkomstmails: [SUBSTRING;0;10;[Start]] → 01.04.2026.
[SPLIT;text;delimiter;index]
|
Parameter |
Formål |
|---|---|
|
|
Streng, der skal opdeles |
|
|
Separator (f.eks. |
|
|
0-baseret stykkeindeks, eller |
|
Udtryk |
Output |
|---|---|
|
|
|
|
|
|
Anvendelse: Hilsen fra feltet med det sammensatte navn; vælg koden for den sidste position.
[REPLACE;text;find;replace]
|
Parameter |
Formål |
|---|---|
|
|
Oprindelig tekst |
|
|
Delstreng(er), der skal erstattes; pipe = flere; |
|
|
Erstatningstekst |
|
Udtryk |
Output |
|---|---|
|
|
|
|
|
|
Anvendelse: Normalisering af telefonnumre, udskiftning af separatorer i brugernavne.
[REPLACELIST;text;fromChars;toChars]
Tegn-for-tegn-tabel (begge tegnlister skal have samme længde).
|
Parameter |
Formål |
|---|---|
|
|
Indtastning |
|
|
Tegn, der skal kortlægges fra |
|
|
Tegn, der skal tilordnes |
|
Udtryk |
Output |
|---|---|
|
|
|
Anvendelse: Rettelser af ældre tegnsæt ved import.
[RTRIM;text;chars] / [LTRIM;text;chars]
|
Parameter |
Formål |
|---|---|
|
|
Indtastning; hvis den indeholder |
|
|
Tegn, der skal fjernes fra slutningen (RTRIM) eller starten (LTRIM) |
|
Udtryk |
Output |
|---|---|
|
|
|
|
|
|
Anvendelse: Rens rørlisterne efter [ARRAYDIFF].
[RPAD;text;padChar;totalLength] / [LPAD;text;padChar;totalLength]
|
Parameter |
Formål |
|---|---|
|
|
Værdi, der skal indtastes |
|
|
Udfyld tegn |
|
|
Målbredde |
|
Udtryk |
Output |
|---|---|
|
|
|
|
|
|
Anvendelse: Medarbejdernumre med fast bredde i fileksport.
[RIGHT;length;text]
|
Parameter |
Formål |
|---|---|
|
|
Hvor mange tegn fra højre |
|
|
Kilde |
|
Udtryk |
Output |
|---|---|
|
|
|
Anvendelse: De sidste cifre i det nationale identifikationsnummer i testmiljøer.
[INITIALS;text;startWord;endWord]
|
Parameter |
Formål |
|---|---|
|
|
Fulde navn eller sætning |
|
|
Startpunkt for ordindeks (0-baseret) |
|
|
Ordliste til slutningen, eller |
|
Udtryk |
Output |
|---|---|
|
|
|
|
|
|
Anvendelse: Kortkoder i gruppenavne eller e-mail-aliaser.
[PRETTIFY;text]
Store bogstaver efter mellemrum eller bindestreg.
|
Udtryk |
Output |
|---|---|
|
|
|
|
|
|
Anvendelse: Vis navne i meddelelser, når HR skriver med store bogstaver.
[LOWER;text] / [UPPER;text]
|
Udtryk |
Output |
|---|---|
|
|
|
|
|
|
Anvendelse: Normaliser først [CLEAN] i reglerne for brugernavne.
[CLEAN;text] / [STRICTCLEAN;text] / [CNCLEAN;text]
Fjern eller udskift tegn, der ikke er tilladt i brugernavne, strenge id’er eller AD-fællesnavne (CN).
|
Udtryk |
Typisk output |
Anvendelse |
|---|---|---|
|
|
|
Brugernavn / uid |
|
|
CN-sikker formular til AD |
Gruppe- eller bruger-CN |
Det nøjagtige resultat afhænger af kundens tegnregler; test det i udtryksbyggeren.
[GETKEYVALUE;key;delimiter;metadata]
Læser key<delimiter>value par inden for en metadatestreng, der er adskilt med lodrette streger.
|
Parameter |
Formål |
|---|---|
|
|
Nøgle til at finde |
|
|
Skilletegn mellem nøgle og værdi (ofte |
|
|
Liste over nøgle-værdi-tokens adskilt med kommaer |
|
Udtryk |
|
Output |
|---|---|---|
|
|
— |
|
Anvendelse: Brugerdefinerede importmetadata for udvidelsesattributter.
Logik og kontrolflow
[IFTHENELSE;query;thenValue;elseValue]
|
Parameter |
Formål |
|---|---|
|
|
Betingelse for det aktuelle objekt (f.eks. |
|
|
Returneres, hvis forespørgslen matcher |
|
|
Returneres, hvis ikke |
|
Kontekst |
Udtryk |
Output |
|---|---|---|
|
Bruger Kari (type 1) |
|
|
|
IT-afdelingen (type 2) |
det samme |
|
Anvendelse: En enkelt skabelon til blandede objekttyper.
[IFEMPTYUSE;primary;fallback;reversed]
|
Parameter |
Formål |
|---|---|
|
|
Værdi, der skal testes |
|
|
Anvendes, når »primary« er tom (standard) |
|
|
Valgfrit |
|
Udtryk |
Karis tilladelses udløb |
Output |
|---|---|---|
|
|
tom |
|
|
|
|
|
|
|
Leder= |
`` (tom — omvendt: bruges kun som alternativ, hvis der findes en manager) |
Anvendelse: Standardtekst, hvis udløbsdato, ansvarlig eller kommentar mangler.
[EXISTS;value;resultIfNonEmpty]
|
Parameter |
Formål |
|---|---|
|
|
Testet streng |
|
|
Returneres kun, hvis |
|
Udtryk |
Feltet »Kari Manager« |
Output |
|---|---|---|
|
|
|
|
|
|
tom |
`` (tom) |
Anvendelse: Indlejrede opslag i Gate — udføres kun [REFERENCE...] når [Manager] er indstillet.
[TRANSFORM;input;mapping...]
|
Parameter |
Formål |
|---|---|
|
|
Værdi, der skal kortlægges |
|
|
Sammenlign inddata med uddata |
|
|
Jokertegn, hvis ingen nøgle matcher |
|
Udtryk |
|
Output |
|---|---|---|
|
|
— |
|
|
|
— |
|
Anvendelse: HR-koder → vis tekst i meddelelser.
[CONTAINS;valueList;targetList;ifYes;ifNo]
|
Parameter |
Formål |
|---|---|
|
|
Nåle adskilt med rør |
|
|
Høstak med rør som afgrænsning |
|
|
Strenge, der returneres ved match / ingen match |
|
Udtryk |
Output |
|---|---|
|
|
|
|
|
|
Anvendelse: Forgrening i stil med et regelsæt inden for en skabelon.
Operationer med arrays (adskilt med lodrette streger)
Lister ser sådan ud A|B|C. Mange felter i HR-stillingsbeskrivelser bruger denne form.
[COUNT;ignored;list]
|
Parameter |
Formål |
|---|---|
|
|
Pladsholder (ubrugt) |
|
|
Værdier adskilt med kommaer |
|
Udtryk |
Output |
|---|---|
|
|
|
Anvendelse: »Hvor mange stillinger har denne bruger?«
[ARRAYAPPEND;list1;list2]
|
Udtryk |
Output |
|---|---|
|
|
|
Anvendelse: Sammenføj rollelister fra to tilladelsesforespørgsler.
[ARRAYUNIQUE;list]
|
Udtryk |
Output |
|---|---|
|
|
|
Anvendelse: Fjern dubletter blandt afdelings-id’er inden eksport.
[ARRAYFILTER;list;allowed]
Bevarer kun de elementer, der forekommer i allowed.
|
Udtryk |
Output |
|---|---|
|
|
|
Anvendelse: Tilføj positionstyper til en meddelelses hvidliste.
[ARRAYDIFF;current;previous]
Varer i current ikke i previous.
|
Kontekst |
|
|
Output |
|---|---|---|---|
|
Ny stilling tilføjet |
|
|
|
|
Ingen ændringer |
|
|
`` |
Anvendelse: Registrer ny stilling i meddelelsesflowet (sammen med [LASTVALUE;APositionCodeId]). Advarsel: upålideligt, hvis flere positioner ændres i én import.
[ARRAYJOIN;list1;list2]
Sammenkæder to lister efter indeks.
|
Udtryk |
Output |
|---|---|
|
|
|
Anvendelse: Sammenlæg parallelle kolonner for at oprette eksportlinjer i CSV-format.
[ARRAYFOREACH;array;template] / [ARRAYFOREACH;array;separator;template]
Gennemløber en adskilt med komma liste. For hvert element, der ikke er tomt, erstattes ??? sammen med elementet og ???i med sin 0-baserede indeksering i skabelonen evaluerer indlejrede [...] i skabelonen og sammenkæder derefter resultaterne.
|
Parameter |
Formål |
|---|---|
|
|
Liste adskilt med kommaer (ofte et felt som |
|
|
Valgfri sammenkædningsstreng mellem iterationer (standard |
|
|
Tekst eller indlejret udtryk; |
|
Udtryk |
Kari |
Output |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Tomme rørsegmenter er sprunget over (samme konvention som [ARRAYUNIQUE] / [ARRAYPREFIX]).
Understøttes ikke: [ARRAYFOREACH...] indlejret i en anden [ARRAYFOREACH...] — udtrykket kan ikke evalueres. Brug to på hinanden følgende opkald eller [ARRAYJOIN] i stedet.
Anvendelse: Formater hver position som en separat linje i en besked; sæt et præfiks for hvert enheds-id ved eksport.
[ARRAYPREFIX;list;mode;text]
|
Parameter |
Formål |
|---|---|
|
|
Elementer adskilt med lodrette streger |
|
|
|
|
|
Præfiks- eller suffiksstreng |
|
Udtryk |
Output |
|---|---|
|
|
|
Anvendelse: Eksterne id’er i navneområdet.
[ARRAYTRIM;list;delimiter;maxCount]
|
Udtryk |
Output |
|---|---|
|
|
|
Anvendelse: Kun de første N positioner i en oversigtsmail.
[PRUNEARRAY;list;regex;reverse]
|
Parameter |
Formål |
|---|---|
|
|
Elementer adskilt med lodrette streger |
|
|
.NET-regulære udtryk |
|
|
|
|
Udtryk |
Output |
|---|---|
|
|
|
|
|
|
Anvendelse: Fjern midlertidige positionskoder fra eksporten.
[UNION;headers;list1;list2;...]
Sammenfletter parallelle lister række for række til rækker, der består af mellemrum og lodstreger.
|
Udtryk |
Konceptuelt resultat |
|---|---|
|
|
|
Anvendelse: Tekstblokke med flere kolonner i rapporter.
Tilfældighed, hash, entydighed
[RND;min;max]
|
Parameter |
Formål |
|---|---|
|
|
Mindste heltal (inklusive) |
|
|
Største heltal (i praksis eksklusivt — tjek dit interval) |
|
Udtryk |
Eksempel på udskrift |
|---|---|
|
|
|
Anvendelse: Billetnumre i testskabeloner.
[STRRND;minLen;maxLen;chars]
|
Parameter |
Formål |
|---|---|
|
|
Længdeinterval |
|
|
Tilladt tegnsæt (tom = standard: alfanumerisk) |
|
Udtryk |
Eksempel på udskrift |
|---|---|
|
|
|
Anvendelse: Engangskoder, når der ikke anvendes en adgangskoderegel.
[PASSWORD;ruleId]
|
Parameter |
Formål |
|---|---|
|
|
ID for den regel til generering af adgangskoder, der er konfigureret i eADM |
|
Udtryk |
Output |
|---|---|
|
|
f.eks. |
Anvendelse: Indledende adgangskode i velkomstbeskeden — skal håndteres sikkert.
[HASH;text]
|
Udtryk |
Resultat (eksempel) |
|---|---|
|
|
MD5-heksadecimalstreng på 32 tegn (giver altid det samme resultat for samme indtastning) |
Anvendelse: Uigennemsigtige tokens i links (ikke udelukkende til sikkerhedskritisk hashing).
[UNIQUE;base;fieldName;replacement]
Sikrer base findes ikke allerede i fieldName på et andet objekt; tilføjer 2, 3, … eller indsætninger før replacement.
|
Parameter |
Formål |
|---|---|
|
|
Foreslået brugernavn eller e-mailadresse |
|
|
Felt, der skal kontrolleres for entydighed i forhold til (f.eks. |
|
|
Valgfri suffiksmarkør, der skal erstattes med et tal |
|
Scenarie |
Udtryk |
Output |
|---|---|---|
|
|
|
|
|
|
det samme |
|
Anvendelse: Kundeopsætning udtryk for brugernavn sammen med [CLEAN] / [LOWER].
Databaseopslag og relationer
Disse læser live eADM-data for kunden. ID’erne skal findes i dit miljø.
[REFERENCE;returnField;whereField;objectTypeId;searchValue;exactMatch]
|
Parameter |
Formål |
|---|---|
|
|
Felt(er), der skal returneres fra det matchede objekt ( |
|
|
Felt, der skal matches på |
|
|
|
|
|
Værdi, der skal findes |
|
|
|
|
Udtryk |
Venskabskamp |
Output |
|---|---|---|
|
|
Afdelings-id 2100 = IT |
|
|
|
Brugeradministrator |
|
Anvendelse: Afdelingsnummer fra tilladelsen ManagerOf id:
[REFERENCE;OrgUnitnr;Id;2;2100]
[OBJECTPERMISSION;returnField;whereField;filterValue;exactMatch;aggregate]
Læser tilladelser for den aktuelle bruger.
|
Parameter |
Formål |
|---|---|
|
|
Tilladelsesfelt (Comment, ManagerOf, ExpiryDate, SystemRoleId, …) |
|
|
Felt, der skal bruges til filtrering |
|
|
Matchværdi, eller |
|
|
Tegnstrengssammenligningsfunktion |
|
|
|
|
Udtryk |
Output (Kari) |
|---|---|
|
|
|
|
|
|
Forkortelse for rollenavn:
|
Udtryk |
Output |
|---|---|
|
|
|
[OBJECTHISTORIES;returnField;whereField;filterValue;exactMatch;aggregate]
Henter objektets historik for den aktuelle bruger (logspor fra synkronisering/brugergrænseflade).
|
Eksempel på filter |
Udtryk |
Typisk output |
|---|---|---|
|
Seneste tilføjelse af tilladelse |
|
|
Anvendelse: "Hvem har tildelt denne tilladelse?" i meddelelsesforløb (ofte indlejret i [SPLIT] / [REFERENCE]).
[FOREACH;collection;query;returnFields;headers;format]
|
Parameter |
Formål |
|---|---|
|
|
|
|
|
Filter (virksomhedsomfang tilføjes automatisk) |
|
|
Felter adskilt med kommaer, valgfrit |
|
|
Kolonneoverskrifter til CSV/HTML |
|
|
|
Eksempel (konceptuelt): Alle brugere med rolle 501, CSV:
[FOREACH;objectpermission;SystemRoleId=501;object.DisplayName,object.Email;Name,Email;csv]
Output (dummy):
Name,Email
Kari Nordmann,kari.nordmann@eksempel.kommune.no
Ola Hansen,ola.hansen@eksempel.kommune.no
Anvendelse: Ledelsesrapport indlejret i e-mailens brødtekst.
[DESCENDANTS;rootId;returnField;parentKey;foreignKey]
|
Parameter |
Formål |
|---|---|
|
|
Afdelingsobjekt-id, der skal bruges som udgangspunkt |
|
|
Felt, der skal indsamles fra hver node |
|
|
Underfelt, der peger på overordnet felt (f.eks. |
|
|
Felt til forældreidentifikator (f.eks. |
|
Start |
Træ |
Udtryk |
Output |
|---|---|---|---|
|
IT-id |
IT → HR |
|
|
Anvendelse: Alle underafdelinger, der er omfattet af en leders tilladelse.
[SYSTEM;type;id;field]
|
Parameter |
Formål |
|---|---|
|
|
|
|
|
Numerisk id eller |
|
|
Feltnavn(e), der skal returneres |
|
Udtryk |
Output (dummy) |
|---|---|
|
|
|
|
|
|
Anvendelse: Kontaktoplysninger på systemejeren i administratorbeskeden.
[SELECTION;rulesetId;returnField]
|
Parameter |
Formål |
|---|---|
|
|
Regelsæt, der skal vurderes for hvert enkelt objekt |
|
|
Felt fra hvert objekt, der matcher |
|
Udtryk |
Output (dummy) |
|---|---|
|
|
|
Anvendelse: Mailingliste over alle, der opfylder regelsættet »Nye medarbejdere«.
[AVAILABLESYSTEM;field] / [AVAILABLEROLE;systemId;field]
Returnerer værdier adskilt med lodrette streger for systemer eller roller, der opfylder regelsættet »Tilgængelig for« for den aktuelle bruger.
|
Udtryk |
Betydning |
|---|---|
|
|
Navne på systemer, som Kari kan få adgang til |
|
|
Rollenavne på system 12, som hun kan blive tildelt |
Anvendelse: Dynamiske udvælgelseslister i formularer eller meddelelser.
[AVAILABLEDEPARTMENTS;fields;targetUserId]
|
Parameter |
Formål |
|---|---|
|
|
Afdelingsfelter adskilt med kommaer |
|
|
Bruger skal vurdere; tom = det aktuelle objekt |
Anvendelse: Viser de afdelinger, som en leder kan administrere (fra ManagerOf, enheds-id’er, mega.eadm.no-roller ).
[DATAOWNER;returnField]
Følger data-ejer-relationen på objektet; returnerer feltet fra ejeren.
|
Udtryk |
Udskrift (hvis navnet på ejergruppen er gemt) |
|---|---|
|
|
|
[ANTECEDANTS.SYSTEMROLE;roleId;departmentId;returnField]
Ledere, der besidder roleId på forfader afdelinger under departmentId.
|
Udtryk |
Output (dummy) |
|---|---|
|
|
|
Anvendelse: Eskaleringsmail, når en underafdeling under HR ikke har en lokal godkendende person.
[COUNTEMPLOYEE] / [COUNTMEMBERS]
Vurderes henholdsvis på afdelings- eller gruppeniveau.
|
Objekt |
Udtryk |
Output (dummy) |
|---|---|---|
|
IT-afdelingen |
|
|
|
Gruppen »Prosjekt Alfa« |
|
|
[GETLASTSYNCID]
|
Udtryk |
Output (dummy) |
|---|---|
|
|
|
Anvendelse: Fejlfinding i sidefødder i administrator-e-mails.
[LASTVALUE;attributeName]
Den tidligere værdi for feltet fra den seneste import af HR- historik, ellers den aktuelle værdi for feltet.
|
Kontekst |
Udtryk |
Output |
|---|---|---|
|
Før synkroniseringen havde Kari én stilling |
|
|
|
Efter tilføjelse af POS-02 |
|
|
Serveres sammen med [ARRAYDIFF;[APositionCodeId];[LASTVALUE;APositionCodeId]] → POS-02|.
Stillinger (HR med flere stillinger)
Feltpositioner deler indeks på tværs af rør: indeks 0 = første plads, 1 = sekund.
[POSITION;returnField;whereField;matchValue]
|
Parameter |
Formål |
|---|---|
|
|
Felt, der skal returneres (f.eks. |
|
|
Felt, der skal matches (f.eks. |
|
|
Enhed eller kode, der skal søges efter |
|
Udtryk |
Output |
|---|---|
|
|
|
|
|
|
[POSITIONS;returnField;whereField;matchValue]
Det samme som [POSITION] men returnerer en sammenhængende række af tegn på tværs af alle positioner (et tomt felt, hvor der ikke er noget match).
|
Udtryk |
Output |
|---|---|
|
|
|
[GROUPPRIMARYPOSITION;returnField]
Valg primær placering: øverst APositionPercentage, tie-break efter tidligste APositionStartDate.
|
Kari-stillinger |
Udtryk |
Output |
|---|---|---|
|
100 % IT, 20 % HR |
|
|
[ACTIVEPOSITIONCOUNT;asOfDate]
|
Udtryk |
Output |
|---|---|
|
|
|
Meddelelser og integration
[COUNTMESSAGESENT;messageId;fromDate]
|
Parameter |
Formål |
|---|---|
|
|
Meddelelsesskabelon-id. Valgfrit — hvis det udelades (svarer til |
|
|
Medregn kun afsendelser efter denne dato (valgfrit) |
|
Udtryk |
Output (dummy) |
|---|---|
|
|
|
Udeladt messageId: Hvis id'et for meddelelsesskabelonen ikke er angivet ([COUNTMESSAGESENT;] er lig med 0), udtrykket udregnes i sammenhæng med den meddelelsesskabelon, hvis afsendelse udløste regelsættet. Med andre ord betyder det »er den meddelelse, der netop nu sendes, allerede blevet sendt til denne modtager?«, og ikke noget bestemt skabelon-id. Derfor kan det samme regelsæt genbruges som beskyttelse mod dobbeltudsendelse for flere forskellige meddelelsesskabeloner, i stedet for at man skal oprette et separat regelsæt for hver enkelt skabelon.
Advarsel: Forhåndsvisning af regelsættet i udtryksgeneratoren fungerer ikke, når messageId udelades, fordi der uden for en egentlig afsendelse af en besked ikke er nogen udløsende beskedskabelon, der kan levere denne kontekst.
Anvendelse: »Er der allerede sendt en besked?«-kontrol i opfølgningsforløbet; fælles kontrol mod dobbeltudsendelse på tværs af flere meddelelsesskabeloner.
[SYSTEMOWNER]
Kræver en historikpost fra en ændring af tilladelsen (tilladelse til at tilføje/redigere/slette).
|
Kontekst |
Output (dummy) |
|---|---|
|
Tilladelse til rolle 501 tilføjet |
|
Anvendelse: CC-systemejer, når der gives automatisk tilladelse.
[SYNCSTEPPARAMETER;key;companySyncStepId]
|
Parameter |
Formål |
|---|---|
|
|
Parameternavn i synkroniseringstrinnet |
|
|
Instans-id for kundesynkroniseringstrin |
|
Udtryk |
Output |
|---|---|
|
|
|
Adgang: Virksomhedsadministrator i forhåndsvisning af udtryksbyggeren.
[APITOKEN;apiUsername]
|
Parameter |
Formål |
|---|---|
|
|
API-brugerens login-navn (objekttype 14) |
|
Udtryk |
Output |
|---|---|
|
|
Uigennemsigtig streng med sessionstoken (varierer) |
Adgang: Virksomhedsadministrator i forhåndsvisning. Må kun bruges i sikrede serverbaserede arbejdsgange.
HTML-hjælpefunktioner (meddelelsesskabeloner)
[HTMLLISTMEMBEROF;displayField]
For en bruger, der er medlem af en gruppe: viser overordnede grupper.
|
Udtryk |
Output |
|---|---|
|
|
|
[HTMLLISTARRAY;list]
|
Udtryk |
Output |
|---|---|
|
|
|
Kontrolelementer i formularskabeloner
Anvendes i formularskabeloner, ikke i standardregelsæt.
|
Funktion |
Formål |
|---|---|
|
|
Tekstindtastning knyttet til formularfeltets id |
|
|
Boolsk indgang |
|
|
Rullemenu (fem parametre) |
|
|
Radiogruppe |
|
|
Dato-vælger |
|
|
Tekst på flere linjer |
|
|
Handlingsknap |
Eksempel på mønster: [INPUTBOX;1042;Avdeling;IT-100;] viser indtastningen med betegnelsen »Avdeling«, hvor standardværdien er IT-100.
Markører [NOTIFY...], [HIDDEN...], [SERVERFUNCTION...] er adfærdshooks, ikke datafunktioner.
End-to-end-scenarier (fiktive data)
Velkomstmail — kun startdato
Ny ansatt [DisplayName] starter [SUBSTRING;0;10;[Start]].
Resultat: Ny ansatt Kari Nordmann starter 01.04.2026.
Linje om udløb af tilladelse
Gyldig til: [IFEMPTYUSE;[OBJECTPERMISSION;ExpiryDate;SystemRoleId;501];Permanent tilgang]
Resultat: Gyldig til: Permanent tilgang
Lederen er fraværende — eskaler sagen til lederen i den overordnede afdeling
[IFEMPTYUSE;
[EXISTS;[Manager];];
[REFERENCE;Email;UserId;1;[REFERENCE;Manager;Id;2;[REFERENCE;ParentDepartmentNumber;DepartmentNumber;2;[DepartmentNumber]]]]]
|
Kari, leder |
Output |
|---|---|
|
tom |
|
|
sæt |
tom (EXISTS-gren — tilpas skabelonlogikken, hvis du har brug for lederens e-mailadresse, når den er angivet) |
Juster kombinationen af IFEMPTYUSE og EXISTS, så den passer til formålet med din skabelon; test den i udtryksbyggeren.
Kun ny stilling — modtager af meddelelsen
Efter synkronisering tilføjes POS-02:
[REFERENCE;Email;UserId;1;[POSITION;APositionManager;AUnitId;[RTRIM;[ARRAYDIFF;[APositionCodeId];[LASTVALUE;APositionCodeId]];|]]]
Resultat: E-mail-adresse til lederen for den nye stillings afdeling (fiktiv: ny-leder@eksempel.kommune.no).
Navn på autosikkerhedsgruppe (kundeopsætning)
SG-[Department]-[CLEAN;[OrgUnitnr]]
Resultat: SG-IT og digitalisering-IT-100 (det nøjagtige CLEAN-output kan variere).
Eksportkortlægning — samAccountName
[UserName]
Resultat: kari.nordmann
Regelsæt — brugeren har en rolle i systemet
Regelattributudtryk :
[OBJECTPERMISSION.SYSTEMROLE;Name;SystemRoleId;501]
Beregnet værdi: Bruker Fagsystem X — sammenligningsoperatør Er lig / medlemsudbydere.
Udtryksgenerator
|
Vare |
Detaljer |
|---|---|
|
Hvor |
Udtryksgenerator til overskriftsikoner, redigeringsværktøjer til meddelelsesskabeloner, visse eHub-skærmbilleder |
|
Funktionsoversigt |
Alle objektfelter for den valgte type samt standardfunktioner |
|
Forhåndsvisning |
Vælg testbruger/afdeling/gruppe; kræver superadministratorrettigheder |
|
Regelsæt |
Automatisering → Regelsæt — minimum supermanager |
To indtastningsmåder for værdien af en regelbetingelse
Hver betingelseslinje under fanen »Regler« i et regelsæt har et felt kald et »Attribut« (eller »Argument«) med to små ikoner, der skifter mellem indtastningsmodus:
-
Dropdown-tilstand (ikonet med op-/ned-pile) — standardindstillingen. Viser en dropdown-liste med objektets attributværdier, som kan søges i, grupperet efter type (bruger-, gruppe-, afdelings- eller formularattributter, afhængigt af hvad regelsættet bruges sammen med).
-
Fri tekst-tilstand (tastaturikon) — ændrer feltet til et almindeligt tekstfelt. Brug dette til at indtaste fastkodet tekst eller et funktionsudtryk ved hjælp af den parentes-syntaks, der er beskrevet tidligere i denne artikel, f.eks.
[COUNTMESSAGESENT;7166].
I friteksttilstand er der stadig autofuldførelse: Når man skriver en del af et funktions- eller feltnavn (f.eks. [count) overflader, der har fælles egenskaber og funktioner, såsom [COUNTEMPLOYEE], [COUNTMEMBERS], og [COUNTMESSAGESENT;message id].
Test af et udtryk med »Rediger udtryk«
Når et betingelsesfelt er i friteksttilstand, kan man ved at klikke på et ekstra ikon ved siden af det åbne dialogboksen »Rediger udtryk «. Brug den til at afprøve et funktionsudtryk på et konkret objekt, inden reglen gemmes.
I dialogboksen vises følgende:
-
Objekttype — regelsættets primære objekttype (f.eks. Bruger) og hvilke sekundære kontekster der er tilgængelige (Funktion, Funktionsalias, Begivenhed, Historik).
-
Kontekst — et testobjekt, der skal bruges til evalueringen. Brug »Søg« til at vælge et bestemt objekt, eller vælg »Vælg tilfældigt«, så eADM vælger et.
-
Udtryk — et redigerbart tekstfelt, der er forudfyldt med betingelsens aktuelle udtryk.
-
Resultat — det evaluerede resultat, der vises, når man klikker på »Udfør«.
Når du redigerer, vises der en hjælpetip, når du holder markøren over en funktion i udtrykket. Den indeholder funktionens fulde syntaks, en kort beskrivelse og betydningen af hver parameter. Hjælpetipet fremhæver hele udtrykket i grønt og viser den del, der svarer til den aktuelle markørposition, med fed skrift, hvilket gør det betydeligt nemmere at finde rundt i lange eller dybt indlejrede udtryk.
Bemærk: Ligesom det generelt er tilfældet med udtryksgeneratoren, kræver det administratorrettigheder at teste et udtryk i »Rediger udtryk« (se »Adgangsniveauer« ovenfor).
Fejlfinding
|
Symptom |
Sandsynlig årsag |
Handling |
|---|---|---|
|
Bogstaveligt |
Indre felt er tomt eller indeholder en stavefejl |
Rettelse af indlejring; kontrol af feltnavne på objektet |
|
Fejl ved udtryksberegning |
Indlejret |
Opdel i søskendeopkald eller brug |
|
Tom streng |
Intet matchende id / tilladelse |
Bekræft systemrolle-id og system-id i systemadgangen |
|
Forkert placering i e-mailen |
Flere stillinger blev ændret på én gang |
Stol ikke udelukkende på ARRAYDIFF/LASTVALUE |
|
Forhåndsvisning blokeret |
Rolle eller beskyttet felt |
Udvid rollen eller forenkle testudtrykket |
|
Fungerer i Builder, men ikke i Message |
Begivenhedsforløbet kræver objekthistorik fra synkroniseringen |
Udfør import; kontroller posttypen i historikken |
|
Preview kører ikke / går ned uden at vise nogen fejlmeddelelse |
|
Forventet — konteksten for den udløsende meddelelsesskabelon findes kun under en faktisk afsendelse. Test den omgivende logik uden denne betingelse, eller angiv midlertidigt en reel |
Hurtigoversigt
|
Kategori |
Funktioner |
|---|---|
|
Dato/klokkeslæt |
NÅ, NOW, DATEFORMAT, DATEDIFF, DAYOFYEAR |
|
Streng |
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 |
|
Sikkerhed |
HASH, PASSWORD, UNIQUE, RND, STRRND |
|
Opslag |
REFERENCE, OBJECTPERMISSION, OBJECTHISTORIES, FOREACH, DESCENDANTS, SYSTEM, SELECTION, AVAILABLESYSTEM, AVAILABLEROLE, AVAILABLEDEPARTMENTS, DATAOWNER, ANTECEDANTS.SYSTEMROLE, COUNTEMPLOYEE, COUNTMEMBERS, GETLASTSYNCID, LASTVALUE |
|
Stillinger |
POSITION, POSITIONER, GRUPPENS PRIMÆRE POSITION, ANTAL AKTIVE POSITIONER |
|
Beskeder |
COUNTMESSAGESENT, SYSTEMOWNER, SYNCSTEPPARAMETER, APITOKEN |
|
HTML |
HTMLLISTMEMBEROF, HTMLLISTARRAY |
|
Formularer |
INPUTBOX, CHECKBOX, BUTTON, LISTBOX, RADIO, DATEBOX, AREABOX |
Noter om AI-assistenten
-
Foretrækker
[DisplayName]-felter, inden de indsættes i funktioner. -
Spørg, hvor udtrykket findes: regelsæt, besked, eksport eller kundeopsætning.
-
Erstat fiktive id’er (
501,2100) med kundens rigtige systemrolle og afdeling id'er fra systemadgang. -
Filtrering ved import udelukker resultater, der matcher; regelsættet for synkroniseringstrinnet inkluderer resultater, der matcher.
-
Begivenhedsmeddelelsesforløb kræver objekthistorik fra en synkroniseringskørsel.
-
Opret indlejrede eksempler indefra og ud — bortset fra
[ARRAYFOREACH...], som binder???pr. element, inden skabelonfunktionerne udføres. -
Undgå indlejring
[ARRAYFOREACH...]; brug søskendeopkald eller[ARRAYJOIN]. -
[COUNTMESSAGESENT;]med denmessageId»omitted« vurderes i forhold til den meddelelsesskabelon, der netop sendes, så ét regelsæt kan styre flere meddelelsesskabeloner — men forhåndsvisningen fungerer ikke uden for en egentlig afsendelse. -
Der er to måder at indstille værdien for en regelbetingelse på: rullemenu (attributvælger) eller fritekst (tastaturikon, fastkodet tekst eller udtryk), hvor funkt ionen »Rediger udtryk« er tilgængelig i friteksttilstand, så man kan teste udtrykket mod et eksempelobjekt.
-
Begreber: regelsæt (Regelsett), meddelelsesflow (meldingsflyt), systemadgang (systemtilgang), tilladelse (tilgang), objekthistorik (objekthistorikk).