eADM:s motor för regeluttryck

eADM:s motor för regeluttryck

Översikt

Regeluttrycksmotorn utvärderar parentesfunktioner och fältplatshållare i eADM. Uttryck förekommer i:

Konsument

Typisk användning

Regelsamlingar (Regelsett)

Filtrera användare, avdelningar och grupper; styra meddelandeflöden, synkroniseringssteg och behörigheter

Meddelandemallar

Dynamisk mottagare, ämne, brödtext (HTML)

Exportera mallar / synkronisera mallernas flödeslinjer

Mappning av målattribut

Kundinställningar

Användarnamnsuttryck, automatisk gruppnamngivning, positionsfilter

Formulärmallar

Kopplingar till formulärfält

Uttrycksbyggare

Förhandsgranska mot en testanvändare, en avdelning eller en grupp

Så här fungerar utvärderingen

  1. Motorn söker igenom uttrycket efter [...] tokens.

  2. [ARRAYFOREACH...] körs först — innan den inre första genomgången — så att mallplatshållare ??? och ???i bindning per element avgränsat med pipetecken.

  3. I övrigt tolkas det innersta parentesparet först.

  4. Varje funktion returnerar ett resultat i klartext som ersätter parentesen.

  5. När inga funktioner återstår, återstående [FieldName] tokens ersätts från aktuellt objekt (och valfritt historikraden i meddelandeflöden).

  6. Fältnamn som inte känns igen behålls som bokstavliga värden [FieldName] i utdata.

Listor avgränsade med pip-tecken (|) används för data med flera värden – särskilt inom HR befattningar för en användare.

Exempeldata som används i exemplen nedan

Om inte annat anges utgår exemplen från att kunden är Eksempel kommune med:

Objekt

Viktiga värden

Användare Kari Nordmann

Förnamn=Kari, Efternamn=Nordmann, DisplayName=Kari Nordmann, Användarnamn=kari.nordmann, E-post=kari.nordmann@eksempel.kommune.no, Start=01.04.2026 00:00:00, Avdelning=IT og digitalisering, avdelningsnummer=100

Användarpositioner (rörjusterade)

APositionCodeId=POS-01|POS-02, AUnitId=IT-100|HR-200, APositionCodeName=Utvikler|HR-rådgiver, APrimaryPosition=true|false, APositionPercentage=100.0|20.0

IT -avdelningen (typ 2)

Id=2100, SourceId=IT-100, avdelningsnummer=100, OrgUnitnr=IT-100, ParentDepartmentNumber=0

Personal avdelningen (en del av IT-avdelningen)

Id=2101, SourceId=HR-200, ParentDepartmentNumber=100

Systemroll (behörighet)

Id=501, Namn=Bruker Fagsystem X, kopplat till system-id=12

Tillstånd för Kari

SystemRoleId=501, ManagerOf=2100, Kommentar=Automatisk tildelt, ExpiryDate=tom

Objekttyp-ID:n (för uppslag): Användare=1, Avdelning=2, Grupp=3, API-användare=14.


Syntaxregler

  • Funktioner: [NAME;arg1;arg2;...] — argument som avgränsas med semikolon (;).

  • Fält: [FieldName] — värdet från det aktuella objektet (skiljer inte mellan stora och små bokstäver).

  • Inbäddade uttryck: de inre parenteserna tolkas före de yttre.

  • Listavgränsare: rörtecken | (vertikal streck) mellan värdena — t.ex. POS-01|POS-02. Skriv aldrig ett bakvänt snedstreck; | förekommer endast som Markdown-escaping i källfilerna, inte i uttryck.

  • Datum i fält lagras ofta som dd.MM.yyyy HH:mm:ss; import kan använda yyyy-MM-dd och andra vanliga format.

Frågespråk

Används inomhus [FOREACH], [IFTHENELSE], och avancerad [OBJECT...] filter.

Token

Betydelse

=

Lika

>, <

Större än / mindre än

!

Inte lika

*

Mönsterjämförelse (like)

#

Värde i listan

&

OCH nästa villkor

|

ELLER nästa villkor

Lägg till följande prefix till data: object., system., systemrole., objectpermission., m.fl.


Boet

Först det inre fältet, sedan den yttre funktionen

Steg

Uttrycksfragment

beslutar att

1

[start]

01.04.2026 00:00:00

2

[SUBSTRING;0;10;01.04.2026 00:00:00]

01.04.2026

Blockerad om det inre fältet saknas: [SUBSTRING;0;10;[UnknownField]] förblir oförändrad när UnknownField finns inte på objektet.

En typisk behörighetskedja (läsas inifrån och ut):

[REFERENCE;DisplayName;UserId;1;[REFERENCE;Manager;Id;2;[OBJECTPERMISSION;ManagerOf;SystemRoleId;501]]]
  1. Behörighet → avdelnings-id 2100

  2. Avdelning → chefens användar-ID

  3. Användare → visningsnamn för administratör

[ARRAYFOREACH...] är annorlunda: den expanderar en lista med pip-avgränsningar innan inre funktioner i mallens körning. Använd ??? för det aktuella elementet och ???i för dess 0-baserade index. Boet [ARRAYFOREACH...] inuti en annan [ARRAYFOREACH...] stöds inte — använd [ARRAYJOIN] / [ARRAYPREFIX] eller istället samtal mellan syskon.


Åtkomstnivåer

Roll

Vad det påverkar

Superchef

