Gå til innhold

VBS-integrasjon (jhlVismaAPI)

jhlVismaAPI (prosjektet JHL_VismaBusinessInterface, eget repo) er forretningslaget mot Visma Business. Det er dette laget både ConnectMonitor-konsollen og Connect API kaller når de skal lese eller skrive ordrer, bilag, lager, kunder, målere osv. — ingen av dem snakker direkte med Visma.

Inngangsklassen Business

Alt går via klassen Business (fil VBS.cs), som konstrueres med ett selskapsnummer:

var jhlAPI = new Business(VBClient);   // VBClient fra App.config
jhlAPI.Order.CreateNewOrder(order);
jhlAPI.Voucher.CreateVismaVoucher(vouchers);

Business eksponerer ti kontrollere — én per operasjonsgruppe. Hver kontroller har et sett offentlige metoder («operasjoner»):

Property Kontroller Operasjoner — egen side
.Order OrderController Ordrer
.Invoice InvoiceController Fakturaoverføring (Amili)
.Voucher VoucherController Bilag
.Inventory InventoryController Lager og peiletall
.Metering MeteringController Gassmåling
.Forms FormsController Skjema og avvik
.BasicData BasicDataController Grunndata
.User UserController Bruker og pålogging
.Activity ActivityController Aktivitet/timeføring
.EG EGAccountingController EG Retail

Arkitektur

flowchart TB
    A[ConnectMonitor-konsoll] --> B
    C[Connect API] --> B
    B["Business (VBS.cs)<br/>new Business(VBClient)"]
    B --> CTRL[10 kontrollere<br/>Order / Invoice / Voucher / Inventory /<br/>Metering / Forms / BasicData / User / Activity / EG]
    CTRL -->|skriv| SOAP[VismaBusinessServices<br/>SOAP-kall]
    CTRL -->|les| SQL[SQLRepo<br/>direkte SQL]
    SOAP --> VB[(Visma Business)]
    SQL --> VB

    classDef sys fill:#f8d7da,stroke:#b53b46
    class B,CTRL,SOAP,SQL sys
  • Skriveoperasjoner (opprett ordre, bilag, aktivitet, lagerordre) går via Services/VismaBusinessServices.cs som gjør SOAP-kall mot Visma Business Services — sentrale metoder: CreateVismaVoucher, SaveVismaOrder, SaveStockOrder, SaveActivity.
  • Leseoperasjoner går i hovedsak som direkte SQL mot Visma-databasen (SQLRepo), ofte mot tabellene Ord/OrdLn, Actor, Prod, FreeInf2, FreeInf3, R7R11, StrFVar.

Autentisering

VismaBusinessServices autentiserer mot Visma Business Services med klientsertifikat (angitt ved navn, f.eks. VBSTestCert), brukernavn/ passord og endepunkt-URL. ConnectMonitor-konsollen sender disse fra App.config (VBSURL, VBSUser, VBSPwd) sammen med VBClient.

Samme lag, to konsumenter

Nøyaktig samme Business-klasse brukes av Connect API (mobil/web-klienten) og av ConnectMonitor (batch-jobbene). En endring her treffer begge — test deretter.

Slik leser du operasjonssidene

Hver kontrollerside lister operasjonene gruppert etter tema, med parametre, hva operasjonen gjør, hvilke Visma-tabeller/objekter den rører, og om den leser eller skriver. Private hjelpemetoder er utelatt — kun det som er offentlig kallbart.

Relaterte sider