Kategorie:Work2
Problém s přepočtem skladové ceny popsaný v navázaném požadavku by mohl vzniknout takto:
Na straně klienta synchronizace je provedena nějaká oprava na řádku skladového dokladu, která nemá vliv na skladovou cenu a tudíž se nehlídá, zda doklad spadá do realizovaného období (např. editace poznámky na řádku dokladu). Díky této změně se následně řádek synchronizuje směrem na centrálu. Synchronizace nejprve řádek uloží (opět se nehlídá datum realizace, protože jde z hlediska skladové ceny o nepodstatnou změnu), a následně provede zápis do tabulky SK_Prepocet (na základě tohoto požadavku: http://helpdesk-old.dibaq.cz/requests/request.php?RequestID=9227). Záznam v tabulce SK_Prepocet nakonec způsobí vznik popsané chyby při přepočtu skladové ceny.
Bylo tedy nutné revidovat řešení zmíněného požadavku 9227 ("starý" HelpDesk) tak, aby se zápis do SK_Prepocet prováděl pouze v relevantních případech. Logika tedy přesunuta do nového triggeru SET_SKLDOKLADRADKY_SK_PREPOCET, který v případě, že je řádek skladového dokladu vkládán nebo měněn synchronizací, provede zápis do SK_Prepocet takto:
V případě nového (INSERT) řádku vždy. V případě aktualizace řádku pouze při změně některého ze sloupců VKodKarta, Mnozstvi, SkladCena, VedlNaklad
Jinak stále platí to, že "synchronizace starých skladových dokladů v realizovaném období" směrem z klienta na centrálu v případě změny nějakého relevantního údaje (viz trigger UPD_DATREALIZ_SDR) prostě neproběhne. Popsané řešení se tedy v podstatě netýká tohoto požadavku :D
Tato kategorie neobsahuje žádné stránky či soubory.