Oversikt
Regeluttrykkmotoren utfører parentesfunksjoner og feltplassholdere i eADM. Uttrykk forekommer i:
|
Forbruker |
Typisk bruk |
|---|---|
|
Regelsett (Regelsett) |
Filtrer brukere, avdelinger og grupper; reguler meldingsflyt, synkroniseringstrinn og rettigheter |
|
Meldingsmaler |
Dynamisk mottaker, emne, brødtekst (HTML) |
|
Eksporter maler / synkroniser malenes flytlinjer |
Tilordning av målattributter |
|
Kundeoppsett |
Uttrykk for brukernavn, automatisk navngiving av grupper, posisjonsfilter |
|
Skjemaer |
Bindinger til skjemafelt |
|
Uttrykksgenerator |
Forhåndsvisning for en testbruker, en avdeling eller en gruppe |
Slik fungerer evalueringen
-
Motoren søker etter uttrykket
[...]tokens. -
[ARRAYFOREACH...]kjører først — før «innermost-first»-gjennomgangen — så malplassholdere???og???ibind per element adskilt med vertikalt strek. -
Ellers tolkes det innerste parentesparet først.
-
Hver funksjon returnerer et resultat i ren tekst som erstatter parentesen.
-
Når det ikke er flere funksjoner igjen, gjenstår
[FieldName]tokens erstattes fra nåværende objekt (og valgfritt historikk-rad i meldingsflyt). -
Feltnavn som ikke gjenkjennes, beholdes som bokstavelige uttrykk
[FieldName]i utdataene.
Lister adskilt med pipe-tegn (|) brukes til data med flere verdier — spesielt innen HR stillinger på en bruker.
Eksempeldata brukt i eksemplene nedenfor
Med mindre annet er angitt, forutsetter eksemplene at kunden er Eksempel kommune med:
|
Objekt |
Kjerneverdier |
|---|---|
|
Bruker Kari Nordmann |
Fornavn= |
|
Brukerposisjoner (rørjustert) |
|
|
IT -avdelingen (type 2) |
Id= |
|
Avdeling HR (underavdeling av IT) |
Id= |
|
Systemrolle (rettighet) |
Id= |
|
Rettighet for Kari |
SystemRoleId= |
Objekttype-ID-er (for oppslag): Bruker=1, Avdeling=2, Gruppe=3, API-bruker=14.
Syntakskonvensjoner
-
Funksjoner:
[NAME;arg1;arg2;...]— argumenter atskilt med semikolon (;). -
Felt:
[FieldName]— verdien fra det aktuelle objektet (skiller ikke mellom store og små bokstaver). -
Innebygde uttrykk: de indre parentesene tolkes før de ytre.
-
Listeskilletegn: rørtegn
|(vertikal strek) mellom verdiene — f.eks.POS-01|POS-02. Skriv aldri en tilbakeslag;|forekommer kun som Markdown-escaping i kildefilene, ikke i uttrykk. -
Datoer i felter lagres ofte som
dd.MM.yyyy HH:mm:ss; import kan brukeyyyy-MM-ddog andre vanlige formater.
Spørsmålsspråk
Brukes innendørs [FOREACH], [IFTHENELSE], og avansert [OBJECT...] filtre.
|
Token |
Betydning |
|---|---|
|
|
Lik |
|
|
Større enn / mindre enn |
|
|
Ikke lik |
|
|
Mønsteravstemming (like) |
|
|
Verdi i listen |
|
|
OG neste betingelse |
|
|
ELLER neste betingelse |
Sett følgende foran dataene: object., system., systemrole., objectpermission., osv.
Reirbygging
Først det indre feltet, deretter den ytre funksjonen
|
Trinn |
Uttrykksfragment |
vedtar å |
|---|---|---|
|
1 |
|
|
|
2 |
|
|
Blokkeres hvis det indre feltet mangler: [SUBSTRING;0;10;[UnknownField]] forblir uendret når UnknownField finnes ikke på objektet.
Typisk Rettighetskjede (leses fra innsiden og ut):
[REFERENCE;DisplayName;UserId;1;[REFERENCE;Manager;Id;2;[OBJECTPERMISSION;ManagerOf;SystemRoleId;501]]]
-
Rettighet → avdelings-ID
2100 -
Avdeling → bruker-ID for leder
-
Bruker → visningsnavn for leder
[ARRAYFOREACH...] er annerledes: den utvider en liste med skilletegn som er rørtegn før indre funksjoner i malen. Bruk ??? for det aktuelle elementet og ???i på grunn av den 0-baserte indekseringen. Reirbygging [ARRAYFOREACH...] inne i en annen [ARRAYFOREACH...] støttes ikke — bruk [ARRAYJOIN] / [ARRAYPREFIX] eller i stedet ringe søsknene sine.
Tilgangsnivåer
|
Rolle |
Hva det påvirker |
|---|---|
|
Supermanager |
Forhåndsvisning av uttrykksbyggeren |
|
Selskapsadministrator |
Fullstendig funksjonsliste i byggverktøyet; |
|
Organisasjonsadministrator |
Uttrykk som berører beskyttede felt i forhåndsvisningen |
|
Superadministrator |
|
Automatisering (synkronisering, meldinger, eksport) utfører uttrykk med serverrettigheter. En funksjon som fungerer i produksjonsmiljøet, kan likevel være blokkert i uttrykksbyggeren for din rolle.
Plassholdere for felt
Ikke funksjoner — erstattet fra det gjeldende objektet (eller historikkraden i hendelsesdrevne meldingsstrømmer).
Eksempel: Mal Hello [GivenName] [Surname] om Kari Nordmann → Hello Kari Nordmann
|
Plassholder |
Typisk kilde |
|---|---|
|
|
Personnavn |
|
|
Konto / e-post |
|
|
Grunnskoleavdelingen |
|
|
Startdato og -klokkeslett for ansettelsen |
|
|
Referanse fra personalavdelingen |
|
|
Flere posisjoner (adskilt med rør) |
Kun historikk (meldinger vises etter synkronisering): [OldValue], [NewValue], [EntryType], [AttributeName], [Comment].
Funksjonsoversikt med eksempler
Hver oppføring inneholder parametere, et eksempel med testdata og forventet resultat.
Dato og klokkeslett
[NÅ] / [NOW]
Returnerer dato og klokkeslett på serveren.
|
Parameter |
Formål |
|---|---|
|
(ingen) |
Nåværende øyeblikk |
|
|
Legg til eller trekk fra N dager |
|
Uttrykk |
Antatt serverdato |
Produksjon |
|---|---|---|
|
|
17.06.2026 14:30:00 |
|
|
|
17.06.2026 |
|
Bruk: Visning av Rettighetsstart og relative frister i maler.
[DATEFORMAT;date;format]
Omformaterer en datostreng.
|
Parameter |
Formål |
|---|---|
|
|
Inntast dato, eller datoer atskilt med vertikalstreker |
|
|
Utgangsmønster (f.eks. |
|
Uttrykk |
Inndata (etter feltoppløsning) |
Produksjon |
|---|---|---|
|
|
— |
|
|
|
to datoer |
|
Bruk: Eksportformater, ISO-datoer i API-data.
[DATEDIFF;date1;date2;unit]
Numerisk forskjell mellom to datoer.
|
Parameter |
Formål |
|---|---|
|
|
Senere dato eller primær dato |
|
|
Tidligere eller referansedato |
|
|
|
|
Uttrykk |
Produksjon |
Betydning |
|---|---|---|
|
|
|
77 dager fra start til i dag |
|
|
|
Samme kalenderår i dette eksemplet |
Bruk: Kontroll av ansettelsestid i regelsett, «dager til oppstart» i meldinger.
[DAYOFYEAR;date]
|
Parameter |
Formål |
|---|---|
|
|
Dato for vurdering |
|
Uttrykk |
Produksjon |
|---|---|
|
|
|
Bruk: Sesongbaserte regler, triks for regnskapsperioden.
Strengmanipulering
[SUBSTRING;start;length;text]
|
Parameter |
Formål |
|---|---|
|
|
Startindeks med utgangspunkt i 0 |
|
|
Antall tegn som skal tas med |
|
|
Kildestreng (ofte et nestet felt) |
|
Uttrykk |
Vedtatt |
Produksjon |
|---|---|---|
|
|
— |
|
|
|
— |
|
Bruk: Bare dato fra dato og klokkeslett i velkomstmeldinger: [SUBSTRING;0;10;[Start]] → 01.04.2026.
[SPLIT;text;delimiter;index]
|
Parameter |
Formål |
|---|---|
|
|
Streng som skal deles |
|
|
Skilletegn (f.eks. |
|
|
0-basert stykkeindeks, eller |
|
Uttrykk |
Produksjon |
|---|---|
|
|
|
|
|
|
Bruk: Hilsen fra feltet for sammensatt navn; velg koden for siste posisjon.
[REPLACE;text;find;replace]
|
Parameter |
Formål |
|---|---|
|
|
Opprinnelig tekst |
|
|
Delstreng(er) som skal erstattes; pipe = flere; |
|
|
Erstatningstekst |
|
Uttrykk |
Produksjon |
|---|---|
|
|
|
|
|
|
Bruk: Normaliser telefonnumre, bytt om skilletegn i brukernavn.
[REPLACELIST;text;fromChars;toChars]
Tegn-for-tegn-tilordning (begge tegnlistene må ha samme lengde).
|
Parameter |
Formål |
|---|---|
|
|
Inndata |
|
|
Tegn som skal tilordnes |
|
|
Tegn som skal tilordnes |
|
Uttrykk |
Produksjon |
|---|---|
|
|
|
Bruk: Rettelser av eldre tegnsett ved import.
[RTRIM;text;chars] / [LTRIM;text;chars]
|
Parameter |
Formål |
|---|---|
|
|
Inndata; hvis den inneholder |
|
|
Tegn som skal fjernes fra slutten (RTRIM) eller begynnelsen (LTRIM) |
|
Uttrykk |
Produksjon |
|---|---|
|
|
|
|
|
|
Bruk: Rydd opp i rørlistene etter [ARRAYDIFF].
[RPAD;text;padChar;totalLength] / [LPAD;text;padChar;totalLength]
|
Parameter |
Formål |
|---|---|
|
|
Verdi som skal legges til |
|
|
Fyll-tegn |
|
|
Målbredde |
|
Uttrykk |
Produksjon |
|---|---|
|
|
|
|
|
|
Bruk: Ansattnumre med fast bredde i filutførsler.
[RIGHT;length;text]
|
Parameter |
Formål |
|---|---|
|
|
Hvor mange tegn fra høyre |
|
|
Kilde |
|
Uttrykk |
Produksjon |
|---|---|
|
|
|
Bruk: De siste sifrene i personnummeret i testmiljøer.
[INITIALS;text;startWord;endWord]
|
Parameter |
Formål |
|---|---|
|
|
Fullt navn eller uttrykk |
|
|
Startpunkt for ordindeks (0-basert) |
|
|
Ordliste til slutten, eller |
|
Uttrykk |
Produksjon |
|---|---|
|
|
|
|
|
|
Bruk: Kortkoder i gruppenavn eller e-postaliaser.
[PRETTIFY;text]
Store bokstaver etter mellomrom eller bindestrek.
|
Uttrykk |
Produksjon |
|---|---|
|
|
|
|
|
|
Bruk: Vis navn i meldinger når HR sender med store bokstaver.
[LOWER;text] / [UPPER;text]
|
Uttrykk |
Produksjon |
|---|---|
|
|
|
|
|
|
Bruk: Normaliser før [CLEAN] i reglene for brukernavn.
[CLEAN;text] / [STRICTCLEAN;text] / [CNCLEAN;text]
Fjern eller erstatt tegn som ikke er tillatt i brukernavn, strenge ID-er eller AD-fellesnavn (CN).
|
Uttrykk |
Typisk utdata |
Bruk |
|---|---|---|
|
|
|
Brukernavn / uid |
|
|
CN-sikkert skjema for AD |
Gruppens eller brukerens CN |
Det nøyaktige resultatet avhenger av kundens tegnregler; test i uttrykksbyggeren.
[GETKEYVALUE;key;delimiter;metadata]
Leser key<delimiter>value par innenfor en metadatastreng adskilt med pipe-tegn.
|
Parameter |
Formål |
|---|---|
|
|
Nøkkel til å finne |
|
|
Skilletegn mellom nøkkel og verdi (ofte |
|
|
Liste med nøkkel-verdi-tokener, adskilt med pipe-tegn |
|
Uttrykk |
|
Produksjon |
|---|---|---|
|
|
— |
|
Bruk: Tilpassede importmetadata for utvidelsesattributter.
Logikk og kontrollflyt
[IFTHENELSE;query;thenValue;elseValue]
|
Parameter |
Formål |
|---|---|
|
|
Betingelse for nåværende objekt (f.eks. |
|
|
Returneres hvis søket gir treff |
|
|
Returneres hvis ikke |
|
Kontekst |
Uttrykk |
Produksjon |
|---|---|---|
|
Bruker Kari (type 1) |
|
|
|
IT-avdelingen (type 2) |
det samme |
|
Bruk: Én mal for ulike objekttyper.
[IFEMPTYUSE;primary;fallback;reversed]
|
Parameter |
Formål |
|---|---|
|
|
Verdien som skal testes |
|
|
Brukes når «primary» er tom (standard) |
|
|
Valgfritt |
|
Uttrykk |
Utløpet av Karis Rettighet |
Produksjon |
|---|---|---|
|
|
tom |
|
|
|
|
|
|
|
Sjef= |
`` (tom — omvendt: brukes kun som reserve når leder finnes) |
Bruk: Standardtekst ved manglende utløpsdato, ansvarlig eller kommentar.
[EXISTS;value;resultIfNonEmpty]
|
Parameter |
Formål |
|---|---|
|
|
Testet streng |
|
|
Returneres kun hvis |
|
Uttrykk |
Kari Manager-feltet |
Produksjon |
|---|---|---|
|
|
|
|
|
|
tom |
`` (tom) |
Bruk: Nestede oppslag i Gate — utføres kun [REFERENCE...] når [Manager] er angitt.
[TRANSFORM;input;mapping...]
|
Parameter |
Formål |
|---|---|
|
|
Verdi som skal tilordnes |
|
|
Sammenlign inndata med utdata |
|
|
Jokertegn hvis ingen nøkkel stemmer overens |
|
Uttrykk |
|
Produksjon |
|---|---|---|
|
|
— |
|
|
|
— |
|
Bruk: HR-koder → vis tekst i meldinger.
[CONTAINS;valueList;targetList;ifYes;ifNo]
|
Parameter |
Formål |
|---|---|
|
|
Nåler med rør mellom hver |
|
|
En høystakk med rør som skiller delene |
|
|
Strenger som returneres ved treff / ikke noe treff |
|
Uttrykk |
Produksjon |
|---|---|
|
|
|
|
|
|
Bruk: Forgrening i stil med «Ruleset» inne i en mal.
Operasjoner med matriser (adskilt med vertikale streker)
Lister ser slik ut A|B|C. Mange stillingsbeskrivelser innen HR bruker denne formen.
[COUNT;ignored;list]
|
Parameter |
Formål |
|---|---|
|
|
Plassholder (ubrukt) |
|
|
Verdier atskilt med komma |
|
Uttrykk |
Produksjon |
|---|---|
|
|
|
Bruk: «Hvor mange stillinger har denne brukeren?»
[ARRAYAPPEND;list1;list2]
|
Uttrykk |
Produksjon |
|---|---|
|
|
|
Bruk: Slå sammen rollelister fra to Rettighetssøk.
[ARRAYUNIQUE;list]
|
Uttrykk |
Produksjon |
|---|---|
|
|
|
Bruk: Fjern duplikater av avdelings-ID-er før eksport.
[ARRAYFILTER;list;allowed]
Beholder kun elementer som forekommer i allowed.
|
Uttrykk |
Produksjon |
|---|---|
|
|
|
Bruk: Legg inn posisjonstyper på hvitelisten for en melding.
[ARRAYDIFF;current;previous]
Elementer i current ikke i previous.
|
Kontekst |
|
|
Produksjon |
|---|---|---|---|
|
Ny stilling lagt til |
|
|
|
|
Ingen endring |
|
|
`` |
Bruk: Oppdage ny stilling i meldingsflyten (sammen med [LASTVALUE;APositionCodeId]). Advarsel: upålitelig hvis flere posisjoner endres i én import.
[ARRAYJOIN;list1;list2]
Sammenføyer to lister etter indeks.
|
Uttrykk |
Produksjon |
|---|---|
|
|
|
Bruk: Kombiner parallelle kolonner for eksportlinjer i CSV-format.
[ARRAYFOREACH;array;template] / [ARRAYFOREACH;array;separator;template]
Går gjennom en skilt med komma liste. For hvert element som ikke er tomt, erstatter ??? sammen med elementet og ???i med sin 0-baserte indeks i malen, evaluerer nestede [...] i malen, og slår deretter sammen resultatene.
|
Parameter |
Formål |
|---|---|
|
|
Liste med skilletegn (ofte et felt som |
|
|
Valgfri sammenkoblingsstreng mellom iterasjoner (standard |
|
|
Tekst eller et nestet uttrykk; |
|
Uttrykk |
Kari |
Produksjon |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Tomme rørsegmenter er hoppet over (samme konvensjon som [ARRAYUNIQUE] / [ARRAYPREFIX]).
Ikke støttet: [ARRAYFOREACH...] innleiret i en annen [ARRAYFOREACH...] — uttrykket kan ikke evalueres. Bruk to påkallinger på samme nivå, eller [ARRAYJOIN] i stedet.
Bruk: Formater hver posisjon som en egen linje i en melding; legg til et prefiks for hver enhets-ID ved eksport.
[ARRAYPREFIX;list;mode;text]
|
Parameter |
Formål |
|---|---|
|
|
Elementer atskilt med vertikalt strek |
|
|
|
|
|
Streng som prefiks eller suffiks |
|
Uttrykk |
Produksjon |
|---|---|
|
|
|
Bruk: Eksterne ID-er i navnerommet.
[ARRAYTRIM;list;delimiter;maxCount]
|
Uttrykk |
Produksjon |
|---|---|
|
|
|
Bruk: Kun de første N posisjonene i en oppsummerings-e-post.
[PRUNEARRAY;list;regex;reverse]
|
Parameter |
Formål |
|---|---|
|
|
Elementer atskilt med vertikalt strek |
|
|
.NET-regulære uttrykk |
|
|
|
|
Uttrykk |
Produksjon |
|---|---|
|
|
|
|
|
|
Bruk: Fjern midlertidige posisjonskoder fra eksporten.
[UNION;headers;list1;list2;...]
Sammenføyer parallelle lister rad for rad til rader med mellomrom og vertikale streker.
|
Uttrykk |
Konseptuell produksjon |
|---|---|
|
|
|
Bruk: Tekstblokker med flere kolonner i rapporter.
Tilfeldighet, hash, unikhet
[RND;min;max]
|
Parameter |
Formål |
|---|---|
|
|
Minste heltall (inkludert) |
|
|
Maksimalt heltall (i praksis eksklusivt — sjekk området ditt) |
|
Uttrykk |
Eksempel på utdata |
|---|---|
|
|
|
Bruk: Billettnumre i testmaler.
[STRRND;minLen;maxLen;chars]
|
Parameter |
Formål |
|---|---|
|
|
Lengdeområde |
|
|
Tillatt tegnsett (tomt felt = standard: alfanumerisk) |
|
Uttrykk |
Eksempel på utdata |
|---|---|
|
|
|
Bruk: Engangskoder når passordregelen ikke brukes.
[PASSWORD;ruleId]
|
Parameter |
Formål |
|---|---|
|
|
ID for regelen for passordgenerering som er konfigurert i eADM |
|
Uttrykk |
Produksjon |
|---|---|
|
|
f.eks. |
Bruk: Opprinnelig passord i velkomstmeldingen — håndter det forsiktig.
[HASH;text]
|
Uttrykk |
Utdata (eksempel) |
|---|---|
|
|
MD5-heksadesimalstreng på 32 tegn (gir alltid samme utdata for samme inndata) |
Bruk: Ugjennomsiktige token i lenker (ikke kun til sikkerhetskritisk hashing).
[UNIQUE;base;fieldName;replacement]
Sikrer base ikke allerede finnes i fieldName på et annet objekt; legger til 2, 3, … eller innsatser før replacement.
|
Parameter |
Formål |
|---|---|
|
|
Foreslått brukernavn eller e-postadresse |
|
|
Felt som skal brukes til å kontrollere om verdien er unik (f.eks. |
|
|
Valgfri suffiksmarkør som skal erstattes med et tall |
|
Scenario |
Uttrykk |
Produksjon |
|---|---|---|
|
|
|
|
|
|
det samme |
|
Bruk: Kundeoppsett uttrykk for brukernavn sammen med [CLEAN] / [LOWER].
Databaseoppslag og relasjoner
Disse leser inn sanntids eADM-data for kunden. ID-ene må finnes i ditt miljø.
[REFERENCE;returnField;whereField;objectTypeId;searchValue;exactMatch]
|
Parameter |
Formål |
|---|---|
|
|
Felt(er) som skal returneres fra det samsvarende objektet ( |
|
|
Felt å søke etter |
|
|
|
|
|
Verdien som skal finnes |
|
|
|
|
Uttrykk |
Vennskapskamp |
Produksjon |
|---|---|---|
|
|
Avdelings-ID 2100 = IT |
|
|
|
Bruker med administratorrettigheter |
|
Bruk: Avdelingsnummer fra Rettighetn ManagerOf id:
[REFERENCE;OrgUnitnr;Id;2;2100]
[OBJECTPERMISSION;returnField;whereField;filterValue;exactMatch;aggregate]
Leser tilgangsrettighetene til den aktuelle brukeren.
|
Parameter |
Formål |
|---|---|
|
|
Rettighetsfelt (Comment, ManagerOf, ExpiryDate, SystemRoleId, …) |
|
|
Felt å filtrere etter |
|
|
Samsvarsverdi, eller |
|
|
Modus for strengsammenligning |
|
|
|
|
Uttrykk |
Utdata (Kari) |
|---|---|
|
|
|
|
|
|
Forkortelse for rollenavn:
|
Uttrykk |
Produksjon |
|---|---|
|
|
|
[OBJECTHISTORIES;returnField;whereField;filterValue;exactMatch;aggregate]
Henter objekthistorikken for den aktuelle brukeren (logg fra synkronisering/brukergrensesnitt).
|
Eksempel på filter |
Uttrykk |
Typisk utdata |
|---|---|---|
|
Siste Rettighet lagt til |
|
|
Bruk: «Hvem har tildelt denne Rettighetn?» i meldingsflyt (ofte innebygd i [SPLIT] / [REFERENCE]).
[FOREACH;collection;query;returnFields;headers;format]
|
Parameter |
Formål |
|---|---|
|
|
|
|
|
Filter (selskapsomfang legges til automatisk) |
|
|
Kommaseparerte felt, valgfritt |
|
|
Kolonneoverskrifter for CSV/HTML |
|
|
|
Eksempel (konseptuelt): Alle brukere med rolle 501, CSV:
[FOREACH;objectpermission;SystemRoleId=501;object.DisplayName,object.Email;Name,Email;csv]
Utdata (dummy):
Name,Email
Kari Nordmann,kari.nordmann@eksempel.kommune.no
Ola Hansen,ola.hansen@eksempel.kommune.no
Bruk: Lederrapport innebygd i e-postteksten.
[DESCENDANTS;rootId;returnField;parentKey;foreignKey]
|
Parameter |
Formål |
|---|---|
|
|
Avdelingsobjekt-ID som utgangspunkt |
|
|
Felt som skal hentes fra hver node |
|
|
Underfelt som peker til overordnet felt (f.eks. |
|
|
Felt for overordnet identifikator (f.eks. |
|
Start |
Tre |
Uttrykk |
Produksjon |
|---|---|---|---|
|
IT-ID |
IT → HR |
|
|
Bruk: Alle underavdelinger som omfattes av en leders Rettighet.
[SYSTEM;type;id;field]
|
Parameter |
Formål |
|---|---|
|
|
|
|
|
Numerisk ID eller |
|
|
Feltnavn(er) som skal returneres |
|
Uttrykk |
Utdata (dummy) |
|---|---|
|
|
|
|
|
|
Bruk: Kontaktinformasjon for systemeier i administrasjonsvarsel.
[SELECTION;rulesetId;returnField]
|
Parameter |
Formål |
|---|---|
|
|
Regelsett som skal vurderes for hvert objekt |
|
|
Felt fra hvert objekt som samsvarer |
|
Uttrykk |
Utdata (dummy) |
|---|---|
|
|
|
Bruk: E-postliste over alle som oppfyller reglene i regelsettet «Nye ansatte».
[AVAILABLESYSTEM;field] / [AVAILABLEROLE;systemId;field]
Returnerer verdier atskilt med vertikalt strek for systemer eller roller som oppfyller «Tilgjengelig for »-regelsettet for den aktuelle brukeren.
|
Uttrykk |
Betydning |
|---|---|
|
|
Navn på systemer som Kari kan få tilgang til |
|
|
Rollenavn på system 12 som hun kan bli tildelt |
Bruk: Dynamiske utvalgslister i skjemaer eller meldinger.
[AVAILABLEDEPARTMENTS;fields;targetUserId]
|
Parameter |
Formål |
|---|---|
|
|
Avdelingsfelt adskilt med komma |
|
|
Bruker som skal vurderes; tom = gjeldende objekt |
Bruk: Viser avdelinger som en leder kan ha ansvar for (fra «ManagerOf», enhets-ID-er, roller i «mega.eadm.no» ).
[DATAOWNER;returnField]
Følger data-eier-relasjonen på objektet; returnerer feltet fra eieren.
|
Uttrykk |
Utdata (hvis navnet på eiergruppen er lagret) |
|---|---|
|
|
|
[ANTECEDANTS.SYSTEMROLE;roleId;departmentId;returnField]
Ledere som har roleId på forfader avdelinger i departmentId.
|
Uttrykk |
Utdata (dummy) |
|---|---|
|
|
|
Bruk: Eskalerings-e-post når en underavdeling i HR ikke har noen lokal godkjenner.
[COUNTEMPLOYEE] / [COUNTMEMBERS]
Vurderes henholdsvis på avdelings- eller gruppenivå.
|
Objekt |
Uttrykk |
Utdata (dummy) |
|---|---|---|
|
IT-avdelingen |
|
|
|
Gruppen «Prosjekt Alfa» |
|
|
[GETLASTSYNCID]
|
Uttrykk |
Utdata (dummy) |
|---|---|
|
|
|
Bruk: Feilsøking av bunntekster i administrasjons-e-poster.
[LASTVALUE;attributeName]
Forrige verdi i feltet fra siste import av HR- historikk, ellers gjeldende felt.
|
Kontekst |
Uttrykk |
Produksjon |
|---|---|---|
|
Før synkroniseringen hadde Kari én stilling |
|
|
|
Etter å ha lagt til POS-02 |
|
|
Server med [ARRAYDIFF;[APositionCodeId];[LASTVALUE;APositionCodeId]] → POS-02|.
Stillinger (HR med flere stillinger)
Feltposisjoner deler indeks på tvers av rør: indeks 0 = første posisjon, 1 = sekund.
[POSITION;returnField;whereField;matchValue]
|
Parameter |
Formål |
|---|---|
|
|
Feltet som skal returneres (f.eks. |
|
|
Felt som skal sammenlignes (f.eks. |
|
|
Enhet eller kode som skal søkes etter |
|
Uttrykk |
Produksjon |
|---|---|
|
|
|
|
|
|
[POSITIONS;returnField;whereField;matchValue]
Det samme som [POSITION] men returnerer en jevnt innrettet rørstreng på tvers av alle posisjoner (tom plass der det ikke er noe treff).
|
Uttrykk |
Produksjon |
|---|---|
|
|
|
[GROUPPRIMARYPOSITION;returnField]
Valg primær posisjon: høyest APositionPercentage, tie-break etter tidligste APositionStartDate.
|
Kari-stillinger |
Uttrykk |
Produksjon |
|---|---|---|
|
100 % IT, 20 % HR |
|
|
[ACTIVEPOSITIONCOUNT;asOfDate]
|
Uttrykk |
Produksjon |
|---|---|
|
|
|
Meldinger og integrasjon
[COUNTMESSAGESENT;messageId;fromDate]
|
Parameter |
Formål |
|---|---|
|
|
ID for meldingsmal. Valgfritt — hvis dette utelates (tilsvarer |
|
|
Tell kun sendinger etter denne datoen (valgfritt) |
|
Uttrykk |
Utdata (dummy) |
|---|---|
|
|
|
Utelatt messageId: Hvis ID-en til meldingsmalen ikke er oppgitt ([COUNTMESSAGESENT;] er lik 0), blir uttrykket evaluert i sammenheng med den meldingsmalen hvis sending utløste regelsettet. Med andre ord tolkes det som «har meldingen som nå sendes, allerede blitt sendt til denne mottakeren?», og ikke som en bestemt, fast mal-ID. På grunn av dette kan det samme regelsettet gjenbrukes som beskyttelse mot duplikatutsendelser for flere ulike meldingsmaler, i stedet for å opprette et eget regelsett for hver enkelt mal.
Advarsel: Forhåndsvisning av regelsettet i uttrykksbyggeren fungerer ikke når messageId utelates, fordi det utenfor en faktisk meldingssending ikke finnes noen utløsende meldingsmal som kan gi denne konteksten.
Bruk: «Allerede varslet?»-sjekk i oppfølgingsprosessen; felles sjekk for å unngå dobbeltutsendelse på tvers av flere meldingsmaler.
[SYSTEMOWNER]
Krever en historikkoppføring fra endringen av Rettighetn (Rettighet til å legge til/redigere/slette).
|
Kontekst |
Utdata (dummy) |
|---|---|
|
Rettighet for rolle 501 lagt til |
|
Bruk: CC-systemets eier når automatisk Rettighet gis.
[SYNCSTEPPARAMETER;key;companySyncStepId]
|
Parameter |
Formål |
|---|---|
|
|
Parameternavn i synkroniseringstrinnet |
|
|
Instans-ID for kundesynkroniseringstrinn |
|
Uttrykk |
Produksjon |
|---|---|
|
|
|
Tilgang: Bedriftsadministrator i forhåndsvisning av uttrykksbyggeren.
[APITOKEN;apiUsername]
|
Parameter |
Formål |
|---|---|
|
|
API-brukernavn (objekttype 14) |
|
Uttrykk |
Produksjon |
|---|---|
|
|
Ugjennomsiktig streng for sesjonstoken (varierer) |
Tilgang: Bedriftsadministrator i forhåndsvisning. Brukes kun i sikrede serverbaserte arbeidsflyter.
HTML-hjelpefunksjoner (meldingsmaler)
[HTMLLISTMEMBEROF;displayField]
For en bruker som er medlem av en gruppe: viser overordnede grupper.
|
Uttrykk |
Produksjon |
|---|---|
|
|
|
[HTMLLISTARRAY;list]
|
Uttrykk |
Produksjon |
|---|---|
|
|
|
Kontroller for skjemaer
Brukes i skjemaer, ikke i standardregelsett.
|
Funksjon |
Formål |
|---|---|
|
|
Tekstinndata knyttet til skjemafelt-ID |
|
|
Boolsk inngang |
|
|
Nedtrekksmeny (fem parametere) |
|
|
Radiogruppe |
|
|
Datovelger |
|
|
Flerlinjet tekst |
|
|
Handlingsknapp |
Eksempel på mønster: [INPUTBOX;1042;Avdeling;IT-100;] viser inndata merket «Avdeling» med standardverdien IT-100.
Markører [NOTIFY...], [HIDDEN...], [SERVERFUNCTION...] er atferdskroker, ikke datafunksjoner.
Scenarier fra start til slutt (fiktive data)
Velkomst-e-post – kun startdato
Ny ansatt [DisplayName] starter [SUBSTRING;0;10;[Start]].
Utdata: Ny ansatt Kari Nordmann starter 01.04.2026.
Linje for utløp av Rettighet
Gyldig til: [IFEMPTYUSE;[OBJECTPERMISSION;ExpiryDate;SystemRoleId;501];Permanent tilgang]
Utdata: Gyldig til: Permanent tilgang
Leder fraværende — eskaler til avdelingsleder på overordnet nivå
[IFEMPTYUSE;
[EXISTS;[Manager];];
[REFERENCE;Email;UserId;1;[REFERENCE;Manager;Id;2;[REFERENCE;ParentDepartmentNumber;DepartmentNumber;2;[DepartmentNumber]]]]]
|
Kari, leder |
Produksjon |
|---|---|
|
tom |
|
|
sett |
tom (EXISTS-gren — tilpass malens logikk hvis du trenger e-postadressen til lederen når den finnes) |
Juster kombinasjonen IFEMPTYUSE/EXISTS slik at den samsvarer med formålet med malen din; test i uttrykksbyggeren.
Kun ny stilling — mottaker av meldingen
Etter synkronisering legges det til POS-02:
[REFERENCE;Email;UserId;1;[POSITION;APositionManager;AUnitId;[RTRIM;[ARRAYDIFF;[APositionCodeId];[LASTVALUE;APositionCodeId]];|]]]
Utdata: E-postadresse til lederen for avdelingen som den nye stillingen tilhører (fiktiv: ny-leder@eksempel.kommune.no).
Navn på automatisk sikkerhetsgruppe (konfigurert av kunden)
SG-[Department]-[CLEAN;[OrgUnitnr]]
Utdata: SG-IT og digitalisering-IT-100 (det faktiske CLEAN-utgangssignalet kan variere).
Eksportkartlegging — samAccountName
[UserName]
Utdata: kari.nordmann
Regelsett — brukeren har en rolle i systemet
Uttrykk for regelattributt :
[OBJECTPERMISSION.SYSTEMROLE;Name;SystemRoleId;501]
Beregnet verdi: Bruker Fagsystem X — sammenligningsoperatør Er lik / medlemsoperatører.
Uttrykksgenerator
|
Vare |
Detalj |
|---|---|
|
Hvor |
Uttrykksbygger for overskriftsikoner, redigeringsverktøy for meldingsmaler, enkelte eHub-skjermbilder |
|
Funksjonsliste |
Alle objektfelt for den valgte typen samt standardfunksjoner |
|
Forhåndsvisning |
Velg testbruker/avdeling/gruppe; krever superadministratorrettigheter |
|
Regelsett |
Automatisering → Regelsett — minimum supermanager |
To inndatamåter for verdien til et regelbetingelse
Hver betingelsesrad i fanen «Regler» i et regelsett har et «Attributt»- (eller «Argument»-) felt med to små ikoner som brukes til å bytte mellom inntastingsmodusene:
-
Nedtrekksmodus (ikon med opp-/nedpiler) — standardinnstillingen. Viser en søkbar nedtrekksliste med objektets attributtverdier, gruppert etter type (bruker-, gruppe-, avdelings- eller skjemattributter, avhengig av hva regelsettet brukes sammen med).
-
Fri tekst-modus (tastaturikon) — endrer feltet til et vanlig tekstfelt. Bruk dette til å skrive inn fastkodet tekst eller et funksjonsuttrykk ved hjelp av parentes-syntaksen som er beskrevet tidligere i denne artikkelen, f.eks.
[COUNTMESSAGESENT;7166].
Fritt tekst-modus har fortsatt funksjonen for automatisk fullføring: når du skriver inn en del av et funksjons- eller feltnavn (f.eks. [count) overflater med tilsvarende egenskaper og funksjoner, for eksempel [COUNTEMPLOYEE], [COUNTMEMBERS], og [COUNTMESSAGESENT;message id].
Teste et uttrykk med «Rediger uttrykk»
Når et betingelsesfelt er i fritekstmodus, kan du klikke på et ekstra ikon ved siden av det for å åpne dialogboksen «Rediger uttrykk ». Bruk denne til å teste et funksjonsuttrykk mot et reelt objekt før du lagrer regelen.
Dialogboksen viser:
-
Objekttype — regelsettets primære objekttype (f.eks. Bruker) og hvilke sekundære kontekster som er tilgjengelige (Funksjon, Funksjonsalias, Hendelse, Historikk).
-
Kontekst — et testobjekt som skal brukes som sammenligningsgrunnlag. Bruk «Søk» for å velge et bestemt objekt, eller «Velg tilfeldig» for å la eADM velge et.
-
Uttrykk — et redigerbart tekstfelt som allerede er fylt ut med betingelsens gjeldende uttrykk.
-
Resultat — det utregnede resultatet, som vises etter at du har klikket på «Utfør».
Når du redigerer, vises det et hjelpetips med fullstendig syntaks for funksjonen, en kort beskrivelse og betydningen av hver parameter når du holder musepekeren over en funksjon i uttrykket. Hjelpetipset markerer hele uttrykket i grønt og viser den delen som tilsvarer den aktuelle markørposisjonen i fet skrift, noe som gjør det betydelig enklere å finne frem i lange eller dypt innkapslede uttrykk.
Merk: I likhet med uttrykksbyggeren generelt krever det administratorrettigheter å teste et uttrykk i «Rediger uttrykk» (se «Tilgangsnivåer» ovenfor).
Feilsøking
|
Symptom |
Sannsynlig årsak |
Handling |
|---|---|---|
|
Bokstavelig |
Innfeltet er tomt eller inneholder en skrivefeil |
Rett opp i nestingen; kontroller feltnavnene på objektet |
|
Feil ved uttrykksutvurdering |
Innebygd |
Del opp i søsken-anrop eller bruk |
|
Tom streng |
Ingen samsvarende ID / Rettighet |
Bekreft systemrolle-ID og system-ID i systemtilgangen |
|
Feil posisjon i e-posten |
Flere stillinger ble endret samtidig |
Ikke stol utelukkende på ARRAYDIFF/LASTVALUE |
|
Forhåndsvisning blokkert |
Rolle eller beskyttet felt |
Utvid rollen eller forenkle testuttrykket |
|
Fungerer i «Builder», men ikke i «Message» |
Hendelsesforløpet trenger objekthistorikken fra synkroniseringen |
Kjør import; sjekk oppføringstypen i historikken |
|
Forhåndsvisningen starter ikke / krasjer uten å gi noen feilmelding |
|
Forventet — konteksten til utløsermeldingsmalen finnes kun under selve sendingen. Test logikken rundt dette uten denne betingelsen, eller bruk midlertidig en ekte |
Hurtigindeks
|
Kategori |
Funksjoner |
|---|---|
|
Dato/klokkeslett |
NÅ, NOW, DATEFORMAT, DATEDIFF, DAYOFYEAR |
|
Streng |
SUBSTRING, SPLIT, REPLACE, REPLACELIST, RTRIM, LTRIM, RPAD, LPAD, RIGHT, INITIALS, PRETTIFY, LOWER, UPPER, CLEAN, STRICTCLEAN, CNCLEAN, GETKEYVALUE |
|
Logikk |
IFTHENELSE, IFEMPTYUSE, EXISTS, TRANSFORM, CONTAINS |
|
Matriser |
COUNT, ARRAYAPPEND, ARRAYUNIQUE, ARRAYFILTER, ARRAYDIFF, ARRAYJOIN, ARRAYFOREACH, ARRAYPREFIX, ARRAYTRIM, PRUNEARRAY, UNION |
|
Sikkerhet |
HASH, PASSORD, UNIK, RND, STRRND |
|
Oppslag |
REFERENCE, OBJECTPERMISSION, OBJECTHISTORIES, FOREACH, DESCENDANTS, SYSTEM, SELECTION, AVAILABLESYSTEM, AVAILABLEROLE, AVAILABLEDEPARTMENTS, DATAOWNER, ANTECEDANTS.SYSTEMROLE, COUNTEMPLOYEE, COUNTMEMBERS, GETLASTSYNCID, LASTVALUE |
|
Stillinger |
POSISJON, POSISJONER, GRUPPENS PRIMÆRE POSISJON, ANTALL AKTIVE POSISJONER |
|
Meldinger |
COUNTMESSAGESENT, SYSTEMOWNER, SYNCSTEPPARAMETER, APITOKEN |
|
HTML |
HTMLLISTMEMBEROF, HTMLLISTARRAY |
|
Skjemaer |
INPUTBOX, CHECKBOX, BUTTON, LISTBOX, RADIO, DATEBOX, AREABOX |
Notater fra AI-assistenten
-
Foretrekker
[DisplayName]-felter før de innrammes i funksjoner. -
Spør hvor uttrykket befinner seg: regelsett, melding, eksport eller kundeoppsett.
-
Erstatt plassholder-ID-er (
501,2100) med kundens virkelige systemrolle og avdeling ID-er fra systemtilgang. -
Når man bruker et posisjonsfilter ved import, blir treffene ekskludert; i regelsettet for synkroniseringstrinnet inkluderes treffene.
-
Hendelsesmeldingsstrømmer trenger objekthistorikk fra en synkroniseringskjøring.
-
Lag eksempler med innleirede elementer innvendig-utvendig — bortsett fra
[ARRAYFOREACH...], som binder seg til???per element før malfunksjonene kjøres. -
Ikke bruk innleirede elementer
[ARRAYFOREACH...]; bruk søskenoppkall eller[ARRAYJOIN]. -
[COUNTMESSAGESENT;]medmessageId«omitted» vurderes opp mot den meldingsmalen som sendes akkurat nå, slik at ett regelsett kan styre flere meldingsmaler — men forhåndsvisningen vil ikke fungere utenfor en faktisk sending. -
Det finnes to måter å angi verdien for et regelbetingelse på: nedtrekksmeny (attributtvelger) eller fritekst (tastaturikon, fastkodet tekst eller uttrykk), og i fritekstmodus er «Rediger uttrykk» tilgjengelig for å teste mot et eksempelobjekt.
-
Begreper: regelsett, meldingsflyt, systemtilgang, tilgang, objekthistorikk.