Přeskočit na hlavní obsah

Lze přes API získat stav skladu ze sad a kompletů?

Jak si z pozice ceníku zjistit stav skladu jednotlivých položek sady?

Autor: Petr Pech

Sada nebo komplet se skládá z jiných ceníkových položek. Její „stav skladu" proto vychází ze zásob jednotlivých součástí — a ty se dají vytáhnout jedním dotazem.


Složení sady

Součásti drží relace sady-a-komplety:

GET /c/{firma}/cenik/code:SADA.xml?detail=custom:kod,sada,sady-a-komplety(cenik,mnozMj)

U každé součásti se vrátí odkaz na ceníkovou položku a množství, kolik jich do sady patří.


Stav skladu součástí

Zásobu jednotlivých součástí přidá do výstupu rozbalení až na skladové karty:

GET /c/{firma}/cenik/code:SADA.xml
?detail=custom:kod,sady-a-komplety(cenik(kod,skladKarty(stavMJ,sklad)))
&includes=/cenik/sady-a-komplety/sady-a-komplety/cenik/,
/cenik/sady-a-komplety/sady-a-komplety/cenik/skladKarty/skladova-karta/

Ve výsledku je u každé součásti seznam skladových karet s polem stavMJ — tedy kolik kusů je na kterém skladu:

<sady-a-komplety>
<cenik>
<kod>8806086522977</kod>
<skladKarty>
<skladova-karta>
<stavMJ>3.0</stavMJ>
<sklad showAs="LIBEREC">code:LIBEREC</sklad>
</skladova-karta>
<skladova-karta>
<stavMJ>11.0</stavMJ>
<sklad showAs="PLZEŇ">code:PLZEŇ</sklad>
</skladova-karta>
</skladKarty>
</cenik>
</sady-a-komplety>

ℹ️ Kolik sad lze reálně složit, si musí spočítat volající — je to nejmenší podíl stavMJ ku množství součásti v sadě. Flexi tento údaj u sady sama neudržuje.

💡 Parametr includes říká, které vazby se mají rozbalit místo pouhého odkazu; princip popisuje článek Použití includes. Parametr relations u tohoto dotazu potřeba není — relace uvedená v detail=custom se do výstupu dostane sama.


Související

Dostali jste odpověď na svou otázku?