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¶
- Last data (
GetWageTypeRegSumHoliday,LoadTimeRegistrationData): lønnsarter, ansvarsenheter (avdeling/prosjekt/ordre), helligdager, periodesummer. - 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.
- Lagre (
SaveTimeRegistration): valideres (påkrevde felt per lønnsart, kryss-PD-regler), lagres iWageReg. Repetisjon lager én rad per virkedag. - Godkjenn: leder setter
wrApproved. - Eksport:
wrExported/wrERPSyncedmot 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¶
- Aktivitetsregistrering · Prosessflyter
- Arbeidsordre (timeprodukter)