Skladovou inventuru je možné obsloužit pomocí REST API. K dispozici jsou tři služby — vložení položek do inventury, aktualizace programových stavů a vygenerování dokladů z inventury.
Služba | Metoda | Adresa |
|
| |
|
| |
|
|
Kde {firma} je databázový identifikátor firmy a {id} databázový identifikátor inventury. Seznam dostupných inventur získáte na adrese /c/{firma}/inventura.xml?limit=0.
Vlož položky
Do inventury se vloží vybrané ceníky s výchozím množstvím. Vloží pouze ty ceníky, které se v inventuře nenachází, a nemění množství pro ceníky, které už v inventuře jsou. Akceptuje pouze skladové karty, které přísluší účetnímu období inventury — karty z jiného období budou vynechány.
Požadavek se posílá metodou POST na adresu /c/{firma}/inventura/{id}/vloz-polozky.{přípona}. Parametry se předávají v těle požadavku:
filter— filtr pro výběr skladových karetinitialValueNull— s hodnotoutrueurčí, že výchozí množství má býtnull, jinak bude0.0
Ukázka požadavku
<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 odpovědi je uvedeno, kolik položek bylo do inventury vloženo:
<?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>
⚠️ Tato služba přijímá pouze metodu POST. Volání metodou GET vrací 405 Method Not Allowed.
Vložení položek přes evidenci
Položky do inventury je možné přidat i přes evidenci /inventura-polozka. V požadavku POST zašlete kód ceníkové položky, reálné množství na skladě a identifikaci inventury, do které chcete položku přidat:
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, který se kvůli později vytvořeným skladovým pohybům může lišit od toho uvedeného na inventuře. Jakmile na skladu dojde k pohybům po založení inventury a přidání položek, je nutné před vygenerováním dokladů stavy v položkách inventury aktualizovat.
Služba je dostupná metodou GET na adrese /c/{firma}/inventura/{id}/aktualizuj-stavy.{přípona}. V případě úspěšného vykonání je vracen HTTP status 200.
GET https://demo.flexibee.eu/c/demo/inventura/1/aktualizuj-stavy.xml
V případě špatného ID inventury je vrácen HTTP status 404 s kódem 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žství na skladě odpovídalo tomu skutečnému. Na základě rozdílu programového a reálného stavu skladu dojde k vygenerování skladových příjemek a výdejek.
Služba je dostupná metodou 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 pro skladový pohyb z evidence /typ-skladovy-pohyb.
GET https://demo.flexibee.eu/c/demo/inventura/1/vygeneruj-doklady.xml?typDoklId=1
V případě úspěšného vykonání služby je vracen HTTP status 200. Pokud se zadaný stav liší od programového:
<?xml version="1.0" ?>
<winstrom version="1.0">
<success>true</success>
<message>Doklady byly úspěšně vygenerovány.</message>
</winstrom>
Pokud se zadaný stav od programového neliší:
<?xml version="1.0" ?>
<winstrom version="1.0">
<success>true</success>
<message>Při inventuře nevznikl žádný inventurní rozdíl.</message>
</winstrom>
V případě špatného ID inventury je vrácen HTTP status 404 s kódem formZaznamNenalezen:
<message>Záznam nebyl v datovém zdroji nalezen: cz.winstrom.vo.skl.Inventura#12 (Inventury)</message>
⚠️ V případě špatného ID typu dokladu nedojde k vygenerování žádných rozdílů. Pokud na skladě není dostatek zboží, vrací služba 400 s hlášením typu Na položce s ID = 2 se vyskytla chyba: Na skladě není dostatek zboží.
FAQ
Kde najdu popis inventury v aplikaci?
Obecnému popisu se věnuje článek Inventury, postupu v desktopové aplikaci Inventura - GUI a ve webovém rozhraní Inventura - WUI.
Do inventury se mi načítají položky se špatným stavem skladu.
Příčiny popisují články Špatný stav skladu v inventuře a Nesouhlas v inventuře.
Inventura generuje znovu již vygenerované položky.
Řešení najdete v článku Generování položek při inventuře.
Inventura hlásí nedostatek zboží.
Vysvětlení najdete v článku Inventura - nedostatek zboží.
