Categories
#Effect #Global case activities #KMD WorkZone

Global sagsaktivitet – sæt dokumentdato, Omnidocs

Release Date:
06/07/2026

Globale sagsaktiviteter blev introduceret på DCR Center of Excellence mødet den 16. juni 2026 af Emil Frederiksen og Rune Thomsen fra ATP.

Globale sagsaktiviteter overvåger ting i WorkZone på tværs af mange sager. Det kan fx være

  • Ændr tilstanden på sagen hvis der modtages et dokument
  • Dokumenter uden brevdato
  • Sager uden sagsbehandler
  • Lukkede sager med frister som skal fjernes

Desværre mister sagsaktiviteter engang imellem "forbindelsen" til sagen i WorkZone. De går simpelthen i stå. At skulle finde disse sagsaktiviteter fordelt på mange forskellige sager er en større opgave.

Fordelene ved globale aktiviteter kan opsummeres som:

  • Mindre vedligeholdelse: Centraliseringen til globale sagsaktiviteter reducerer den mængde tid og de ressourcer, it-afdelingen eller forretningen skal bruge på løbende opdateringer og fejlretning.
  • Reduceret kompleksitet: Ved at konsolidere processerne undgår man unødigt mange parallelle eller overlappende arbejdsgange, hvilket gør systemlandskabet enklere og lettere at forstå for både modellører og forretningen.
  • Øget fleksibilitet: Globale sagsaktiviteter gør det hurtigere og smidigere at tilpasse systemet til ændrede forretningsbehov eller ny lovgivning, da ændringer kan slå igennem globalt i stedet for at skulle implementeres i hver enkelt sagsaktivitet.
  • Ét samlet overblik: Ledelsen og de administrative medarbejdere opnår en mere gennemskuelig proces og en "single source of truth", hvor status og data på tværs af sagsaktiviteter kan overskues ét sted.
  • Standardisering af input og output: Med "Èn inputsøgning" og "Èt funktionelt output" sikres en ensartet brugeroplevelse for medarbejderne (f.eks. kunderådgivere) samt en højere datakvalitet, da input og output følger samme faste struktur.

Nogle sagsaktiviteter kan med fordel gøres globale, så logikken udføres på tværs af mange sager ved at sagsaktiviteten finder de sager det er relevant at gøre noget på, og så udfører denne logik på en sag ad gangen.

Eksempel - sæt dokumentdato, Omnidocs

Dette eksempel er relevant hvis du bruger Omnidocs Create til at skabe dokumenter. Desværre sætter Omnidocs ikke LetterDate når den opretter nye breve. Manglende brevdatoer kan i værste fald føre til problemer med compliance, journaliseringspligt og juridiske frister.

Ved at søge i WorkZone efter breve, hvor LetterDate er tom (dvs. null), kan den globale sagsaktivitet automatisk tilføje brevdatoen på alle disse breve på én gang. Dette sikrer den nødvendige datakvalitet og compliance helt automatisk uden menneskelig indblanding eller manuelle arbejdsgange for sagsbehandleren.

Lad os starte med at fokusere på logikken til venstre i grafen.

Grafen starter med at udføre aktiviteten "Hent BrevID". Til dette formål bruges en statisk effekt GetValue. Parametrerne til denne effekt er som følger:

Der søges i objektet Records, som er der hvor dokumenter er placeret.

Der filtreres via "Filter" i de dokumenter som er Word (Extension eq 'DOCX' and RecordType_Value eq 'DOK') samt dokumenter med en tom brevdato (LetterDate eq null) samt dokumenter der ikke er lukkede (File/Closed eq null).

Egenskaben (Property) "ID" hentes fra Records.

Der udføres en OData query og der returneres 0 eller 1 dokument ID afhængigt om der findes et. Returneres der ingen dokumenter er aktiviteten "null", ellers er den et heltal svarende til ID's i Records objektet.

Hvis der ikke findes et dokument sikrer vagten (guarden) i response reglen der går til aktiviteten "Ingen breve fundet" at denne aktivitet udføres. Guarden er: (BrevID = null). Denne aktivitet gør den næste aktivitet "Forsinkelse - intet brev" pending men med en forsinkelse på "PT1M", dvs 1 minut.

Hvis der derimod findes et dokument, dvs vagten (BrevID != null) så sættes både subprocessen "Flere gør noget her" og aktiviteten "Sæt brevdato" til pending.

L-AUTO udfører aktiviteten Sæt Brevdato ved at udføre effekten SetValue med disse parametre:

Derefter sættes aktiviteten "Nulstil værdier" til pending. Denne aktivitet har 2 værdiregel til dels "Hent BrevID" og "Sæt Brevdato". Dette er nødvendigt da WorkZone ikke opdaterer værdien hvis en effekt, her GetValue i "Hent BrevID", ikke returnerer en værdi.

Til slut sættes aktiviteten "Forsinkelse - brev fundet" til pending, men med en forsinkelse på PT5S, dvs 5 sekunder.

Dette er grundloggikken. Til højre er 3 aktiviteter grupperet i "Logik: Genstart graf". Rollen "Systemadministrator" kan på ethvert tidspunkt vælge at genstarte sagsaktiviteten.

Genstart af sagsaktiviteten

En global sagsaktivitet kan genstarte sig selv ved at udføre mønstret til højre i grafen dvs:

Dette er nødvendigt da WorkZone desværre engang imellem stopper sagsaktiviteter. Hvis en sagsaktivitet ikke har været aktiv det sidste døgn kan den genstartes automatisk ved hjælp af en graf der overvåger alle kørende globale sagsaktivitet i WorkZone.

Der sker ved at L-AUTO først udfører aktiviteten "Genstart Sagsaktivitet" som har effekten StartProcess knyttet til sig med disse parametre:

$(GP_ProcessGuid) er WorkZone's unikke id for processen i WorkZone. Her er det administreret via en global parameter i DCR Portalen.

Til slut lukkes den aktuelle sagsaktivitet ved at L-AUTO udfører "Luk graf" med effekten CompleteGraph.

Bemærk milepælsreglen fra "Flere gør noget her" til "Genstart Sagsaktiviteten". Denne regel er vigtig da den sikrer at den kørende sagsakvititet bliver færdig før der starten en ny kopi af samme graf. Teoretisk kunne grafen udføre en SetValue aktivitet, og derefter genstarte en anden sagsaktivitet som så udfører en anden SetValue før den første sagsaktivitet var lukket. Subprocessen "Flere gør noget her" kombineret med milepælreglen sikrer, at der ikke kan startes en ny sagsaktivitet før den gamle er i mål med opdateringer. Dermed undgås potentielle concurrency problemer som IT folk ville kalde det.