eADM-motor for regeluttrykk
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 tillatelser |
|
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= |
|
Tillatelse 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 tillatelseskjede (leses fra innsiden og ut):
[REFERENCE;DisplayName;UserId;1;[REFERENCE;Manager;Id;2;[OBJECTPERMISSION;ManagerOf;SystemRoleId;501]]]
-
Tillatelse → 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 tillatelsesstart 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 tillatelse |
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 tillatelsessø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 tillatelsen ManagerOf id:
[REFERENCE;OrgUnitnr;Id;2;2100]
[OBJECTPERMISSION;returnField;whereField;filterValue;exactMatch;aggregate]
Leser tilgangsrettighetene til den aktuelle brukeren.
|
Parameter |
Formål |
|---|---|
|
|
Tillatelsesfelt (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 tillatelse lagt til |
|
|
Bruk: «Hvem har gitt denne tillatelsen?» 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 tillatelse.
[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: Adresseliste 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 arbeidsflyten gir kontekst) |
|
|
Tell kun sendinger etter denne datoen (valgfritt) |
|
Uttrykk |
Utdata (dummy) |
|---|---|
|
|
|
Bruk: «Allerede varslet?»-kontroll i oppfølgingsprosessen.
[SYSTEMOWNER]
Krever en historikkoppføring fra endringen av tillatelsen (tillatelse til å legge til/redigere/slette).
|
Kontekst |
Utdata (dummy) |
|---|---|
|
Tillatelse for rolle 501 lagt til |
|
Bruk: CC-systemets eier når automatisk tillatelse 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 innspill 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 tillatelse
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 (eksempel: 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 |
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 / tillatelse |
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 |
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]. -
Begreper: regelsett, meldingsflyt, systemtilgang, tilgang, objekthistorikk.