Gå til innhold

Arbeidstider

Arbeidstider definerer normal arbeidsdag for tenanten — antall timer per dag, antall arbeidsdager i uka, samt typisk dagstart og dagslutt. Verdiene lagres i wv_Time_Config og brukes som referanse for timeregistrering og avviksberegninger.

Innstillingene finnes på Innstillinger → Portalinnstillinger → Generelt (fanen generally). Klokkeslett for dagstart/dagslutt ligger i kortet Dato / klokke på samme side.

Merk om uke- og månedsnormer: Det finnes ingen egen innstilling for "Timer per uke" eller "Timer per måned" i denne versjonen av portalen. Ukentlig normaltid kan utledes av Timer per dag × Arbeidsuke (dager), men denne utregningen lagres ikke som en egen verdi.


Tilgang

Hvem Hva trengs
Rolle Bruker med tilgang til /settings/portal-setting (administrator)
Modul Portalinnstillinger — moduleId: 99 (setting-routing.module.ts:30)
Effekt på hvem Alle ansatte i tenanten som registrerer timer (med mindre overstyrt på ansattnivå)

Ruten er beskyttet av ActivateService og ModuleGuard (setting-routing.module.ts:30).

menyvalget «Portalinnstillinger» under Innstillinger med fanen «Generelt» aktiv


Innstillinger

Disse feltene finnes faktisk i UI-et i dag:

Innstilling Felt (TS) Type / mask Lagres i kolonne Plassering på siden
Arbeidstimer per dag hourDay Tekst, mask 9,9 (portal-setting.component.ts:235) wv_Time_Config.tcHourDay (char(4)) Kort «Generelt»
Arbeidsuke (dager) weekDays Tall, min=0, max=7 (portal-setting.component.html:164) wv_Time_Config.tcWeekDays (char(4)) Kort «Generelt»
Arbeidstid fra kl. (dagstart) startTime Klokkeslett, mask 99:99 (portal-setting.component.ts:237) wv_Time_Config.tcStartTime (char(4)) Kort «Dato / klokke»
Arbeidstid til kl. (dagslutt) endTime Klokkeslett, mask 99:99 (portal-setting.component.ts:238) wv_Time_Config.tcEndTime (char(4)) Kort «Dato / klokke»

Tabellen wv_Time_Config er definert i dbscript.sql:1842. Det finnes ingen kolonner tcHourWeek eller tcHourMonth.

kortet «Generelt» med feltene «Arbeidstimer per dag» og «Arbeidsuke (dager)» kortet «Dato / klokke» med feltene «Arbeidstid fra kl.» og «Arbeidstid til kl.»


Detaljert beskrivelse per innstilling

Arbeidstimer per dag (hourDay)

Betydning. Antall timer som regnes som normal arbeidsdag for en heltidsansatt.

Inntastingsformat. Maskert som 9,9 — én siffer for timer, komma, én desimal (f.eks. 7,5). Sett av createMask('9,9') i portal-setting.component.ts:235.

Automatisk korrigering ved lagring. I portal-setting.component.ts:430 konverteres verdien slik før den sendes til backend:

  • Tom verdi eller verdi ≤ 1 → settes til "1.0".
  • Komma erstattes med punktum.
  • Understreker (placeholdere fra masken) erstattes med 0.

Lagring. wv_Time_Config.tcHourDay.

Hvem kan endre. Administrator med tilgang til Portalinnstillinger.


Arbeidsuke (dager) (weekDays)

Betydning. Antall dager per uke som anses som ordinære arbeidsdager.

Inntastingsformat. Tallfelt med min="0" og max="7" (portal-setting.component.html:164). keyUpEvent klamper verdier over max og setter verdier under min til null (portal-setting.component.ts:517-523).

Obligatorisk. Lagring feiler med feilmeldingen PortalSetting.weekDaysMandatory ("Arbeidsuke (dager) er obligatorisk") dersom feltet er tomt (portal-setting.component.ts:635-638).

