Arbeidsordre-innstillinger¶
Arbeidsordre-fanen i Portalinnstillinger styrer hvordan arbeidsordrenummer tildeles, hvilke dokumenter som kan lastes opp, hvilken Azure Storage-konto som brukes for vedlegg, og hvordan timer fra tidsregistrering kobles til fakturagrunnlag. Innstillingene lagres i tabellen wv_WorkOrder_Settings (én rad per klient-database) samt i wv_SystemConfiguration for produktkoder og bilagskonti — se WorkOrderSettings.cs og portal-setting.component.ts:2793.
Tilgang¶
| Hvem | Hva trengs |
|---|---|
| Rolle | Administrator (claim UserAdmin = "1") — backend nekter GET/PUT api/WorkOrder/admin-settings for ikke-admin, se WorkOrderController.cs:1493 |
| Modul | Portalinnstillinger — moduleId: 99 på ruten, se setting-routing.module.ts:30 |
| Rute | /settings/portal-setting med fane workOrder |
Sånn ser fanen ut¶
Fanen vises bare når currentTab == 'workOrder' (portal-setting.component.html:1593). Den består av fire seksjoner i ett kort:
- Toppseksjon — nummerserie og dokumentlagring (to kolonner)
- Automatisk tidsoverføring (
form-section) - Integration-API → Lager (
form-section) - Fakturagrunnlag — produktkoder (
form-section) - Korrigeringsbilag (timeflytting) (
form-section)
Nederst er en sentrert Lagre-knapp som er deaktivert når formet er ugyldig eller en lagring pågår.
Felt — nummerserie og dokumentlagring¶
| Felt (formControlName) | Type | Standard | Validering |
|---|---|---|---|
woNoSeedValue (Startverdi for AO-nummer) |
Heltall | 1000 | required, min: 1 |
useExternalWoNo (Bruk eksternt AO-nummer) |
Bryter | Av | — |
allowedFileTypes (Tillatte filtyper) |
Tekst, kommaseparert | pdf,jpg,jpeg,png,doc,docx,xls,xlsx,ppt,pptx |
— |
maxFileSizeMB (Maks filstørrelse) |
Heltall (MB) | 50 | required, min: 1, max: 500 |
storageAccountName (Storage Account-navn) |
Tekst | tom | required |
azureBlobContainerName (Blob Container-navn) |
Tekst | workorder-documents |
required |
useManagedIdentity (Bruk Managed Identity) |
Bryter | Av | — |
Verifisert i portal-setting.component.ts:2794-2801 og WorkOrderSettings.cs:16-51.
woNoSeedValue — startverdi for AO-nummer¶
WoNoSeedValue er startverdien som IDENTITY-seed-en for arbeidsordrenummer settes til ved første kjøring eller reset. Doc-strengen på WorkOrderSettings.cs:13-16 beskriver feltet som "Starting WoNo for IDENTITY seed (e.g., 100000)". Det er ikke et templat-mønster med år/sekvens — bare et heltall som AO-nummerene teller videre fra.
useExternalWoNo — eksternt AO-nummer¶
Når aktivert skjules Opprett-knappen i UI fordi arbeidsordrenummeret kommer fra et eksternt system ("True if external system provides WoNo (disables create button in UI)" — WorkOrderSettings.cs:18-21). Tooltip i UI: "Hvis aktivert, må arbeidsordrenummer angis manuelt".
Dokumentlagring i Azure Blob¶
storageAccountName + azureBlobContainerName peker på Azure Storage-kontoen som vedlegg på arbeidsordrer lagres i. Standard-container er workorder-documents. useManagedIdentity velger mellom Managed Identity (anbefalt for produksjon) og connection string fra appsettings.json — se infoboksen "Managed Identity anbefales for produksjonsmiljøer da det ikke krever lagring av tilgangsnøkler. Hvis deaktivert, må Connection String konfigureres i appsettings.json." (no.json:6642).
allowedFileTypes er en kommaseparert liste med tillatte filendelser, inkludert PowerPoint (ppt, pptx) i standardoppsettet. maxFileSizeMB håndhever maksimal filstørrelse på vedlegg.
Felt — Automatisk tidsoverføring¶
| Felt (formControlName) | Type | Standard | Validering | Synlighet |
|---|---|---|---|---|
autoTransferTime (Auto-overfør timer) |
Bryter | Av | — | Alltid synlig |
autoTransferMarkupPercent (Standard påslag) |
Desimal (%) | 0 | min: 0, max: 100, step: 0.5 |
Vises kun når autoTransferTime er på (portal-setting.component.html:1801) |
Når autoTransferTime er på, overføres tidsregistreringer med arbeidsordrenummer automatisk til fakturalinje ved registrering — ifølge hjelpeteksten "Når aktivert, overføres tidsregistreringer med arbeidsordrenummer automatisk til fakturalinje ved registrering" (no.json:6700). Modellfeltet er beskrevet som "When true, time registrations with a work order number are automatically transferred to invoice lines" (WorkOrderSettings.cs:53-56).
autoTransferMarkupPercent er prosenten som legges på når timene overføres (0 = ingen påslag).
Når bryteren er på, vises en gul advarsel-boks: "Når auto-overføring er aktivert, vil timer registrert på en arbeidsordre automatisk opprette en fakturalinje med pris fra prismatrisen. Timer uten gyldig pris i prismatrisen vil ikke bli overført automatisk, og kan overføres manuelt etterpå. Overførte timer kan fortsatt reverseres manuelt i ordren." (no.json:6703).
Felt — Integration-API → Lager¶
| Felt (formControlName) | Type | Standard |
|---|---|---|
createStockTxFromApi (Opprette lagertransaksjoner for innkommende varelinjer fra API) |
Bryter | På (true) |
Når aktivert oppretter ePortal Integration API automatisk en wv_Stock_Transaction-rad for innkommende AO-linjer som har et reelt lager-produkt (IsStockProduct = 1). Lager velges per linje med prioritet: eksplisitt StockNo > tcONIS_Transfer_StockNo > eneste lager (hvis kun ett finnes). Linjer der lager ikke kan resolves blir lagret uten lagerbevegelse — bruk Behandling → Rekalkuler eksterne uttak i Lager-modulen for å rette opp i etterkant (no.json:6706-6707).
Modellkommentaren forklarer at default er true for å speile dagens oppførsel etter migrasjonen (WorkOrderSettings.cs:64-69).
Felt — Fakturagrunnlag (produktkoder)¶
Verdiene i denne seksjonen lagres i wv_SystemConfiguration (kategori WorkOrder / Accounting) eller via time-config integration-endepunktet, ikke i wv_WorkOrder_Settings. Se portal-setting.component.ts:2841-2888.
| Felt (formControlName) | Lagres som | Standard |
|---|---|---|
hourProductCode (Produktkode for timer-sum) |
WorkOrder.HourProductCode i wv_SystemConfiguration |
tom |
transferMode (Overføringsmodus ordrer) |
wv_TimeConfig.transferMode via Settings-API |
2 (Linje for linje) — alternativ 1 (Kun sumlinjer) |
transferProd (Produktkode for material-sum) |
wv_TimeConfig.transferProd |
tom |
transferStockNo (Overfør lagernr på ordrelinjer) |
wv_TimeConfig.transferStockNo (0/1) |
Av |
hourProductCode brukes i Summary-modus av fakturagrunnlag — produktkoden tilordnes den aggregerte timer-summen (typisk 3900 i Visma Business). For å skjule produktet fra fakturavedlegg må flagget Utelat fra fakturavedlegg settes på selve produktet under Lager → Produkter (no.json:6711).
transferProd har samme funksjon for material-summen (typisk 3990).
Felt — Korrigeringsbilag (timeflytting)¶
Verdiene lagres i wv_SystemConfiguration under kategori Accounting.
| Felt (formControlName) | ConfigKey | Standard |
|---|---|---|
timeMoveDebitAccount (Debetkonto) |
Accounting.TimeMoveDebitAccount |
tom |
timeMoveCreditAccount (Kreditkonto) |
Accounting.TimeMoveCreditAccount |
tom |
timeMoveVoucherSerie (Bilagsserie) |
Accounting.TimeMoveVoucherSerie |
3 |
Korrigeringsbilag opprettes kun hvis både debet- og kreditkonto er fylt inn. Hvis disse er tomme vil flytting av timer mellom arbeidsordrer fortsatt lykkes, men du får en advarsel om at bilaget ikke ble opprettet (no.json:6721).
Slik konfigurerer du arbeidsordre-innstillinger¶
- Åpne Innstillinger → Portalinnstillinger, og velg fanen Arbeidsordre.
- Sett Startverdi for AO-nummer (
woNoSeedValue) før første arbeidsordre opprettes. Verdien er en IDENTITY-seed og endres normalt ikke etter at ordrer er opprettet. - Slå på Bruk eksternt AO-nummer hvis et tredjepartssystem leverer ordrenummeret.
- Konfigurer Storage Account-navn og Blob Container-navn (begge påkrevde). Slå på Bruk Managed Identity i produksjon — ellers krever løsningen at en Connection String er satt i
appsettings.json. - Tilpass Tillatte filtyper (kommaseparert) og Maks filstørrelse (1–500 MB).
- Vurder om Auto-overfør timer skal slås på. Hvis ja, sett en eventuell standard påslagsprosent (0–100).
- Behold Opprette lagertransaksjoner for innkommende varelinjer fra API på (default) hvis du tar imot AO-linjer via Integration-API og bruker lagerstyring.
- Sett Produktkode for timer-sum og Produktkode for material-sum hvis dere bruker Summary-modus på fakturagrunnlag.
- Sett Overføringsmodus ordrer til
Linje for linje(default) ellerKun sumlinjer. - Hvis dere bruker korrigeringsbilag for timeflytting: fyll inn Debetkonto, Kreditkonto og Bilagsserie.
- Klikk Lagre. UI viser en toast med "Innstillinger lagret" ved suksess, eller "Kunne ikke lagre innstillinger" ved feil (portal-setting.component.ts:2901).
Vanlige problemer¶
"Kunne ikke laste innstillinger" ved åpning av fanen¶
Toast med teksten "Kunne ikke laste innstillinger" vises hvis GET api/WorkOrder/admin-settings feiler — typisk fordi brukeren ikke har Admin-rolle (UserAdmin-claim ≠ "1"). Backend returnerer da Success = false med "Access denied: Admin only" (WorkOrderController.cs:1499).
Lagre-knappen er deaktivert¶
Knappen er deaktivert når workOrderSettingsForm.invalid er true (portal-setting.component.html:2019). Sjekk røde felter:
- Startverdi for AO-nummer — påkrevd og må være ≥ 1
- Maks filstørrelse — påkrevd, mellom 1 og 500
- Storage Account-navn — påkrevd
- Blob Container-navn — påkrevd
- Standard påslag (når synlig) — mellom 0 og 100
"Skjemaet er ugyldig" når jeg trykker Lagre¶
Hvis saveWorkOrderSettings() kalles mens formet er ugyldig, viser toasten General.invalidForm ("Skjemaet inneholder ugyldige verdier") og lagringen avbrytes (portal-setting.component.ts:2820). Scroll opp og fyll inn røde felter.
"Kunne ikke lagre innstillinger"¶
Vises hvis ett av de tre parallelle kallene (admin-settings, system-configuration-batch, time-config integration) feiler. Sjekk nettverk og at brukeren fortsatt har Admin-rolle.
Korrigeringsbilag opprettes ikke ved timeflytting¶
Begge Debetkonto og Kreditkonto må være fylt inn. Hvis ett av feltene er tomt, flyttes timene, men du får en advarsel om at bilaget ikke ble opprettet.
Lagerbevegelser dukker ikke opp for AO-linjer fra Integration-API¶
Hvis Opprette lagertransaksjoner for innkommende varelinjer fra API er av, blir det ingen wv_Stock_Transaction-rader. Hvis den er på, men en linje har flere mulige lagre og mangler StockNo, blir linjen lagret uten lagerbevegelse. Bruk Behandling → Rekalkuler eksterne uttak i Lager-modulen for å rette dette i etterkant.
Relaterte sider¶
- Lager-administrasjon — varekategorier, prismatriser og strekkode
- Innstillinger for arbeidsordre og lager
- Arbeidsordre-modulen
- Innstillinger — oversikt



