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.
