Skladovú inventúru je možné obsluhovať pomocou REST API. K dispozícii sú tri služby — vloženie položiek do inventúry, aktualizácia programových stavov a vygenerovanie dokladov z inventúry.
Služba | Metóda | Adresa |
|
| |
|
| |
|
|
Kde {firma} je databázový identifikátor firmy a {id} databázový identifikátor inventúry. Zoznam dostupných inventúr získate na adrese /c/{firma}/inventura.xml?limit=0.
Vlož položky
Do inventúry sa vložia vybrané cenníky s predvoleným množstvom. Vloží iba tie cenníky, ktoré sa v inventúre nenachádzajú, a nemení množstvo pre cenníky, ktoré už v inventúre sú. Akceptuje iba skladové karty, ktoré patria k účtovnému obdobiu inventúry — karty z iného obdobia budú vynechané.
Požiadavka sa posiela metódou POST na adresu /c/{firma}/inventura/{id}/vloz-polozky.{přípona}. Parametre sa odovzdávajú v tele požiadavky:
filter— filter pre výber skladových karietinitialValueNull— s hodnotoutrueurčí, že predvolené množstvo má byťnull, inak bude0.0
Ukážka požiadavky
<winstrom version="1.0">
<filter>(cenik in ('code:XO 253S SO I', 'code:XO CWAA1N000') and sklad = 'code:PLZEŇ')</filter>
<initialValueNull>true</initialValueNull>
</winstrom>
V odpovedi je uvedené, koľko položiek bolo do inventúry vložených:
<?xml version="1.0" encoding="utf-8"?>
<winstrom version="1.0">
<success>true</success>
<stats>
<created>2</created>
<updated>0</updated>
<deleted>0</deleted>
<skipped>0</skipped>
<failed>0</failed>
</stats>
<results>
<result></result>
</results>
</winstrom>
⚠️ Táto služba prijíma iba metódu POST. Volanie metódou GET vracia 405 Method Not Allowed.
Vloženie položiek cez evidenciu
Položky do inventúry je možné pridať aj cez evidenciu /inventura-polozka. V požiadavke POST zašlete kód cenníkovej položky, reálne množstvo na sklade a identifikáciu inventúry, do ktorej chcete položku pridať:
POST https://demo.flexibee.eu/c/demo/inventura-polozka.xml
<?xml version="1.0"?>
<winstrom>
<inventura-polozka>
<!-- kód ceníkové položky -->
<cenik>code:TRIKO123</cenik>
<!-- reálné množství zjištěné při inventuře fyzického skladu -->
<mnozmjreal>157</mnozmjreal>
<!-- identifikátor inventury, do které položku přidáváme -->
<inventura>3</inventura>
</inventura-polozka>
</winstrom>
Aktualizuj stavy
Aktualizuje programový stav, ktorý sa kvôli neskôr vytvoreným skladovým pohybom môže líšiť od toho uvedeného na inventúre. Akonáhle na sklade dôjde k pohybom po založení inventúry a pridaní položiek, je potrebné pred vygenerovaním dokladov stavy v položkách inventúry aktualizovať.
Služba je dostupná metódou GET na adrese /c/{firma}/inventura/{id}/aktualizuj-stavy.{přípona}. V prípade úspešného vykonania je vrátený HTTP status 200.
GET https://demo.flexibee.eu/c/demo/inventura/1/aktualizuj-stavy.xml
V prípade zlého ID inventúry je vrátený HTTP status 404 s kódom formZaznamNenalezen:
<message>Záznam nebyl v datovém zdroji nalezen: cz.winstrom.vo.skl.Inventura#12 (Inventury)</message>
Vygeneruj doklady
Vygeneruje skladové pohyby tak, aby programové množstvo na sklade zodpovedalo tomu skutočnému. Na základe rozdielu programového a reálneho stavu skladu dôjde k vygenerovaniu skladových príjemiek a výdajok.
Služba je dostupná metódou GET na adrese /c/{firma}/inventura/{id}/vygeneruj-doklady.{přípona}?typDoklId={idDokl}, kde {idDokl} je databázový identifikátor požadovaného typu dokladu pre skladový pohyb z evidencie /typ-skladovy-pohyb.
GET https://demo.flexibee.eu/c/demo/inventura/1/vygeneruj-doklady.xml?typDoklId=1
V prípade úspešného vykonania služby je vrátený HTTP status 200. Ak sa zadaný stav líši od programového:
<?xml version="1.0" ?>
<winstrom version="1.0">
<success>true</success>
<message>Doklady byly úspěšně vygenerovány.</message>
</winstrom>
Ak sa zadaný stav od programového nelíši:
<?xml version="1.0" ?>
<winstrom version="1.0">
<success>true</success>
<message>Při inventuře nevznikl žádný inventurní rozdíl.</message>
</winstrom>
V prípade zlého ID inventúry je vrátený HTTP status 404 s kódom formZaznamNenalezen:
<message>Záznam nebyl v datovém zdroji nalezen: cz.winstrom.vo.skl.Inventura#12 (Inventury)</message>
⚠️ V prípade zlého ID typu dokladu nedôjde k vygenerovaniu žiadnych rozdielov. Ak na sklade nie je dostatok tovaru, vracia služba 400 s hlásením typu Na položce s ID = 2 se vyskytla chyba: Na skladě není dostatek zboží.
FAQ
Kde nájdem popis inventúry v aplikácii?
Všeobecnému popisu sa venuje článok Inventúry, postupu v desktopovej aplikácii Inventúra - GUI a vo webovom rozhraní Inventúra - WUI.
Do inventúry sa mi načítavajú položky so zlým stavom skladu.
Príčiny popisujú články Zlý stav skladu v inventúre a Nesúhlas v inventúre.
Inventúra generuje znovu už vygenerované položky.
Riešenie nájdete v článku Generovanie položiek pri inventúre.
Inventúra hlási nedostatok tovaru.
Vysvetlenie nájdete v článku Inventúra - nedostatok tovaru.
