Gå til innhold

Flyt: Timeføring → godkjenning → eksport

Hvordan en timeregistrering går fra appen til lønnsgrunnlag. Data lagres i ePortal-/tidsdatabasen via lagrede prosedyrer (wv_Time_*).

Hovedflyt

flowchart TD
    A[TIMELISTE: velg dato] --> B[Last lønnsarter, avdeling/<br/>prosjekt/ordre, helligdager]
    B --> C[Registrer: aktivitet,<br/>fra/til-tid, antall, kontering]
    C --> D{Repeter?}
    D -->|ja| E[Én rad per dag<br/>hopper helg/helligdag]
    D -->|nei| F[Én rad]
    E & F --> G[SaveTimeRegistration]
    G --> H[WageReg-tabell<br/>wv_Time_WageReg_ins/upd]
    H --> I[Leder: kontroller + godkjenn<br/>wrApproved]
    I --> J[Eksport til lønn/Visma<br/>wrExported / wrERPSynced]

    classDef ansatt fill:#cfe2ff,stroke:#3b6db5
    classDef leder fill:#fff3cd,stroke:#b59a3b
    classDef sys fill:#f8d7da,stroke:#b53b46
    class A,C ansatt
    class I leder
    class B,G,H,J sys

Steg

  1. Last data (GetWageTypeRegSumHoliday, LoadTimeRegistrationData): lønnsarter, ansvarsenheter (avdeling/prosjekt/ordre), helligdager, periodesummer.
  2. Registrer: aktivitet (lønnsart), fra/til-klokkeslett (timetall beregnes i 0,25-trinn; registrering over midnatt deles på to dager), antall, kontering, skift/ekstra, kommentar.
  3. Lagre (SaveTimeRegistration): valideres (påkrevde felt per lønnsart, kryss-PD-regler), lagres i WageReg. Repetisjon lager én rad per virkedag.
  4. Godkjenn: leder setter wrApproved.
  5. Eksport: wrExported/wrERPSynced mot lønn.

Lønnsperioden

Styres av PayrollPeriodCutoffDay (per selskap):

  • 31 → hel kalendermåned (1.–siste).
  • Annen dag D → perioden går fra D i måneden til D−1 i neste.

Samspill bruker ↔ system

sequenceDiagram
    autonumber
    actor A as Ansatt
    participant App as Connect-app
    participant API as TimeRegistration API
    participant DB as Tidsdatabase
    App->>API: GetWageTypeRegSumHoliday (dato)
    API->>DB: wv_Time_WageReg_Sum / Cal_get
    A->>App: Registrer timer
    App->>API: POST SaveTimeRegistration
    API->>API: ValidateWageReg
    API->>DB: wv_Time_WageReg_ins (per dag ved repetisjon)
    DB-->>API: OK
    API-->>App: Lagret

Datalag

WageReg (tidsdatabasen) — skrives via wv_Time_WageReg_ins/_upd:

Felt Innhold
wrDate Dato (YYYYMMDD)
wtNo Lønnsart/aktivitet
wrEmplNo Ansattnummer
wrQty Antall timer
wrStart / wrEnd Fra/til-tid
wrDep / wrProj / wrWorkOrd Avdeling / prosjekt / arbeidsordre
wrRegBy Registrert av
wrApproved / wrApprovedBy Godkjenning
wrExported / wrERPSynced Eksportstatus

Timeprodukter ført på arbeidsordre (med lønnsart i TimesheetCode) havner i samme WageReg-strøm via wrWorkOrd.

Avvik og reversering

Symptom Årsak Tiltak
Timetallet «feil» Registrering over midnatt deles på to dager Forventet — sjekk nabodag
Får ikke valgt prosjekt/avdeling Påkrevd felt mangler, eller TimeGroup-filter Velg gyldig kontering / kontakt leder
Perioden «mangler» dager PayrollPeriodCutoffDay ≠ 31 Følger brytningsdagen
Registrering avvist Valideringsregel (påkrevd felt) Fyll inn manglende felt

(Verifisert i Controllers/Eportal/TimeRegistrationController.cs, TimeRegistrationRepository (wv_Time_*), eportal.core.)

Relaterte sider