Förhandsgranskning av uttrycksbyggaren

Företagsadministratör

Fullständig funktionslista i byggverktyget; [APITOKEN...], [SYNCSTEPPARAMETER...] i förhandsgranskning

Organisationsadministratör

Uttryck som påverkar skyddade fält i förhandsgranskningen

Superadministratör

[UPDATE...], [DECRYPT...], [ENCRYPT...] — utelämnat ur denna guide

Automatisering (synkronisering, meddelanden, export) utvärderar uttryck med serverbehörigheter. En funktion som fungerar i produktionsmiljön kan ändå vara blockerad i uttrycksbyggaren för din roll.


Platshållare för fält

Inte funktioner — ersätts från det aktuella objektet (eller historikraden i händelsestyrda meddelandeflöden).

Exempel: Mall Hello [GivenName] [Surname] om Kari Nordmann → Hello Kari Nordmann

Platshållare

Typisk källa

[GivenName], [Surname], [DisplayName]

Personnamn

[UserName], [Email], [Upn], [Mail]

Konto / e-post

[Department], [DepartmentNumber]

Grundskolan

[Start]

Datum och klockslag för anställningens början

[Manager]

Referens från personalavdelningen

[APositionCodeId], [AUnitId], [APositionCodeName]

Flera lägen (avgränsade med vertikalstreck)

Endast historik (meddelandeflödet efter synkronisering): [OldValue], [NewValue], [EntryType], [AttributeName], [Comment].


Funktionsöversikt med exempel

Varje uppslag innehåller parametrar, ett exempel med fiktiva data och förväntat resultat.


Datum och tid

[NÅ] / [NOW]

Returnerar serverns datum och tid.

Parameter

Syfte

(ingen)

Nuvarande ögonblick

+N / -N suffix

Lägg till eller dra ifrån N dagar

Uttryck

Antaget datum på servern

Utgång

[NÅ]

17 juni 2026 14:30:00

17.06.2026 14:30:00

[NOW+7]

17.06.2026

24.06.2026 14:30:00 (samma tidpunkt, +7 dagar)

Användning: Visning av behörighetsstart och relativa tidsfrister i mallar.


[DATEFORMAT;date;format]

Omformaterar en datumsträng.

Parameter

Syfte

date

Inmatningsdatum, eller datum separerade med vertikalstreck

format

Utgångsmönster (t.ex. yyyy-MM-dd, dd/MM/yyyy)

Uttryck

Indata (efter fältupplösning)

Utgång

[DATEFORMAT;01.04.2026 00:00:00;yyyy-MM-dd]

2026-04-01

[DATEFORMAT;01.04.2026 00:00:00|15.06.2026 00:00:00;yyyy-MM-dd]

två datum

2026-04-01|2026-06-15

Användning: Exportformat, ISO-datum i API-data.


[DATEDIFF;date1;date2;unit]

Den numeriska skillnaden mellan två datum.

Parameter

Syfte

date1

Senare eller tidigare datum

date2

Tidigare datum eller referensdatum

unit

d dagar (standard), y år, m månader, h timmar, mi minuter, s sekunder

Uttryck

Utgång

Betydelse

[DATEDIFF;17.06.2026 00:00:00;01.04.2026 00:00:00;d]

77

77 dagar från start till idag

[DATEDIFF;17.06.2026 00:00:00;01.04.2026 00:00:00;y]

0

Samma kalenderår i detta exempel

Användning: Kontroll av anställningstid i regeluppsättningar, ”antal dagar till start” i meddelanden.


[DAYOFYEAR;date]

Parameter

Syfte

date

Datum för utvärdering

Uttryck

Utgång

[DAYOFYEAR;01.04.2026 00:00:00]

91

Användning: Säsongsrelaterade regler, knep för räkenskapsperioden.


Strängbearbetning

[SUBSTRING;start;length;text]

Parameter

Syfte

start

Startindex med 0 som utgångspunkt

length

Antal tecken som ska tas

text

Källsträng (ofta ett inbäddat fält)

Uttryck

Beslutat text

Utgång

[SUBSTRING;0;10;01.04.2026 00:00:00]

01.04.2026

[SUBSTRING;0;4;POS-01]

POS-0

Användning: Endast datum från datum och tid i välkomstmejl: [SUBSTRING;0;10;[Start]]01.04.2026.


[SPLIT;text;delimiter;index]

Parameter

Syfte

text

Sträng som ska delas upp

delimiter

Avgränsare (t.ex. |, ;, mellanslag)

index

0-baserat styckindex, eller last / last-1

Uttryck

Utgång

[SPLIT;Kari|Nordmann;|;0]

Kari

[SPLIT;POS-01|POS-02;|;last]

POS-02

Användning: Hälsningsfras från fältet för sammansatt namn; välj den sista positionskoden.


[REPLACE;text;find;replace]

Parameter

Syfte

text

Originalsträng

find

Delsträng(ar) som ska ersättas; pipe = flera; ^x = endast vid start; x^ = endast i slutet

replace

Ersättningstext

Uttryck

Utgång

[REPLACE;kari.nordmann;.;-]

kari-nordmann

[REPLACE;+4712345678;+47|;;]

12345678

Användning: Normalisera telefonnummer, byt ut avgränsningstecken i användarnamn.


[REPLACELIST;text;fromChars;toChars]

Tecken-för-tecken-mappning (båda teckenlistorna måste ha samma längd).

Parameter

Syfte

text

