Modul: Očištění storn¶
Manažerský popis¶
Evidence prodejů a dalších typů pohybů probíhá ve většině ERP systémů tak, že se přidávají nová data do databáze a nikdy se nemažou. Pokud tedy nejdříve dojde např. k evidenci prodeje 10 ks a později k jeho zrušení, v datech ERP systému se ukládá informace +10 ks a poté další informace o stornu -10 ks. Pro účely odhadů budoucích prodejů systém STOCK potřebuje „čisté“ prodeje, ponížené - očištěné o tato storna. Pro tento účel je tedy třeba jen to množství, které se opravdu prodalo a nebylo později zrušeno nebo část zboží vrácena.
Funkční popis¶
Následující popis platí pro verzi 2 modulu očištění storen. Existují dva způsoby očištění storen:
- Cleaning based on relations between movement ID and cancellation ID, that is needed for import into SIDI from data in ERP systems. Warning: this functionality is in progress and unfinished.
- Automatické čištění, kdy STOCK vyhledá a najde, které storno čistí který pohyb, na základě nastavení SIDI. Tímto způsobem není nutné mít přesný vztah mezi pohybem a stornem. Následující popis se zabývá pouze druhým typem čištění (automatické čištění). Automatické čištění se provádí v několika fázích:
- Aby proběhlo očištění, musí se přesně shodovat velikost storna a pohybu (v množstevních jednotkách) a zároveň zákazník musí být u storna stejný jako zákazník u pohybu.
- V další fázi stačí, aby se shodovala pouze velikost pohybu a storna. To znamená, že např. prodej zákazníkovi X může být očištěn stornem od zákazníka Y. Nebo že prodej zákazníkovi X může být očištěn stornem od nedefinovaného zákazníka.
- Shodovat se musí pouze zákazník. V tomto případě je možné, že např. prodej o velikosti 10 ks je očištěn stornem -2 ks na výsledných 8 ks.
- Shoda nemusí být ani ve velikosti ani v zákazníkovi.
Poznámka: funkcionalita na preferenci shody velikosti a ceny je rozpracována, ale nedokončena.
Vždy je třeba, aby se shodoval produkt a prodejna/sklad. Není tedy možné očistit pohyb pomocí storna jiné položky. V každé výše uvedené fázi probíhá očištění na základě následujícího algoritmu:
Algoritmus:
Procházejí se postupně všechny pohyby od nejnovějšího k nejstaršímu a ke každému hledáme storno provedené později než pohyb. Pohyb se o toto storno poníží - očistí. Přednostně se bere novější storno. Velikost storna v množstevních jednotkách nemusí být stejná jako velikost pohybu (pouze ve fázích očištění 3 a 4, viz výše). Pokud je storno menší, očistí se pouze část pohybu. Pokud je storno větší, očistí se celý pohyb, ale zbývající množství zůstává na případné očištění jiného pohybu. Např. pokud je storno -20 ks a pohyb 15 ks, očistíme pohyb 15 ks celý a tedy ho zrušíme, ale storno se pouze zmenší na -5 ks a toto storno algoritmus může využít na očištění jiného pohybu.
Konfigurace:
V SIDI lze konfigurovat očištění storen. Je možné ho vypnout (výchozí nastavení je zapnuto) a také je možné zadat typy pohybů, na kterých se má očištění vykonat (výchozí nastavení je pouze očištění prodejů a podkladů pro forecast). Dále lze nastavit maximální časový rozestup mezi stornem a pohybem. Výchozí hodnota je 365 dnů. Pokud tedy storno vznikne po více než 365 dnech od vzniku pohybu, pohyb očištěn nebude. Příklady storen, kterými se nepovede očistit žádné pohyby podle výše uvedených pravidel: (Jsou v řešení k dalšímu vývoji).