Gå til innhold

Lese kjøringslogg

Hver integrasjon har en historikk over kjøringer (Historikk-tab på integrasjonsdetaljer) med starttid, status, varighet, antall rader behandlet og hvem som kjørte den. Historikken er en master/detail-visning: kjøringene ligger i en kompakt liste til venstre, mens detaljene for valgt kjøring vises samtidig til høyre. På smalere skjermer stables detaljene under listen. Loggen er ditt viktigste verktøy når en integrasjon ikke gjør det den skal.

Tilgang

Hvem Hva trengs
Rolle Tilgang via ActivateService (autentisert bruker) og ModuleGuard
Modul Konti Connect (moduleId: 27) — se konti-connect-routing.module.ts:18
Effekt på data Ren leseaktivitet — ingenting endres når du blar i loggen

Tabbene på integrasjonsdetaljer

Detaljvisningen integration-detail.component.html:42-102 viser disse fanene:

Tab Innhold Når synlig
Oversikt (overview) Navn, type, beskrivelse, frekvens, status, sist/neste kjøring, opprettet/endret Alltid
Konfigurasjon (config) Konfigurasjon som JSON, samt en Debug-logging-bryter Alltid
Historikk (history) Master/detail-visning med kjøringer og detaljpanel Alltid
Bilagslogg (voucherlog) Bunter eksportert til regnskap Kun WorkOrderMaterialVoucherExport
Nye og endrede timer (timeregpreview) Forhåndsvisning av timer som skal sendes Kun DigproTimeSync
Nye bilag til bokføring (voucherpreview) Forhåndsvisning av nye materialbilag Kun WorkOrderMaterialVoucherExport
Nye bilag til Business NXT (nxtvoucherpreview) Forhåndsvisning av ventende bilag i eksportkøen til NXT Kun VismaBusinessNXT_Vouchers
Bilagshistorikk (voucherhistory) Arkiverte/eksporterte NXT-bilag, søk + gjenopprett valgte til kø Kun VismaBusinessNXT_Vouchers

Mapping/felt-oversettelse vises ikke som tab på denne siden — det konfigureres separat via egen komponent (field-mapper).

integrasjonsdetalj med fane-rad og "Historikk" valgt

Historikk-tabellen

Tabellen er et smart-grid; kolonnene defineres i integration-detail.component.ts:227-260 og har disse kolonnene:

Kolonne Beskrivelse
Starttid execution.startTime formatert dd.MM.yy HH:mm
Status Badge: Success (grønn), Failed (rød), PartialSuccess (gul), Running (blå), Cancelled (grå) — se integration-detail.component.ts:777
Varighet formatDuration(execution.duration) — millisekunder formatert som ms/s/min
Poster Tre badges: vellykket (grønn) / feilet (rød) / hoppet over (grå) / totalt behandlet

Smart-gridets sidevelger ligger nederst i kjøringslisten. Der kan du bla mellom sider og velge hvor mange kjøringer som skal vises per side.

Historikken bruker samme tabellkomponent som resten av modulen: klikk en kolonneoverskrift for å sortere, bruk traktikonet for å filtrere per kolonne, søk fritt i søkefeltet, og eksporter til Excel. Det samme gjelder Recovery-fanen, Bilagslogg-oversikten og radlistene under en kjøring.

Sortering og filtrering gjelder siden du ser på

Kjøringshistorikk, bilagslogg og bilagshistorikk hentes side for side fra serveren. Sortering og filtrering virker derfor på radene som er lastet inn, ikke på hele historikken. Skal du lete i eldre kjøringer, bla til riktig side først — eller bruk søkefeltet, som spør serveren.

Den nyeste kjøringen på siden velges automatisk. Klikk på en annen rad for å vise dens detaljer uten å forlate historikken; den valgte raden markeres med varm bakgrunn og mørk venstrekant.

tabellen med flere kjøringer og en rad uthevet for klikk

Detaljvisning for en kjøring

Når du har valgt en kjøring, vises panelet #execution-details-panel til høyre for kjøringslisten. På smalere skjermer vises det under listen. Panelet inneholder:

Sammendrag øverst

Felt Kilde
Status Samme badge som i tabellen
Starttid selectedExecution.startTime (medium format)
Varighet formatDuration(selectedExecution.duration)
Kjørt av selectedExecution.executedByName eller selectedExecution.executedBy
Poster Tekst: {processed} totalt ({succeeded} vellykket, {failed} feilet, {skipped} hoppet over) — fra nøkkelen KontiConnect.RecordsSummary
Feilmelding Vises kun hvis errorMessage er satt — rødt alert-panel

Tre underliggende faner (nav-pills)

integration-detail.component.html:468-490

  1. Steg (steps) — kronologisk liste over steg i kjøringen, med stegnummer, navn, varighet og status-ikon. Vises bare hvis kjøringen har registrerte steg.
  2. Kjøringslogg (log) — selve loggmeldingene fra kjøringen.
  3. Postdetaljer (records) — listen over enkeltposter som ble forsøkt synkronisert.

detaljpanel med sammendrag øverst og fanene Steg/Logg/Postdetaljer

Loggfanen i detalj

Loggmeldingene er typet (info / warning / error) og rendres i en list-group:

  • Feil og advarsler vises alltid øverst med ikon og farge (rødt for feil, gult for advarsel).
  • Info-meldinger vises under en sammenleggbar bryter Info-meldinger ({antall}) når det også finnes feil/advarsler. Hvis det ikke finnes feil/advarsler vises alle meldingene flatt.
  • Hvis kjøringen har metadata vises det i en <pre>-blokk med JSON nederst.

Postdetaljer-fanen i detalj

integration-detail.component.html:572-680

Postene er sortert i tre seksjoner:

Seksjon Innhold Standardvisning
Feilede/advarsler failedRecords (status failed eller warning) — kolonner: Post, Status, Handling, Melding, Tid Alltid synlig (når slike finnes)
Vellykkede poster successRecords — samme kolonner Sammenleggbart, åpnes via egen knapp
Hoppet over skippedRecords — kolonner: Post, Status, Melding Sammenleggbart, åpnes via egen knapp

Debug-logging-bryteren

Konfigurasjon-fanen finnes en Debug-logging-bryter (integration-detail.component.html:174-190). Når den er på:

  • Setter DebugLogging: true i integrasjonens konfigurasjon.
  • Et oransje varsel vises: «Debug-modus aktiv: GraphQL-spørringer, payloads og API-responser logges til kjøringsloggen. Husk å skru av etter feilsøking.»
  • Bryteren lagrer endringen umiddelbart.

Bruk denne ved aktiv feilsøking, og skru den av igjen — debug-logger kan bli store.

Hva bryteren faktisk sender

Bryteren kaller et eget endepunkt, PUT api/integration/{id}/debug-logging, og sender bare selve flagget — ingen konfigurasjon (integration-detail.component.ts:974-1018). Serveren leser den lagrede konfigurasjonen, setter flagget og skriver den tilbake i én låst transaksjon, slik at bryteren ikke kan overskrive en samtidig lagring fra redigeringsskjemaet med en utdatert kopi (IntegrationRepository.cs:359-457). Svaret fra endepunktet inneholder konfigurasjonen slik den faktisk ble lagret (uten hemmeligheter, akkurat som når integrasjonen hentes), og det er den kopien skjermbildet viser videre.

Merk at låsen beskytter én retning: bryteren kan ikke overskrive en samtidig lagring. En lagring fra redigeringsskjemaet som allerede holder en eldre kopi av konfigurasjonen, kan derimot fortsatt overskrive debug-innstillingen etter at bryteren har lagret. Skal du både endre oppsettet og skru på debug-logging, gjør skjemaendringen først.

Dette er en endring fra tidligere, da bryteren leste konfigurasjonen i nettleseren, endret den og la den inn igjen via det generelle lagre-endepunktet. Det endepunktet er en full erstatning, så feltene forespørselen ikke nevnte ble skrevet tomme — en integrasjons feltmapping (ParameterMappingJson) forsvant hver gang noen klikket på debug-bryteren.