Ingång

fromChars

Tecken som ska mappas från

toChars

Tecken som ska mappas till

Uttryck

Utgång

[REPLACELIST;abcåøæ;åøæaoe]

abcaoe

Användning: Korrigeringar av äldre teckenuppsättningar vid import.


[RTRIM;text;chars] / [LTRIM;text;chars]

Parameter

Syfte

text

Indata; om den innehåller |, varje segment beskärs

chars

Tecken som ska tas bort från slutet (RTRIM) eller början (LTRIM)

Uttryck

Utgång

[RTRIM;POS-01|POS-02|;]

POS-01|POS-02 (det efterföljande tomma segmentet har tagits bort)

[LTRIM;; Kari; ]

Kari

Användning: Rensa rörlistorna efter [ARRAYDIFF].


[RPAD;text;padChar;totalLength] / [LPAD;text;padChar;totalLength]

Parameter

Syfte

text

Värde att fylla i

padChar

Fyllnadsbokstav

totalLength

Målbredd

Uttryck

Utgång

[RPAD;42;0;5]

42000

[LPAD;7;0;4]

0007

Användning: Personnummer med fast bredd vid filexport.


[RIGHT;length;text]

Parameter

Syfte

length

Hur många tecken från höger

text

Källa

Uttryck

Utgång

[RIGHT;4;12345678]

5678

Användning: De sista siffrorna i personnummer i testmiljöer.


[INITIALS;text;startWord;endWord]

Parameter

Syfte

text

Fullständigt namn eller fras

startWord

Ordindex från början (0-baserat)

endWord

Ordlista till slutet, eller last / last-1

Uttryck

Utgång

[INITIALS;Kari Marie Nordmann;0;last]

K M N (bokstäver och mellanslag enligt originalet)

[INITIALS;Kari Marie Nordmann;1;1]

M

Användning: Kortkoder i gruppnamn eller e-postalias.


[PRETTIFY;text]

Stora bokstäver efter mellanslag eller bindestreck.

Uttryck

Utgång

[PRETTIFY;kari nordmann]

Kari Nordmann

[PRETTIFY;it-og-digitalisering]

It-Og-Digitalisering

Användning: Visa namn i meddelanden när HR skickar med versaler.


[LOWER;text] / [UPPER;text]

Uttryck

Utgång

[LOWER;Kari.Nordmann@Eksempel.Kommune.NO]

kari.nordmann@eksempel.kommune.no

[UPPER;avdeling-it]

AVDELING-IT

Användning: Normalisera innan [CLEAN] i reglerna för användarnamn.


[CLEAN;text] / [STRICTCLEAN;text] / [CNCLEAN;text]

Ta bort eller ersätt tecken som inte är tillåtna i användarnamn, strikta ID:n eller AD-allmänna namn (CN).

Uttryck

Typisk utdata

Användning

[CLEAN;Kari Åse Nordmann!]

kariasenordmann (tecken som inte är bokstäver har tagits bort, skrivet med gemener)

Användarnamn / uid

[CNCLEAN;Kari (test) Nordmann]

CN-säker blankett för AD

Grupp- eller användar-CN

Det exakta resultatet beror på kundens teckenregler; testa i uttrycksbyggaren.


[GETKEYVALUE;key;delimiter;metadata]

Läsningar key<delimiter>value par inom en metadatasträng avgränsad med vertikalstreck.

Parameter

Syfte

key

Nyckel att hitta

delimiter

Avgränsningstecken mellan nyckel och värde (ofta = eller :)

metadata

Lista med nyckel-värde-tokens, åtskilda med pip-tecken

Uttryck

metadata värde

Utgång

[GETKEYVALUE;cost;=;cost=IT|site=Oslo]

IT

Användning: Anpassade importmetadata för tilläggsattribut.


Logik och kontrollflöde

[IFTHENELSE;query;thenValue;elseValue]

Parameter

Syfte

query

Villkor för aktuellt objekt (t.ex. ObjectTypeId=1)

thenValue

Returneras om sökningen ger träff

elseValue

Returneras om inte

Sammanhang

Uttryck

Utgång

Användare Kari (typ 1)

[IFTHENELSE;ObjectTypeId=1;Ansatt;Ikke ansatt]

Ansatt

IT-avdelningen (typ 2)

samma

Ikke ansatt

Användning: En enda mall för olika objekttyper.


[IFEMPTYUSE;primary;fallback;reversed]

Parameter

Syfte

primary

Värde att testa

fallback

Används när primärfältet är tomt (standard)

reversed

Valfritt true: använd reservalternativet när det primära är inte tom

Uttryck

Karins tillstånds giltighetstid löper ut

Utgång

[IFEMPTYUSE;;Permanent tilgang]

tom

Permanent tilgang

[IFEMPTYUSE;15.12.2026;Permanent tilgang]

15.12.2026

15.12.2026

[IFEMPTYUSE;[Manager];;true]

Chef=empty

`` (tom — omvänt: används endast som reserv när en chef finns)

Användning: Standardtext vid saknad utgångsdatum, ansvarig eller kommentar.


[EXISTS;value;resultIfNonEmpty]

Parameter

Syfte

value

Testad sträng

resultIfNonEmpty

Returneras endast om value är icke-tom

Uttryck

Fältet ”Kari Manager”

Utgång

[EXISTS;ola.hansen;has-manager]

ola.hansen

has-manager

[EXISTS;;has-manager]

tom

