Gå til innhold

Perioder, låsing og korreksjon

Periodestatus styrer om ordinære timer kan registreres og endres. En administrator kan åpne en periode igjen eller bruke den dokumenterte korreksjonsflyten.


Tilstander

stateDiagram-v2
  direction LR
  [*] --> Active
  Active --> Locked: Sett måned inaktiv
  Locked --> Active: Åpne måned
  Active --> NotFound: Årsrad mangler
  NotFound --> Active: Opprett årsrad

  Active: p_mNNActive = 1
  Locked: p_mNNActive = 0
  NotFound: Ingen årsrad, behandles som åpen i UI

wv_PeriodStatus har én rad per år med tolv månedsflagg. Det er ikke én rad per måned. LockDate brukes i tillegg til friststyring.


Bruker- og systemflyt

flowchart TD
  A["Bruker velger dato"] --> B["UI kaller IsDateLocked"]
  B --> C{"Måneden er aktiv?"}
  C -- "Ja" --> D["Felter er åpne<br/>registrering kan lagres"]
  C -- "Nei" --> E["Felter deaktiveres<br/>brukeren varsles"]
  E --> F{"Korrigering nødvendig?"}
  F -- "Nei" --> G["Vent til perioden åpnes"]
  F -- "Ja" --> H["Administrator åpner perioden<br/>eller bruker korreksjonsrutinen"]
  H --> D
Handling Teknisk effekt
Sett måneder aktive/inaktive wv_PeriodStatus_update_V2 oppdaterer alle månedsflagg for året
Lås eller åpne et intervall wv_PeriodStatus_get_insert_update_V2 går gjennom månedene og oppretter manglende årsrad
Kontroller valgt dato API-et leser periodestatus og returnerer låst/åpen til Time-UI

Avvik og gjenoppretting

Situasjon Løsning Kontroller
Årsrad mangler Første administrative oppdatering oppretter raden p_Year og månedsflagg
Ordinær registrering avvises Åpne perioden eller bruk korreksjonsflyten Aktuell månedskolonne og LockDate
Periode ble åpnet ved en feil Lås den igjen etter at omfanget er kontrollert At ingen uønskede timer ble endret
Eksport og periodestatus avviker Sammenhold eksportlogg og periode før ny kjøring wv_Time_ExportLog, wrExported, månedsflagg

Relaterte sider