Tankmåling og peiling¶
Jobbene som leser tanknivå/peiletall fra fysiske peilere (Soolo/NorTrace) og fra CO DataHost, og som bruker nivåene til lagerrapportering og automatiske ordrer.
flowchart LR
subgraph kilder["Peilere / kilder"]
SOOLO[Soolo / NorTrace API]
DH[CO DataHost<br/>tankinventar]
end
SOOLO --> EOM[--StockGetEOM<br/>henting av peiletall]
DH --> EOM
EOM --> AGG[Aggreger volum per<br/>produktgruppe/avdeling] --> STORE[(Lagre + vannmerke)]
EOM --> MAIL[E-post: «henting av peiletall utført»]
SOOLO --> SOO[-h Soolo autoordre] --> ORD[Visma-ordre ved lavt nivå]
SOOLO --> NT[-n NorTrace-varsel] --> EPOST[E-post til kunde]
SADJ[--StockAdjustment] --> ERP[Lagerjustering i Visma]
classDef sys fill:#f8d7da,stroke:#b53b46
class EOM,AGG,STORE,MAIL,SOO,ORD,NT,EPOST,SADJ,ERP sys
Henting av peiletall — --StockGetEOM¶
RunGetStockEndOfMonth → GetStockData(id) (per selskap), som kaller
jhlVismaAPI.Business.Inventory.GetStockData. Dette er jobben som «henter
peiletall fra peilere/automater» ved månedsslutt.
| Egenskap | Verdi |
|---|---|
| Kilder | Soolo/NorTrace-telemetri (NorTraceScrape.GetMetrics) og CO DataHost tankinventar |
| Tankutvalg | R10 der Gr3 <> 1 (peilertag InternAutomat_‹Rno›, koblings-ID i Inf/Inf2, avdeling R1) |
| Periode | Fra forrige månedsavslutning til inneværende måneds start (fast klokkeslett-vindu) |
| Hva som leses | Volum (liter), avlesningstidspunkt, produkt — fra Soolo; antall/produkt fra DataHost |
| Bearbeiding | Avstemmer antall produkter mellom Soolo og DataHost; aggregerer volum per produktgruppe + avdeling + selskap |
| Lagring | AddStockVolumeData(...) + vannmerke (sist innsamlede måned per selskap) |
| Varsling | E-post: suksess «Automatisk henting av peiletall utført», «Fant ingen peiletall», eller feilmelding ved lagringsfeil |
Dette er en lese-/rapportjobb — den bokfører ikke, men lagrer aggregerte peiletall som grunnlag for lagerverdivurdering ved månedsslutt.
Lagerjustering mot ERP — --StockAdjustment¶
RunStockAdjustment → StockAdjustment(id) →
jhlVismaAPI.Inventory.ProcessStockAdjustment(id). Kjører lagerjustering mot
Visma per selskap. Selskaps-ID-ene itereres fra StrFVar
(NmSp='ConnectMonitor').
Soolo autoordre — -h¶
RunSooloAutoOrder → Soolo_CreateAlarmOrders(...). Oppretter automatisk en
Visma-ordre når en Soolo-peiler melder lavt nivå.
| Egenskap | Verdi |
|---|---|
| Kilde | NorTrace/Soolo (NorTraceScrape.GetNorTraceItems) |
| Aktivering | Peiler må ha tag «AUTOBESTILLING» og et satt alarmnivå |
| Utløser | Fyllingsprosent ≤ alarmnivå og ingen åpen ordre fra før (SooloOrderCheck) |
| Mengde | Beregnet påfyllingsvolum (fillable_volume, evt. utledet fra prosent/volum) |
| Kunde | Fra peilerens custommerdata (kundenr, kan være delt «12345/67890») |
| Produkt | Mappes fra peilerens drivstofftype til Visma-produkt |
| Ordre | Order.CreateNewOrder(...), merket «AutoOrdre - peiler» |
| Vannmerke | StrFVar NmSp='Soolo', VarNm='Ordre_‹ID›' (sist kjørt + avdelinger) |
| Feil | E-post «ConnectMonitor - feil ved Soolo AutoOrdre overføring!» |
NorTrace tanknivå-varsling — -n¶
Ren e-postvarsling av tanknivå til kunde (ingen DB-skriving). Beskrevet på Grunndata og varsling.
Hardkodet enkeltkunde i -n
NorTrace-varslingen filtrerer i dag på et bestemt tanknavn og sender til én fast mottaker. Nye kunder krever kodeendring.
Feilsøking¶
| Symptom | Sjekk |
|---|---|
| Peiletall mangler ved månedsslutt | E-post fra --StockGetEOM («Fant ingen peiletall» / feilmelding); Soolo-token (NorTraceBearer); at tankene har R10.Gr3 <> 1 og koblings-ID i Inf/Inf2 |
| Soolo-autoordre uteble | Peiler mangler tag «AUTOBESTILLING» eller alarmnivå; finnes allerede åpen ordre (SooloOrderCheck)? |
| Dobbel autoordre | Vannmerke Soolo/Ordre_‹ID› |
Relaterte sider¶
- ConnectMonitor: Oversikt · Automatstasjoner
- Grunndata og varsling — NorTrace-varsling (
-n) - Tankovervåking