Voorraadsync en historic sync vanaf versie 1.28+

In 1.28 is de voorraadsync aangepast om efficiënter om te gaan met oudere mutaties. Hierin kennen we twee delen: de Historic sync en de Mutations sync.

Historic Sync

De historic sync draait 1 keer per dag met als doel om alle mutaties tot die tijd op te slaan in de boxwise database. Alle mutaties worden weggeschreven naar de tabel HistoricStock, terwijl er ook records komen voor serie- en batchartikelen in HistoricStockItemIdentification.

De sync is alleen van toepassing bij Exact omgevingen. Indien er met Profit gewerkt wordt, wordt deze taak niet uitgevoerd, en blijven HistoricStock en HistoricStockItemIdentification leeg.

De sync wordt getriggerd door de StockStreamTask, als deze merkt dat de historic sync nog niet gedraaid heeft op de huidige dag. Indien de sync al binnen de dag heeft gedraaid, of als ErpDummy aan staat, dan zal de sync niet uitgevoerd worden. Ook zal de Historic sync taak draaien indien de ERP administratie gewijzigd wordt, of als boxwise opnieuw gestart wordt.

Mutation Sync

De mutation sync wordt elke 5 minuten uitgevoerd door de StockStreamTask, of als op 'Synchroniseer voorraad' gedrukt wordt. Indien het gaat om een Profit omgeving, zullen alle records opgehaald worden uit Profit, op dezelfde manier als voor 1.28. Bij Exact omgevingen zal deze sync mutaties ophalen die na de laatste historische sync geregistreerd zijn. Het ophalen van de voorraad kan voor zowel Exact als Profit op 2 manieren gebeuren, via Memory of via SQL.

Als dit via memory gedaan wordt, worden de mutaties opgehaald en in memory geplaatst. Vervolgens zullen de records uit HistoricStock opgehaald worden, om vervolgens in memory de 2 lijsten te combineren.

Als dit via SQL gedaan wordt, worden de mutaties in de tabellen StockMutations en StockMutationsIdentification (serie- en batchartikelen) geplaatst. In SQL wordt er vervolgens een join gedaan op StockMutations en HistoricStock, en een join op StockMutationsIdentification en HistoricStockItemIdentification. De gecombineerde dataset wordt vervolgens opgehaald naar boxwise.

Om te kiezen welke van de 2 Mutation sync varianten actief is, is er een algemene setting geïntroduceerd: "Sync stock uses in-memory merge?". Indien dit true is, wordt de memory variant gebruikt, zo niet wordt de SQL variant gebruikt.

 

new_sync.png 

 

 

Was dit artikel nuttig?
Aantal gebruikers dat dit nuttig vond: 0 van 0