`` (tom)

Användning: Nästlade sökningar i Gate — kör endast [REFERENCE...] när [Manager] är inställd.


[TRANSFORM;input;mapping...]

Parameter

Syfte

input

Värde att mappa

key|value par

Jämför indata med utdata

*|default

Jokertecken om ingen nyckel stämmer överens

Uttryck

[Sex] = F

Utgång

[TRANSFORM;F;M|Mann;F|Kvinne;*|Ukjent]

Kvinne

[TRANSFORM;X;M|Mann;F|Kvinne;*|Ukjent]

Ukjent

Användning: HR-koder → visa text i meddelanden.


[CONTAINS;valueList;targetList;ifYes;ifNo]

Parameter

Syfte

valueList

Nålar med röravskiljare

targetList

En höstack med rör som avgränsning

ifYes / ifNo

Strängar som returneras vid träff/ingen träff

Uttryck

Utgång

[CONTAINS;IT-100|FIN-300;HR-200|IT-100|SALG-400;ja;nei]

ja (IT-100 hittades i målet)

[CONTAINS;FIN-300;HR-200|IT-100;ja;nei]

nei

Användning: Förgrening i form av regeluppsättningar inom en mall.


Operationer med arrayer (avgränsade med vertikalstreck)

Listor ser ut så här A|B|C. Många fält för HR-befattningar använder denna form.

[COUNT;ignored;list]

Parameter

Syfte

ignored

Platshållare (används inte)

list

Värden separerade med kommatecken

Uttryck

Utgång

[COUNT;x;POS-01|POS-02|]

2 (Tomma avslutande segment kan påverka antalet — testa med dina egna data)

Användning: ”Hur många befattningar har den här användaren?”


[ARRAYAPPEND;list1;list2]

Uttryck

Utgång

[ARRAYAPPEND;POS-01|;POS-02|POS-03|]

POS-01|POS-02|POS-03|

Användning: Sammanfoga rollistor från två behörighetsfrågor.


[ARRAYUNIQUE;list]

Uttryck

Utgång

[ARRAYUNIQUE;A|B|A|C|]

A|B|C|

Användning: Ta bort dubbletter av avdelnings-ID:n före export.


[ARRAYFILTER;list;allowed]

Behåller endast de objekt som förekommer i allowed.

Uttryck

Utgång

[ARRAYFILTER;POS-01|POS-02|POS-99;POS-01|POS-02|]

POS-01|POS-02|

Användning: Lägg till meddelandetyper i vitlistan för ett meddelande.


[ARRAYDIFF;current;previous]

Objekt i current inte i previous.

Sammanhang

current

previous

Utgång

Ny tjänst tillagd

POS-01|POS-02|

POS-01|

POS-02|

Ingen förändring

POS-01|

POS-01|

``

Användning: Upptäcka ny tjänst i meddelandeflödet (i kombination med [LASTVALUE;APositionCodeId]). Varning: otillförlitligt om flera positioner ändras vid en och samma import.


[ARRAYJOIN;list1;list2]

Sammanfogar två listor efter index.

Uttryck

Utgång

[ARRAYJOIN;Utvikler|HR-rådgiver;100%|20%]

Utvikler100%|HR-rådgiver20%

Användning: Kombinera parallella kolumner för exportrader i CSV-format.


[ARRAYFOREACH;array;template] / [ARRAYFOREACH;array;separator;template]

Går igenom en avgränsade med pipetecken lista. För varje icke-tomt element ersätts ??? med elementet och ???i med sitt 0-baserade index i mallen utvärderar kapslade [...] i mallen och sammanfogar sedan resultaten.

Parameter

Syfte

array

Lista med avgränsningstecken (ofta ett fält som [APositionCodeName])

separator

Valfri sammanfogningssträng mellan iterationer (standard |)

template

Text eller ett inbäddat uttryck; ??? = aktuell post, ???i = index

Uttryck

Kari APositionCodeName

Utgång

[ARRAYFOREACH;[APositionCodeName];Stilling: ???]

Utvikler|HR-rådgiver

Stilling: Utvikler|Stilling: HR-rådgiver

[ARRAYFOREACH;[APositionCodeId];, ;DEPT-???]

POS-01|POS-02

DEPT-POS-01, DEPT-POS-02

[ARRAYFOREACH;[APositionCodeId];[SUBSTRING;0;4;???]]

POS-01|POS-02

POS-|POS-

[ARRAYFOREACH;[APositionCodeName];???i:???]

Utvikler|HR-rådgiver

0:Utvikler|1:HR-rådgiver

Tomma rörsegment är hoppades över (samma konvention som [ARRAYUNIQUE] / [ARRAYPREFIX]).

Stöds inte: [ARRAYFOREACH...] inbäddad i en annan [ARRAYFOREACH...] — uttrycksutvärderingen misslyckas. Använd två parallella anrop eller [ARRAYJOIN] istället.

Användning: Formatera varje position som en egen rad i ett meddelande; lägg till ett prefix framför varje enhets-ID inför export.


[ARRAYPREFIX;list;mode;text]

Parameter

Syfte

list

Postar avskilda med vertikala streck

mode

1 = inled varje post med text; övrigt = suffix

text

Sträng som består av ett prefix eller suffix

Uttryck

Utgång

[ARRAYPREFIX;IT-100|HR-200;1;DEPT-]

DEPT-IT-100|DEPT-HR-200|

Användning: Externa ID:n för namnutrymmen.