Hvis den lagrede konfigurasjonen ikke er gyldig JSON, avviser serveren endringen med meldingen «Konfigurasjonen er ikke gyldig JSON» (KontiConnect.configError.invalidJson), og lar konfigurasjonen stå urørt. Tidligere erstattet nettleseren en uleselig konfigurasjon med et tomt objekt, slik at ett klikk på bryteren kunne slette alle innstillingene på integrasjonen. Får du denne meldingen: åpne Rediger og rett opp JSON-en før du bruker bryteren.

Mens lagringen pågår er bryteren deaktivert. Ved vellykket lagring følger bryteren svaret fra serveren. Avvises lagringen (for eksempel fordi konfigurasjonen ikke er gyldig JSON), stilles bryteren tilbake til sist kjente verdi. Kommer det ikke noe svar i det hele tatt — for eksempel ved nettverksbrudd — leses innstillingen på nytt fra serveren, siden svaret kan ha gått tapt etter at endringen ble lagret. Er heller ikke serveren tilgjengelig da, viser bryteren sist kjente verdi til siden lastes på nytt.

Konfigurasjon-fanen med Debug-logging slått PÅ og det oransje varselet synlig

Slik gjør du — feilsøke en mislykket kjøring

  1. Gå til Konti Connect → Integrasjoner og klikk integrasjonen du vil undersøke.
  2. Velg fanen Historikk — listen viser de nyeste kjøringene først. Bruk sidevelgeren nederst hvis du trenger eldre kjøringer.
  3. Identifiser raden med status Failed eller PartialSuccess. Klikk raden for å vise detaljene til høyre, eller under listen på en smal skjerm.
  4. Les Sammendrag øverst — eventuell errorMessage vises i rødt alert-felt rett under postsammendraget.
  5. Bytt til underfanen Steg (hvis tilgjengelig) for å se hvor i kjøringen det stoppet.
  6. Bytt til Kjøringslogg — feil/advarsler står øverst. Hvis du trenger mer kontekst, åpne Info-meldinger for å se hele kronologien.
  7. Bytt til Postdetaljer for å se hvilke konkrete poster som feilet og meldinger fra leverandøren per post.
  8. Klikk en annen kjøring i listen når du vil sammenligne med en annen kjøring.

Hvis problemet er vedvarende: skru på Debug-logging på Konfigurasjon-fanen, kjør integrasjonen på nytt (knappen Kjør øverst), åpne den nye kjøringen, og kopier loggmeldingene som vedlegg til Konti support. Husk å skru av Debug-logging igjen.

detaljpanel for en feilet kjøring med rødt feilmelding-alert og åpen "Postdetaljer"-fane

Vanlige problemer

Historikk-fanen sier "Ingen kjøringer ennå"

Vises av integration-detail.component.html:330-335 når executions.length === 0. Integrasjonen har aldri kjørt — start manuelt via Kjør-knappen øverst, eller vent på neste planlagte kjøring (se Neste kjøring på Oversikt-fanen).

Kjøringen har ingen loggmeldinger

Logg-fanen viser «Ingen loggmeldinger for denne kjøringen» (nøkkel KontiConnect.ExecutionLog.NoMessages) når executionLogMessages er tom. Skru på Debug-logging og kjør på nytt for å få flere detaljer.

Postdetaljer mangler

Postdetaljer-fanen viser «Ingen postdetaljer tilgjengelig for denne kjøringen» (nøkkel KontiConnect.NoRecordDetails) når executionDetails er tom. Dette skjer typisk for kjøringer som feilet før noen post ble forsøkt, eller for adaptere som ikke skriver per-post-detaljer.

Status er "PartialSuccess" — hva betyr det?

Noen poster ble synket, andre feilet. Se Postdetaljer-fanen for å skille vellykkede fra feilede. Statusbadgen er gul (badge-soft-warning).

Statusen er "Running" og endrer seg ikke

Kjøringen er i gang. Last siden på nytt etter litt tid for å se oppdatert status.

Relaterte sider