Sada alebo komplet sa skladá z iných cenníkových položiek. Jej „stav skladu" preto vychádza zo zásob jednotlivých súčastí — a tie sa dajú vytiahnuť jedným dotazom.
Zloženie sady
Súčasti drží relácia sady-a-komplety:
GET /c/{firma}/cenik/code:SADA.xml?detail=custom:kod,sada,sady-a-komplety(cenik,mnozMj)
Pri každej súčasti sa vráti odkaz na cenníkovú položku a množstvo, koľko ich do sady patrí.
Stav skladu súčastí
Zásobu jednotlivých súčastí pridá do výstupu rozbalenie 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/
Vo výsledku je pri každej súčasti zoznam skladových kariet s poľom stavMJ — teda koľko kusov je na ktorom sklade:
<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>
ℹ️ Koľko sád sa dá reálne zložiť, si musí vypočítať volajúci — je to najmenší podiel stavMJ k množstvu súčasti v sade. Flexi tento údaj pri sade sama neudržuje.
💡 Parameter includes hovorí, ktoré väzby sa majú rozbaliť namiesto obyčajného odkazu; princíp popisuje článok Použitie includes. Parameter relations pri tomto dotaze nie je potrebný — relácia uvedená v detail=custom sa do výstupu dostane sama.