Lagring. wv_Time_Config.tcWeekDays.

Hvem kan endre. Administrator.


Arbeidstid fra kl. / Arbeidstid til kl. (startTime / endTime)

Betydning. Klokkeslett som markerer typisk start og slutt på normalarbeidsdag.

Inntastingsformat. Maskert som 99:99 (timer:minutter). Sett av createMask({ mask: '99:99', keepStatic: true }) i portal-setting.component.ts:237-238.

Validering ved lagring (portal-setting.component.ts:546-591):

Regel Feilmelding (i18n-nøkkel)
Format må være HH:mm med 4 sifre PortalSetting.startTimeFormatIncorrect / PortalSetting.endTimeFormatIncorrect
Timer ≤ 23, minutter ≤ 59 PortalSetting.startTimeNotExceed / PortalSetting.endTimeNotExceed
Hvis bare det ene er fylt ut, kreves det andre PortalSetting.startTimeRequired / PortalSetting.endTimeRequired
startTime må være ≤ endTime PortalSetting.startTimenNotExceedEndTime

Begge feltene kan stå tomme — da fjernes valideringen (portal-setting.component.ts:593-596).

Lagring. Verdien strippes for kolon og understreker før den sendes til backend (portal-setting.component.ts:483-484), og lagres som 4-tegns streng i wv_Time_Config.tcStartTime og tcEndTime.

Hvem kan endre. Administrator.


Slik endrer du arbeidstider

  1. Åpne Innstillinger → Portalinnstillinger.
  2. Klikk fanen Generelt. Standardfanen ved åpning er Periode (currentTab = "period"), så velg Generelt for arbeidstidsfeltene (portal-setting.component.ts:39).
  3. I kortet Generelt: juster Arbeidstimer per dag (f.eks. 7,5) og Arbeidsuke (dager) (f.eks. 5).
  4. I kortet Dato / klokke lenger ned: juster Arbeidstid fra kl. og Arbeidstid til kl. hvis ønskelig.
  5. Klikk Lagre. Ved suksess vises bekreftelsen PortalSetting.savedOK (portal-setting.component.ts:504).
  6. Ny verdi for timeConfig skrives også til localStorage slik at andre faner ser oppdateringen umiddelbart (portal-setting.component.ts:491-500).

feltene «Arbeidstimer per dag» og «Arbeidsuke (dager)» med eksempelverdier og Lagre-knappen aktiv


Vanlige problemer

«Arbeidsuke (dager) er obligatorisk»

Feltet weekDays er tomt. Sett en verdi mellom 0 og 7 og prøv igjen. Meldingen kommer fra PortalSetting.weekDaysMandatory i no.json:956.

Arbeidstimer per dag ble plutselig satt til 1.0 ved lagring

Hvis du sender inn tom verdi eller en verdi ≤ 1, normaliserer portalen verdien til "1.0" før den lagres (portal-setting.component.ts:430). Legg inn ønsket verdi (f.eks. 7,5) og lagre på nytt.

«Start tid kan ikke overskride slutt tid» / PortalSetting.startTimenNotExceedEndTime

Dagstart må være tidligere enn dagslutt. Sjekk at f.eks. 08:00 → 16:00, ikke omvendt.

Bare ett av dagstart/dagslutt er fylt ut

Backenden krever begge eller ingen. Tøm begge feltene hvis du ikke ønsker å bruke dem, ellers fyll begge.

«Timer per uke» / «Timer per måned» finnes ikke i UI-et

Det stemmer — disse er ikke egne innstillinger i denne versjonen. Bare Arbeidstimer per dag og Arbeidsuke (dager) finnes som lagrede verdier i wv_Time_Config. Hvis du trenger en ukenorm, beregn den selv: hourDay × weekDays.


Tekniske detaljer


Relaterte sider