[ARRAYTRIM;list;delimiter;maxCount]

Uttryck

Utgång

[ARRAYTRIM;A|B|C|D;|;2]

A|B

Användning: Endast de första N positionerna i ett sammanfattande e-postmeddelande.


[PRUNEARRAY;list;regex;reverse]

Parameter

Syfte

list

Postar avskilda med vertikala streck

regex

.NET-reguljära uttryck

reverse

true = behålla istället artiklar som inte stämmer överens

Uttryck

Utgång

[PRUNEARRAY;POS-01|TEMP-99|POS-02;^TEMP;false]

POS-01|POS-02

[PRUNEARRAY;POS-01|TEMP-99;^TEMP;true]

TEMP-99

Användning: Ta bort tillfälliga positionskoder från exporten.


[UNION;headers;list1;list2;...]

Sammanslår parallella listor rad för rad till rader med avstånd eller kombinerade med vertikalstreck.

Uttryck

Konceptuella resultat

[UNION;Role|Dept;Admin|User;IT|HR]

Role Admin Dept IT|User HR (mönster: sammanfoga kolumner per index)

Användning: Textblock med flera kolumner i rapporter.


Slumpmässighet, hash, unikhet

[RND;min;max]

Parameter

Syfte

min

Lägsta heltal (inklusive)

max

Största heltal (i praktiken exkluderande – kontrollera ditt intervall)

Uttryck

Exempel på utdata

[RND;1000;9999]

4521 (varierar från gång till gång)

Användning: Biljettnummer i testmallar.


[STRRND;minLen;maxLen;chars]

Parameter

Syfte

minLen / maxLen

Längdintervall

chars

Tillåtna tecken (tomt fält = standardinställning: alfanumeriska tecken)

Uttryck

Exempel på utdata

[STRRND;8;8;abcdefghjkmnpqrstuvwxyz]

kthqwrnb (varierar)

Användning: Engångskoder när lösenordsregeln inte används.


[PASSWORD;ruleId]

Parameter

Syfte

ruleId

ID för regeln för lösenordsgenerering som konfigurerats i eADM

Uttryck

Utgång

[PASSWORD;3]

t.ex. Xk9#mP2$vL (följer regel 3 om komplexitet; varierar)

Användning: Startlösenordet i välkomstmeddelandet – hantera det på ett säkert sätt.


[HASH;text]

Uttryck

Utdata (exempel)

[HASH;kari.nordmann@eksempel.kommune.no]

MD5-hexsträng på 32 tecken (ger alltid samma resultat för samma indata)

Användning: Ogenomskinliga token i länkar (inte enbart för säkerhetskritisk hashning).


[UNIQUE;base;fieldName;replacement]

Säkerställer base inte redan finns i fieldName på ett annat objekt; lägger till 2, 3, … eller infogar före replacement.

Parameter

Syfte

base

Föreslaget användarnamn eller e-postadress

fieldName

Fält som ska användas för att kontrollera att värdet är unikt (t.ex. UserName)

replacement

Valfri suffixmarkör som ska ersättas med ett tal

Scenario

Uttryck

Utgång

kari.nordmann gratis

[UNIQUE;kari.nordmann;UserName;.]

kari.nordmann

kari.nordmann tagen

samma

kari.nordmann2 eller kari2.nordmann beroende på utbyte

Användning: Kundinställningar användarnamn-uttryck tillsammans med [CLEAN] / [LOWER].


Databasuppslag och relationer

Dessa läser in eADM-data i realtid för kunden. ID:n måste finnas i din miljö.

[REFERENCE;returnField;whereField;objectTypeId;searchValue;exactMatch]

Parameter

Syfte

returnField

