Hej Dennis, Nu har frågan ett par månader på nacken men jag passa på att fråga ändå. Alternativ 1 är dåligt av flera olika skäl, bl.a. att du inte vill skapa belastning på ert ekonomisystem via en webbapplikation (en överbelastningsattack mot er sajt hade kunnat slå ut ekonomisystemet/fylla det med skräpdata). Eftersom Administration använder en flatfilsdatabas så är postlåsning också ett stort problem - Codebase-drivrutinen som används kan inte göra postlåsning / rad utan låser hela .DBF-filen när uppdateringar/nyskapande görs. Som Johan skriver så är alternativ 2 bättre, men beroende på hur tung belastning det handlar om så hade det förmodligen varit bättre att chacha Visma-databasen i en SQL-databas (t.ex mySQL eller SQL Express) och göra alla läs-operationer mot den istället. Att batcha alla operationer inom ramarna för en anslutning är också att föredra. Företaget jag representerar har byggt ett eget .Net API ovanpå Vismas API och då kan du göra t.ex. följande: using ( new SpcsConnection()){ var customer = new Customer(){ Name = theNewName }; customer.Save(); var invoice = new Invoice() { CustomerNumber = customer.Number }; invoice.Rows.Add(new Invoice.Row() {ArticleNumber = "100", Quantity1 = 1, Quantity2 = 1 }); invoice.Save(); } Ovanstående hade, inom samma öppning mot visma-databasen, lagt upp en ny kund, använt det av Visma tilldelade kundnumret och skapat en faktura på den kunden samt lagt till en fakturarad mot artikel "100" med beställt- och levererat antal satt till "1".
... Visa mer