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
-
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, ”antal 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 ö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 |
|---|---|
|
|
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 flödet ger sammanhang) |
|
|
Räkna endast sändningar efter detta datum (valfritt) |
|
Uttryck |
Utdata (dummy) |
|---|---|
|
|
|
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 |
|
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 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 |
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 |
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]. -
Termer: regelsätt (Regelsett), meddelandeflöde (meldingsflyt), systemåtkomst (systemtilgang), behörighet (tilgang), objekthistorik (objekthistorikk).