Fält som ska returneras från det matchade objektet (§ (sammanfogar flera fält)

whereField

Fält att söka efter

objectTypeId

1 användare, 2 avdelning, 3 grupp

searchValue

Värde som ska bestämmas

exactMatch

true exakt; false mönster

Uttryck

Träningsmatch

Utgång

[REFERENCE;OrgUnitnr;Id;2;2100]

Avdelnings-id 2100 = IT

IT-100

[REFERENCE;DisplayName;UserId;1;ola.hansen]

Användare med administratörsbehörighet

Ola Hansen

Användning: Avdelningsnummer enligt tillståndet ManagerOf id:

[REFERENCE;OrgUnitnr;Id;2;2100]

[OBJECTPERMISSION;returnField;whereField;filterValue;exactMatch;aggregate]

Läser behörigheterna för den aktuella användaren.

Parameter

Syfte

returnField

Behörighetsfält (Kommentar, Ansvarig, Utgångsdatum, SystemRoll-ID, …)

whereField

Fält att filtrera efter

filterValue

Matchvärde, eller * för alla

exactMatch

Strängjämförelseläge

aggregate

true = alla matchningar som är sammanfogade med |; false = endast först

Uttryck

Utmatning (Kari)

[OBJECTPERMISSION;Comment;SystemRoleId;501;true;false]

Automatisk tildelt

[OBJECTPERMISSION;ManagerOf;SystemRoleId;501;true;false]

2100

Förkortning för rollnamn:

Uttryck

Utgång

[OBJECTPERMISSION.SYSTEMROLE;Name;SystemRoleId;501]

Bruker Fagsystem X


[OBJECTHISTORIES;returnField;whereField;filterValue;exactMatch;aggregate]

Läser objektets historik för den aktuella användaren (logg från synkronisering/användargränssnitt).

Exempel på filter

Uttryck

Typisk utdata

Senaste tillägg av behörighet

[OBJECTHISTORIES;Comment;EntryType;AddPermission;false;false]

Tildelt av admin

Användning: ”Vem har beviljat denna behörighet?” i meddelandeflöden (ofta inbäddade i [SPLIT] / [REFERENCE]).


[FOREACH;collection;query;returnFields;headers;format]

Parameter

Syfte

collection

object, objectpermission, objecthistory, …

query

Filter (företagsomfattning läggs till automatiskt)

returnFields

Kommaseparerade fält, valfritt object.Field

headers

Kolumnrubriker för csv/html

format

csv, html, json, xml, eadm

Exempel (konceptuellt): Alla användare med roll 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

Användning: Chefsrapport inbäddad i e-postmeddelandets brödtext.


[DESCENDANTS;rootId;returnField;parentKey;foreignKey]

Parameter

Syfte

rootId

Avdelningsobjekt-ID att utgå ifrån

returnField

Fält som ska hämtas från varje nod

parentKey

Underordnat fält som pekar på överordnat fält (t.ex. DepartmentNumber)

foreignKey

Fält för överordnad identifierare (t.ex. ParentDepartmentNumber)

Start

Träd

Uttryck

Utgång

IT-ID 2100

IT → HR

[DESCENDANTS;2100;SourceId;DepartmentNumber;ParentDepartmentNumber]

IT-100,HR-200

Användning: Alla underavdelningar som omfattas av en chefs behörighet.


[SYSTEM;type;id;field]

Parameter

Syfte

type

system, systemrole, eller systemroles

id

Numeriskt ID eller *

field

Fältnamn som ska returneras

Uttryck

Utdata (dummy)

[SYSTEM;systemrole;501;Name]

Bruker Fagsystem X

[SYSTEM;system;12;Name]

Fagsystem X

Användning: Kontaktuppgifter till systemägaren i administratörsmeddelandet.


[SELECTION;rulesetId;returnField]

Parameter

Syfte

rulesetId

Regelsats som ska utvärderas per objekt

returnField

Fält från varje objekt som matchar

Uttryck

Utdata (dummy)

[SELECTION;1001;Email]

kari.nordmann@eksempel.kommune.no|ola.hansen@eksempel.kommune.no|

Användning: E-postlista över alla som uppfyller reglerna för ”Nya medarbetare”.


[AVAILABLESYSTEM;field] / [AVAILABLEROLE;systemId;field]

Returnerar värden separerade med vertikalstreck för system eller roller som uppfyller kriterierna i regelsatsen ”Tillgänglig för” för den aktuella användaren.

Uttryck

Betydelse

[AVAILABLESYSTEM;Name]

Namn på system som Kari kan få behörighet till

[AVAILABLEROLE;12;Name]

Rollnamn i system 12 som hon kan tilldelas

Användning: Dynamiska urvalslistor i formulär eller meddelanden.


[AVAILABLEDEPARTMENTS;fields;targetUserId]

Parameter

Syfte

fields

Avdelningsfält separerade med kommatecken

targetUserId

Användaren ska utvärdera; tom = aktuellt objekt

Användning: Visar en lista över avdelningar som en chef kan ansvara för (från ManagerOf, enhets-ID:n, roller i mega.eadm.no ).


[DATAOWNER;returnField]

Följer relationen mellan data och ägare för ett objekt; returnerar ett fält från ägaren.

Uttryck

Utdata (om ägargruppens namn har sparats)

[DATAOWNER;Name]

IT dataeiere


[ANTECEDANTS.SYSTEMROLE;roleId;departmentId;returnField]

Chefer som innehar roleIdförfader avdelningarna inom departmentId.

Uttryck

Utdata (dummy)

[ANTECEDANTS.SYSTEMROLE;501;2101;Email]

it-leder@eksempel.kommune.no,

Användning: Eskaleringsmejl när en underavdelning inom HR saknar lokal godkännare.


[COUNTEMPLOYEE] / [COUNTMEMBERS]

Utvärderas utifrån respektive avdelnings- eller gruppobjekt.

Objekt

Uttryck

Utdata (dummy)

IT-avdelningen

[COUNTEMPLOYEE]

47

Gruppen ”Prosjekt Alfa”

[COUNTMEMBERS]

12


[GETLASTSYNCID]

Uttryck

Utdata (dummy)

[GETLASTSYNCID]

88421 (det senaste importfil-ID:t för företaget)

Användning: Felsökning av sidfötter i administratörsmeddelanden.


[LASTVALUE;attributeName]

Det tidigare värdet för fältet från den senaste importen av HR- historiken, annars det aktuella fältet.

Sammanhang

Uttryck

Utgång

Innan synkroniseringen hade Kari en position

[LASTVALUE;APositionCodeId]

POS-01|

Efter att ha lagt till POS-02

[APositionCodeId]

POS-01|POS-02|

Servera med [ARRAYDIFF;[APositionCodeId];[LASTVALUE;APositionCodeId]]POS-02|.


Befattningar (HR med flera befattningar)

Fältet ”Position” delar index över rörledningar: index 0 = första plats, 1 = sekund.

[POSITION;returnField;whereField;matchValue]

Parameter

Syfte

returnField

Fält som ska returneras (t.ex. APositionCodeName)

whereField

Fält att matcha (t.ex. AUnitId)

matchValue

Enhet eller kod som ska sökas

Uttryck

Utgång

[POSITION;APositionCodeName;AUnitId;IT-100]

Utvikler

[POSITION;APositionCodeName;AUnitId;HR-200]

HR-rådgiver


[POSITIONS;returnField;whereField;matchValue]

Samma som [POSITION] men returnerar en jämn rad med rör över alla positioner (tom plats där det inte finns någon matchning).

Uttryck

Utgång

[POSITIONS;APositionCodeName;AUnitId;IT-100]

Utvikler| (den andra positionen är tom enligt samma indexmönster)


[GROUPPRIMARYPOSITION;returnField]

Val primär position: högst APositionPercentage, avgörande om tidigaste APositionStartDate.

Kari-positioner

Uttryck

Utgång

100 % IT, 20 % HR

[GROUPPRIMARYPOSITION;APositionCodeName]

Utvikler


[ACTIVEPOSITIONCOUNT;asOfDate]

Uttryck

Utgång

[ACTIVEPOSITIONCOUNT;17.06.2026 00:00:00]

2 (båda tjänsterna var lediga vid den tidpunkten)


Meddelandehantering och integration

[COUNTMESSAGESENT;messageId;fromDate]

Parameter

Syfte

messageId

Meddelandemallens ID (valfritt om flödet ger sammanhang)

fromDate

Räkna endast sändningar efter detta datum (valfritt)

Uttryck

Utdata (dummy)

[COUNTMESSAGESENT;1936;01.06.2026 00:00:00]

1

Användning: Kontrollfrågan ”Har du redan fått besked?” i uppföljningsflödet.


[SYSTEMOWNER]

Kräver en historikrad från behörighetsändringen (behörighet att lägga till/redigera/ta bort).

Sammanhang

Utdata (dummy)

Behörighet för roll 501 har lagts till

fagsystem-eier@eksempel.kommune.no

Användning: CC-systemets ägare när automatisk behörighet beviljas.


[SYNCSTEPPARAMETER;key;companySyncStepId]

Parameter

Syfte

key

Parameternamn vid synkroniseringssteg

companySyncStepId

Instans-ID för kundsynkroniseringssteg

Uttryck

Utgång

[SYNCSTEPPARAMETER;ApiBaseUrl;42]

https://api.example.invalid/hr

Åtkomst: Företagsadministratör i förhandsgranskningen av uttrycksbyggaren.


[APITOKEN;apiUsername]

Parameter

Syfte

apiUsername

API-användarnamn (objekttyp 14)

Uttryck

Utgång

[APITOKEN;sync.service]

Ogenomskinlig sträng för sessionstoken (varierar)

Åtkomst: Företagsadministratör i förhandsgranskning. Använd endast i säkra flöden på serversidan.


HTML-hjälpfunktioner (meddelandemallar)

[HTMLLISTMEMBEROF;displayField]

För en användare som är gruppmedlem: visar överordnade grupper.

Uttryck

Utgång

[HTMLLISTMEMBEROF;Name]

<ul><li>Prosjekt Alfa</li><li>IT-utviklere</li></ul>


[HTMLLISTARRAY;list]

Uttryck

Utgång

[HTMLLISTARRAY;Utvikler|HR-rådgiver]

<ul><li>Utvikler</li><li>HR-rådgiver</li></ul>


Kontroller för formulärmallar

Används i formulärmallar, inte i standardregelsatser.

Funktion

Syfte

[INPUTBOX;fieldId;label;default;value]

Textinmatning kopplad till formulärfältets ID

[CHECKBOX;...]

Boolesk ingång

[LISTBOX;...]

Rullgardinsmeny (fem parametrar)

[RADIO;...]

Radiogrupp

[DATEBOX;...]

Datumväljare

[AREABOX;...]

Flerradig text

[BUTTON;...]

Åtgärdsknapp

Exempel på mönster: [INPUTBOX;1042;Avdeling;IT-100;] visar den inmatning som är märkt ”Avdeling” med standardvärdet IT-100.

Markörer [NOTIFY...], [HIDDEN...], [SERVERFUNCTION...] är beteendebaserade hooks, inte datafunktioner.


Scenarier från början till slut (fiktiva data)

Välkomstmejl – endast startdatum

Ny ansatt [DisplayName] starter [SUBSTRING;0;10;[Start]].

Utdata: Ny ansatt Kari Nordmann starter 01.04.2026.


Rad om giltighetstidens utgång

Gyldig til: [IFEMPTYUSE;[OBJECTPERMISSION;ExpiryDate;SystemRoleId;501];Permanent tilgang]

Utdata: Gyldig til: Permanent tilgang


Chef saknas — eskalera till chefen på överordnad avdelning

[IFEMPTYUSE;
 [EXISTS;[Manager];];
 [REFERENCE;Email;UserId;1;[REFERENCE;Manager;Id;2;[REFERENCE;ParentDepartmentNumber;DepartmentNumber;2;[DepartmentNumber]]]]]

Kari, chef

Utgång

tom

ola.hansen@eksempel.kommune.no (e-postadress till avdelningschefen)

uppsättning

tom (EXISTS-gren – anpassa mallens logik om du behöver chefens e-postadress när den finns angiven)

Anpassa kombinationen IFEMPTYUSE/EXISTS så att den stämmer överens med syftet med din mall; testa i uttrycksbyggaren.


Endast ny tjänst — mottagare av meddelandet

Efter synkroniseringen läggs följande till POS-02:

[REFERENCE;Email;UserId;1;[POSITION;APositionManager;AUnitId;[RTRIM;[ARRAYDIFF;[APositionCodeId];[LASTVALUE;APositionCodeId]];|]]]

Utdata: E-postadress till chefen för den nya tjänstens enhet (exempel: ny-leder@eksempel.kommune.no).


Namn på automatisk säkerhetsgrupp (kundkonfiguration)

SG-[Department]-[CLEAN;[OrgUnitnr]]

Utdata: SG-IT og digitalisering-IT-100 (det exakta CLEAN-utgångssignalet kan variera).


Exportmappning — samAccountName

[UserName]

Utdata: kari.nordmann


Regelsats – användaren har en roll i systemet

Uttryck för regelattribut :

[OBJECTPERMISSION.SYSTEMROLE;Name;SystemRoleId;501]

Beräknat värde: Bruker Fagsystem X — jämförelseoperator Eller liknande / medlemsföretag.


Uttrycksbyggare

Artikel

Detalj

Var

Uttrycksbyggare för rubrikikoner, redigerare för meddelandemallar, vissa skärmbilder i eHub

Funktionslista

Alla objektfält för den valda typen samt standardfunktioner

Förhandsgranskning

Välj testanvändare/avdelning/grupp; kräver behörighet som superchef

Regelverk

Automatisering → Regeluppsättningar — minsta antal superchefer


Felsökning

Symptom

Trolig orsak

Åtgärd

Bokstavligt [FUNCTION...] i utdata

Inre fältet är tomt eller innehåller ett stavfel

Korrigera inbäddningen; kontrollera fältnamnen på objektet

Fel vid utvärdering av uttryck

Inbäddade [ARRAYFOREACH...]

Dela upp i systeranrop eller använd [ARRAYJOIN]

Tom sträng

Inget matchande ID/behörighet

Bekräfta systemroll-ID och system-ID i systemåtkomsten

Felaktig position i e-postmeddelandet

Flera befattningar ändrades samtidigt

Lita inte enbart på ARRAYDIFF/LASTVALUE

Förhandsgranskning blockerad

Roll eller skyddat fält

Utöka rollen eller förenkla testuttrycket

Fungerar i byggaren, men inte i meddelandet

Händelseflödet behöver objekthistoriken från synkroniseringen

Kör import; kontrollera posttypen i historiken


Snabbindex

Kategori

Funktioner

Datum/tid

NÅ, NOW, DATEFORMAT, DATEDIFF, DAYOFYEAR

Sträng

SUBSTRING, SPLIT, REPLACE, REPLACELIST, RTRIM, LTRIM, RPAD, LPAD, RIGHT, INITIALS, PRETTIFY, LOWER, UPPER, CLEAN, STRICTCLEAN, CNCLEAN, GETKEYVALUE

Logik

IFTHENELSE, IFEMPTYUSE, EXISTS, TRANSFORM, CONTAINS

Arrayer

COUNT, ARRAYAPPEND, ARRAYUNIQUE, ARRAYFILTER, ARRAYDIFF, ARRAYJOIN, ARRAYFOREACH, ARRAYPREFIX, ARRAYTRIM, PRUNEARRAY, UNION

Säkerhet

HASH, LÖSENORD, UNIK, RND, STRRND

Uppslag

REFERENS, OBJEKTBEFOGENHET, OBJEKTHISTORIK, FÖR VARJE, EFTERKOMMARE, SYSTEM, URVAL, TILLGÄNGLIGA SYSTEM, TILLGÄNGLIGA ROLLER, TILLGÄNGLIGA AVDELNINGAR, DATAÄGARE, FÖREGÅNGARE.SYSTEMROLE, COUNTEMPLOYEE, COUNTMEMBERS, GETLASTSYNCID, LASTVALUE

Befattningar

POSITION, POSITIONER, GRUPPENS PRIMÄRA POSITION, ANTAL AKTIVA POSITIONER

Meddelanden

COUNTMESSAGESENT, SYSTEMOWNER, SYNCSTEPPARAMETER, APITOKEN

HTML

HTMLLISTMEMBEROF, HTMLLISTARRAY

Formulär

INMATNINGSRUTA, KRYSSRUTA, KNAPP, LISTRUTA, RADIOKNAPP, DATUMRUTA, AREARUTA


Anteckningar om AI-assistenten

  1. Föredra [DisplayName]-fält innan de placeras i funktioner.

  2. Fråga var uttrycket finns: regeluppsättning, meddelande, export eller kundkonfiguration.

  3. Ersätt platshållar-ID:n (501, 2100) med kundens verkliga systemroll och avdelning ID:n från systemåtkomst.

  4. Om man använder ett positionsfilter vid import utesluts träffar; i synkroniseringsstegets regeluppsättning inkluderas träffar.

  5. Händelsemeddelandeflöden kräver objekthistorik från en synkroniseringskörning.

  6. Skapa kapslade exempel ut och in — förutom [ARRAYFOREACH...], som binder ??? per element innan mallfunktionerna körs.

  7. Använd inte inbäddning [ARRAYFOREACH...]; använd anrop till syskonobjekt eller [ARRAYJOIN].

  8. Termer: regelsätt (Regelsett), meddelandeflöde (meldingsflyt), systemåtkomst (systemtilgang), behörighet (tilgang), objekthistorik (objekthistorikk).

Senast uppdaterad: