Ö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
-
Motorn söker igenom uttrycket efter
[...]tokens. -
[ARRAYFOREACH...]körs först — innan den inre första genomgången — så att mallplatshållare???och???ibindning per element avgränsat med pipetecken. -
I övrigt tolkas det innersta parentesparet först.
-
Varje funktion returnerar ett resultat i klartext som ersätter parentesen.
-
När inga funktioner återstår, återstående
[FieldName]tokens ersätts från aktuellt objekt (och valfritt historikraden i meddelandeflöden). -
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= |
|
Användarpositioner (rörjusterade) |
|
|
IT -avdelningen (typ 2) |
Id= |
|
Personal avdelningen (en del av IT-avdelningen) |
Id= |
|
Systemroll (behörighet) |
Id= |
|
Tillstånd för Kari |
SystemRoleId= |
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ändayyyy-MM-ddoch 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 |
|
|
|
2 |
|
|
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]]]
-
Behörighet → avdelnings-id
2100 -
Avdelning → chefens användar-ID
-
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; |
|
Organisationsadministratör |
Uttryck som påverkar skyddade fält i förhandsgranskningen |
|
Superadministratör |
|
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 |
|---|---|
|
|
Personnamn |
|
|
Konto / e-post |
|
|
Grundskolan |
|
|
Datum och klockslag för anställningens början |
|
|
Referens från personalavdelningen |
|
|
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 |
|
|
Lägg till eller dra ifrån N dagar |
|
Uttryck |
Antaget datum på servern |
Utgång |
|---|---|---|
|
|
17 juni 2026 14:30:00 |
|
|
|
17.06.2026 |
|
Användning: Visning av behörighetsstart och relativa tidsfrister i mallar.
[DATEFORMAT;date;format]
Omformaterar en datumsträng.
|
Parameter |
Syfte |
|---|---|
|
|
Inmatningsdatum, eller datum separerade med vertikalstreck |
|
|
Utgångsmönster (t.ex. |
|
Uttryck |
Indata (efter fältupplösning) |
Utgång |
|---|---|---|
|
|
— |
|
|
|
två datum |
|
Användning: Exportformat, ISO-datum i API-data.
[DATEDIFF;date1;date2;unit]
Den numeriska skillnaden mellan två datum.
|
Parameter |
Syfte |
|---|---|
|
|
Senare eller tidigare datum |
|
|
Tidigare datum eller referensdatum |
|
|
|
|
Uttryck |
Utgång |
Betydelse |
|---|---|---|
|
|
|
77 dagar från start till idag |
|
|
|
Samma kalenderår i detta exempel |
Användning: Kontroll av anställningstid i regeluppsättningar, ”dagar till start” i meddelanden.
[DAYOFYEAR;date]
|
Parameter |
Syfte |
|---|---|
|
|
Datum för utvärdering |
|
Uttryck |
Utgång |
|---|---|
|
|
|
Användning: Säsongsrelaterade regler, knep för räkenskapsperioden.
Strängbearbetning
[SUBSTRING;start;length;text]
|
Parameter |
Syfte |
|---|---|
|
|
Startindex med 0 som utgångspunkt |
|
|
Antal tecken som ska tas |
|
|
Källsträng (ofta ett inbäddat fält) |
|
Uttryck |
Beslutat |
Utgång |
|---|---|---|
|
|
— |
|
|
|
— |
|
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 |
|---|---|
|
|
Sträng som ska delas upp |
|
|
Avgränsare (t.ex. |
|
|
0-baserat styckindex, eller |
|
Uttryck |
Utgång |
|---|---|
|
|
|
|
|
|
Användning: Hälsningsfras från fältet för sammansatt namn; välj den sista positionskoden.
[REPLACE;text;find;replace]
|
Parameter |
Syfte |
|---|---|
|
|
Originalsträng |
|
|
Delsträng(ar) som ska ersättas; pipe = flera; |
|
|
Ersättningstext |
|
Uttryck |
Utgång |
|---|---|
|
|
|
|
|
|
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 |
|---|---|
|
|
Ingång |
|
|
Tecken som ska mappas från |
|
|
Tecken som ska mappas till |
|
Uttryck |
Utgång |
|---|---|
|
|
|
Användning: Korrigeringar av äldre teckenuppsättningar vid import.
[RTRIM;text;chars] / [LTRIM;text;chars]
|
Parameter |
Syfte |
|---|---|
|
|
Indata; om den innehåller |
|
|
Tecken som ska tas bort från slutet (RTRIM) eller början (LTRIM) |
|
Uttryck |
Utgång |
|---|---|
|
|
|
|
|
|
Användning: Rensa rörlistorna efter [ARRAYDIFF].
[RPAD;text;padChar;totalLength] / [LPAD;text;padChar;totalLength]
|
Parameter |
Syfte |
|---|---|
|
|
Värde att fylla i |
|
|
Fyllnadsbokstav |
|
|
Målbredd |
|
Uttryck |
Utgång |
|---|---|
|
|
|
|
|
|
Användning: Personnummer med fast bredd vid filexport.
[RIGHT;length;text]
|
Parameter |
Syfte |
|---|---|
|
|
Hur många tecken från höger |
|
|
Källa |
|
Uttryck |
Utgång |
|---|---|
|
|
|
Användning: De sista siffrorna i personnummer i testmiljöer.
[INITIALS;text;startWord;endWord]
|
Parameter |
Syfte |
|---|---|
|
|
Fullständigt namn eller fras |
|
|
Ordindex från början (0-baserat) |
|
|
Ordlista till slutet, eller |
|
Uttryck |
Utgång |
|---|---|
|
|
|
|
|
|
Användning: Kortkoder i gruppnamn eller e-postalias.
[PRETTIFY;text]
Stora bokstäver efter mellanslag eller bindestreck.
|
Uttryck |
Utgång |
|---|---|
|
|
|
|
|
|
Användning: Visa namn i meddelanden när HR skickar med versaler.
[LOWER;text] / [UPPER;text]
|
Uttryck |
Utgång |
|---|---|
|
|
|
|
|
|
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 |
|---|---|---|
|
|
|
Användarnamn / uid |
|
|
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 |
|---|---|
|
|
Nyckel att hitta |
|
|
Avgränsningstecken mellan nyckel och värde (ofta |
|
|
Lista med nyckel-värde-tokens, åtskilda med pip-tecken |
|
Uttryck |
|
Utgång |
|---|---|---|
|
|
— |
|
Användning: Anpassade importmetadata för tilläggsattribut.
Logik och kontrollflöde
[IFTHENELSE;query;thenValue;elseValue]
|
Parameter |
Syfte |
|---|---|
|
|
Villkor för aktuellt objekt (t.ex. |
|
|
Returneras om sökningen ger träff |
|
|
Returneras om inte |
|
Sammanhang |
Uttryck |
Utgång |
|---|---|---|
|
Användare Kari (typ 1) |
|
|
|
IT-avdelningen (typ 2) |
samma |
|
Användning: En enda mall för olika objekttyper.
[IFEMPTYUSE;primary;fallback;reversed]
|
Parameter |
Syfte |
|---|---|
|
|
Värde att testa |
|
|
Används när primärfältet är tomt (standard) |
|
|
Valfritt |
|
Uttryck |
Karins tillstånds giltighetstid löper ut |
Utgång |
|---|---|---|
|
|
tom |
|
|
|
|
|
|
|
Chef= |
`` (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 |
|---|---|
|
|
Testad sträng |
|
|
Returneras endast om |
|
Uttryck |
Fältet ”Kari Manager” |
Utgång |
|---|---|---|
|
|
|
|
|
|
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 |
|---|---|
|
|
Värde att mappa |
|
|
Jämför indata med utdata |
|
|
Jokertecken om ingen nyckel stämmer överens |
|
Uttryck |
|
Utgång |
|---|---|---|
|
|
— |
|
|
|
— |
|
Användning: HR-koder → visa text i meddelanden.
[CONTAINS;valueList;targetList;ifYes;ifNo]
|
Parameter |
Syfte |
|---|---|
|
|
Nålar med röravskiljare |
|
|
En höstack med rör som avgränsning |
|
|
Strängar som returneras vid träff/ingen träff |
|
Uttryck |
Utgång |
|---|---|
|
|
|
|
|
|
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 |
|---|---|
|
|
Platshållare (används inte) |
|
|
Värden separerade med kommatecken |
|
Uttryck |
Utgång |
|---|---|
|
|
|
Användning: ”Hur många befattningar har den här användaren?”
[ARRAYAPPEND;list1;list2]
|
Uttryck |
Utgång |
|---|---|
|
|
|
Användning: Sammanfoga rollistor från två behörighetsfrågor.
[ARRAYUNIQUE;list]
|
Uttryck |
Utgång |
|---|---|
|
|
|
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 |
|---|---|
|
|
|
Användning: Lägg till meddelandetyper i vitlistan för ett meddelande.
[ARRAYDIFF;current;previous]
Objekt i current inte i previous.
|
Sammanhang |
|
|
Utgång |
|---|---|---|---|
|
Ny tjänst tillagd |
|
|
|
|
Ingen förändring |
|
|
`` |
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 |
|---|---|
|
|
|
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 |
|---|---|
|
|
Lista med avgränsningstecken (ofta ett fält som |
|
|
Valfri sammanfogningssträng mellan iterationer (standard |
|
|
Text eller ett inbäddat uttryck; |
|
Uttryck |
Kari |
Utgång |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
|---|---|
|
|
Postar avskilda med vertikala streck |
|
|
|
|
|
Sträng som består av ett prefix eller suffix |
|
Uttryck |
Utgång |
|---|---|
|
|
|
Användning: Externa ID:n för namnutrymmen.
[ARRAYTRIM;list;delimiter;maxCount]
|
Uttryck |
Utgång |
|---|---|
|
|
|
Användning: Endast de första N positionerna i ett sammanfattande e-postmeddelande.
[PRUNEARRAY;list;regex;reverse]
|
Parameter |
Syfte |
|---|---|
|
|
Postar avskilda med vertikala streck |
|
|
.NET-reguljära uttryck |
|
|
|
|
Uttryck |
Utgång |
|---|---|
|
|
|
|
|
|
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 |
|---|---|
|
|
|
Användning: Textblock med flera kolumner i rapporter.
Slumpmässighet, hash, unikhet
[RND;min;max]
|
Parameter |
Syfte |
|---|---|
|
|
Lägsta heltal (inklusive) |
|
|
Största heltal (i praktiken exkluderande – kontrollera ditt intervall) |
|
Uttryck |
Exempel på utdata |
|---|---|
|
|
|
Användning: Biljettnummer i testmallar.
[STRRND;minLen;maxLen;chars]
|
Parameter |
Syfte |
|---|---|
|
|
Längdintervall |
|
|
Tillåtna tecken (tomt fält = standardinställning: alfanumeriska tecken) |
|
Uttryck |
Exempel på utdata |
|---|---|
|
|
|
Användning: Engångskoder när lösenordsregeln inte används.
[PASSWORD;ruleId]
|
Parameter |
Syfte |
|---|---|
|
|
ID för regeln för lösenordsgenerering som konfigurerats i eADM |
|
Uttryck |
Utgång |
|---|---|
|
|
t.ex. |
Användning: Startlösenordet i välkomstmeddelandet – hantera det på ett säkert sätt.
[HASH;text]
|
Uttryck |
Utdata (exempel) |
|---|---|
|
|
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 |
|---|---|
|
|
Föreslaget användarnamn eller e-postadress |
|
|
Fält som ska användas för att kontrollera att värdet är unikt (t.ex. |
|
|
Valfri suffixmarkör som ska ersättas med ett tal |
|
Scenario |
Uttryck |
Utgång |
|---|---|---|
|
|
|
|
|
|
samma |
|
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 |
|---|---|
|
|
Fält som ska returneras från det matchade objektet ( |
|
|
Fält att söka efter |
|
|
|
|
|
Värde som ska bestämmas |
|
|
|
|
Uttryck |
Träningsmatch |
Utgång |
|---|---|---|
|
|
Avdelnings-id 2100 = IT |
|
|
|
Användare med administratörsbehörighet |
|
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 |
|---|---|
|
|
Behörighetsfält (Kommentar, Ansvarig, Utgångsdatum, SystemRoll-ID, …) |
|
|
Fält att filtrera efter |
|
|
Matchvärde, eller |
|
|
Strängjämförelseläge |
|
|
|
|
Uttryck |
Utmatning (Kari) |
|---|---|
|
|
|
|
|
|
Förkortning för rollnamn:
|
Uttryck |
Utgång |
|---|---|
|
|
|
[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 |
|
|
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 |
|---|---|
|
|
|
|
|
Filter (företagsomfattning läggs till automatiskt) |
|
|
Kommaseparerade fält, valfritt |
|
|
Kolumnrubriker för csv/html |
|
|
|
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 |
|---|---|
|
|
Avdelningsobjekt-ID att utgå ifrån |
|
|
Fält som ska hämtas från varje nod |
|
|
Underordnat fält som pekar på överordnat fält (t.ex. |
|
|
Fält för överordnad identifierare (t.ex. |
|
Start |
Träd |
Uttryck |
Utgång |
|---|---|---|---|
|
IT-ID |
IT → HR |
|
|
Användning: Alla underavdelningar som omfattas av en chefs behörighet.
[SYSTEM;type;id;field]
|
Parameter |
Syfte |
|---|---|
|
|
|
|
|
Numeriskt ID eller |
|
|
Fältnamn som ska returneras |
|
Uttryck |
Utdata (dummy) |
|---|---|
|
|
|
|
|
|
Användning: Kontaktuppgifter till systemägaren i administratörsmeddelandet.
[SELECTION;rulesetId;returnField]
|
Parameter |
Syfte |
|---|---|
|
|
Regelsats som ska utvärderas per objekt |
|
|
Fält från varje objekt som matchar |
|
Uttryck |
Utdata (dummy) |
|---|---|
|
|
|
Användning: E-postlista med 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 |
|---|---|
|
|
Namn på system som Kari kan få behörighet till |
|
|
Rollnamn i system 12 som hon kan tilldelas |
Användning: Dynamiska urvalslistor i formulär eller meddelanden.
[AVAILABLEDEPARTMENTS;fields;targetUserId]
|
Parameter |
Syfte |
|---|---|
|
|
Avdelningsfält separerade med kommatecken |
|
|
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) |
|---|---|
|
|
|
[ANTECEDANTS.SYSTEMROLE;roleId;departmentId;returnField]
Chefer som innehar roleId på förfader avdelningarna inom departmentId.
|
Uttryck |
Utdata (dummy) |
|---|---|
|
|
|
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 |
|
|
|
Gruppen ”Prosjekt Alfa” |
|
|
[GETLASTSYNCID]
|
Uttryck |
Utdata (dummy) |
|---|---|
|
|
|
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 |
|
|
|
Efter att ha lagt till 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 |
|---|---|
|
|
Fält som ska returneras (t.ex. |
|
|
Fält att matcha (t.ex. |
|
|
Enhet eller kod som ska sökas |
|
Uttryck |
Utgång |
|---|---|
|
|
|
|
|
|
[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 |
|---|---|
|
|
|
[GROUPPRIMARYPOSITION;returnField]
Val primär position: högst APositionPercentage, avgörande om tidigaste APositionStartDate.
|
Kari-positioner |
Uttryck |
Utgång |
|---|---|---|
|
100 % IT, 20 % HR |
|
|
[ACTIVEPOSITIONCOUNT;asOfDate]
|
Uttryck |
Utgång |
|---|---|
|
|
|
Meddelandehantering och integration
[COUNTMESSAGESENT;messageId;fromDate]
|
Parameter |
Syfte |
|---|---|
|
|
Meddelandemallens ID. Valfritt — om det utelämnas (motsvarar |
|
|
Räkna endast sändningar efter detta datum (valfritt) |
|
Uttryck |
Utdata (dummy) |
|---|---|
|
|
|
Utelämnat messageId: Om meddelandemallens ID inte anges ([COUNTMESSAGESENT;] är lika med 0), utvärderas uttrycket i sammanhanget för den meddelandemall vars avsändning utlöste regeluppsättningen. Med andra ord tolkas det som ”har det meddelande som just nu skickas redan skickats till denna mottagare?”, inte som något enskilt fast mall-ID. Tack vare detta kan samma regeluppsättning återanvändas som skydd mot dubbelutskick för flera olika meddelandemallar, istället för att skapa en separat regeluppsättning för varje mall.
Varning: Förhandsgranskningen av regeluppsättningen i uttrycksbyggaren fungerar inte när messageId utesluts, eftersom det utanför en faktisk meddelandesändning inte finns någon utlösande meddelandemall som kan tillhandahålla det sammanhanget.
Användning: Säkerhetskontrollen ”Har du redan fått ett meddelande?” i uppföljningsflödet; gemensam säkerhetskontroll mot dubbelutskick i flera meddelandemallar.
[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 |
|
Användning: CC-systemets ägare när automatisk behörighet beviljas.
[SYNCSTEPPARAMETER;key;companySyncStepId]
|
Parameter |
Syfte |
|---|---|
|
|
Parameternamn vid synkroniseringssteg |
|
|
Instans-ID för kundsynkroniseringssteg |
|
Uttryck |
Utgång |
|---|---|
|
|
|
Åtkomst: Företagsadministratör i förhandsgranskningen av uttrycksbyggaren.
[APITOKEN;apiUsername]
|
Parameter |
Syfte |
|---|---|
|
|
API-användarnamn (objekttyp 14) |
|
Uttryck |
Utgång |
|---|---|
|
|
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 |
|---|---|
|
|
|
[HTMLLISTARRAY;list]
|
Uttryck |
Utgång |
|---|---|
|
|
|
Kontroller för formulärmallar
Används i formulärmallar, inte i standardregelsatser.
|
Funktion |
Syfte |
|---|---|
|
|
Textinmatning kopplad till formulärfältets ID |
|
|
Boolesk ingång |
|
|
Rullgardinsmeny (fem parametrar) |
|
|
Radiogrupp |
|
|
Datumväljare |
|
|
Flerradig text |
|
|
Å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 |
|
|
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 enheten där den nya tjänsten ska tillsättas (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 |
Två inmatningssätt för ett värde i ett regelvillkor
Varje villkorsrad på fliken ”Regler” i en regeluppsättning har ett fält för ”Attribut” (eller ”Argument”) med två små ikoner som växlar mellan olika inmatningslägen:
-
Rullgardinsläge (ikonen med upp- och nedpilar) — standardinställningen. Visar en sökbar rullgardinsmeny med objektets attributvärden, grupperade efter typ (användar-, grupp-, avdelnings- eller formulärattribut, beroende på vad regeluppsättningen används till).
-
Fritt textläge (tangentbordsikon) — ändrar fältet till en vanlig textruta. Använd detta för att skriva in fast kodad text eller ett funktionsuttryck med hjälp av den parentesbaserade syntaxen som beskrivits tidigare i den här artikeln, t.ex.
[COUNTMESSAGESENT;7166].
Även i fritextläget finns funktionen för automatisk komplettering: när man skriver in en del av ett funktions- eller fältnamn (t.ex. [count) ytor med motsvarande egenskaper och funktioner, till exempel [COUNTEMPLOYEE], [COUNTMEMBERS], och [COUNTMESSAGESENT;message id].
Testa ett uttryck med ”Redigera uttryck”
När ett villkorsfält är i fritextläge kan du klicka på en extra ikon bredvid fältet för att öppna dialogrutan ”Redigera uttryck ”. Använd den för att testa ett funktionsuttryck mot ett verkligt objekt innan du sparar regeln.
I dialogrutan visas följande:
-
Objekttyp – regelsatsens primära objekttyp (t.ex. Användare) och vilka sekundära sammanhang som finns tillgängliga (Funktion, Funktionsalias, Händelse, Historik).
-
Sammanhang – ett testobjekt som utvärderingen ska baseras på. Använd Sök för att välja ett specifikt objekt, eller Välj slumpmässigt för att låta eADM välja ett.
-
Uttryck — ett redigerbart textfält som redan är ifyllt med villkorets aktuella uttryck.
-
Resultat — det utvärderade resultatet, som visas efter att man har klickat på ”Execute”.
När du redigerar och håller muspekaren över en funktion i uttrycket visas ett hjälptips med funktionens fullständiga syntax, en kort beskrivning och betydelsen av varje parameter. Hjälptipset markerar hela uttrycket i grönt och visar den del som motsvarar den aktuella markörpositionen i fetstil, vilket gör det betydligt enklare att navigera i långa eller djupt kapslade uttryck.
Obs! Precis som när det gäller uttrycksbyggaren i allmänhet krävs administratörsbehörighet för att testa ett uttryck i funktionen ”Redigera uttryck” (se Behörighetsnivåer ovan).
Felsökning
|
Symptom |
Trolig orsak |
Åtgärd |
|---|---|---|
|
Bokstavligt |
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 |
Dela upp i systeranrop eller använd |
|
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 |
|
Förhandsvisningen startar inte / slutar fungera utan att visa något meddelande |
|
Förväntat — sammanhanget för den utlösande meddelandemallen finns endast under en faktisk sändning. Testa den omgivande logiken utan detta villkor, eller ange tillfälligt en riktig |
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
-
Föredra
[DisplayName]-fält innan de placeras i funktioner. -
Fråga var uttrycket finns: regeluppsättning, meddelande, export eller kundkonfiguration.
-
Ersätt platshållar-ID:n (
501,2100) med kundens verkliga systemroll och avdelning ID:n från systemåtkomst. -
Om man använder ett positionsfilter vid import utesluts träffar; i synkroniseringsstegets regeluppsättning inkluderas träffar.
-
Händelsemeddelandeflöden kräver objekthistorik från en synkroniseringskörning.
-
Skapa kapslade exempel ut och in — förutom
[ARRAYFOREACH...], som binder???per element innan mallfunktionerna körs. -
Använd inte inbäddning
[ARRAYFOREACH...]; använd anrop till syskonobjekt eller[ARRAYJOIN]. -
[COUNTMESSAGESENT;]medmessageId”omitted” utvärderas mot den meddelandemall som just nu skickas, vilket innebär att en regeluppsättning kan styra flera meddelandemallar – men förhandsgranskningen fungerar inte utanför en faktisk sändning. -
Det finns två sätt att ange värdet för ett regelvillkor: via rullgardinsmenyn (attributväljare) eller med fri text (tangentbordsikonen, fast angiven text eller uttryck), där alternativet ”Redigera uttryck” är tillgängligt i fritxtläget för att testa mot ett exempelobjekt.
-
Termer: regelsätt (Regelsett), meddelandeflöde (meldingsflyt), systemåtkomst (systemtilgang), behörighet (tilgang), objekthistorik (objekthistorikk).