Preskoči na glavno vsebino

Balíky v REST API

Ako nastaviť a používať definované balíčky pomocou REST API Flexi

Avtor: Petr Pech

Balenie je vo Flexi násobok mernej jednotky ceníkovej položky — napríklad skrutky predávané po stovkách. Viaže sa vždy ku konkrétnej položke cenníka, kde sa aj nastavuje; každá položka ich môže mať až päť.

ℹ️ Balenie nie je to isté ako sada produktov. Ak potrebujete poskladať výrobok z niekoľkých rôznych položiek, slúžia na to Sady a komplety.


Tvorba balenia

Balenie sa zakladá aktualizáciou ceníkovej položky. Pre každé z piatich balení existuje trojica polí:

Pole

Význam

baleniNazev1baleniNazev5

Kód alebo názov balenia.

baleniMj1baleniMj5

Počet merných jednotiek v balení.

baleniEan1baleniEan5

EAN balenia.

Ak chceme predávať položku ŠROUBUNI4X50 aj po stovkách kusov:

<winstrom version="1.0">
<cenik>
<id>code:ŠROUBUNI4X50</id>
<baleniNazev1>ŠROUBUNI4X50BAL100</baleniNazev1>
<baleniMj1>100</baleniMj1>
<baleniEan1>8591230432100</baleniEan1>
</cenik>
</winstrom>

Vznikne prvé balenie so stovkou kusov. Cena balenia sa počíta automaticky ako násobok predajnej ceny položky. Úplný zoznam polí cenníka vydá adresa /c/{firma}/cenik/properties.xml.


Použitie na doklade

Na položke dokladu sa balenie určuje dvoma poľami:

Pole

Význam

baleniId

Poradie balenia v definícii ceníkovej položky — celé číslo 1 až 5.

mnozBaleni

Počet objednaných či vydaných balení.

Objednávka na tri balenia skrutiek:

<winstrom version="1.0">
<objednavka-prijata>
<typDokl>code:OBP</typDokl>
<firma>code:ODBERATEL</firma>
<polozkyDokladu>
<objednavka-prijata-polozka>
<cenik>code:ŠROUBUNI4X50</cenik>
<sklad>code:SKLAD</sklad>
<typPolozkyK>typPolozky.katalog</typPolozkyK>
<baleniId>1</baleniId>
<mnozBaleni>3</mnozBaleni>
</objednavka-prijata-polozka>
</polozkyDokladu>
</objednavka-prijata>
</winstrom>

Množstvo aj cena sa dopočítajú samy — na položke vznikne 300 kusov. Rovnaká dvojica polí funguje aj na ostatných obchodných a skladových dokladoch.

🚨 Do poľa baleniId patrí len poradové číslo balenia. Zápis cez EAN (ean:8591230432100 ani samotné číslo EANu) skončí chybou Hodnota pole 'Balení' musí být celé číslo. EAN balenia slúži na jeho načítanie čítačkou, nie na identifikáciu v importe.

⚠️ Ak je na položke skladová ceníková položka, musí byť vyplnený aj sklad — inak import skončí hláškou Pokud je vybrána skladová položka, musí být vyplněn sklad.


Realizácia objednávky

Pri realizácii objednávky sa o balenia starať nemusíte — realizácia ich spracuje sama. Uvádza sa celkové množstvo zdrojovej položky, teda kusy, nie balenia:

<winstrom version="1.0">
<objednavka-prijata>
<id>code:OBP0004/2026</id>
<realizaceObj type="skladovy-pohyb">
<polozkyObchDokladu>
<polozka>
<cisRad>1</cisRad>
<mj>300</mj>
</polozka>
</polozkyObchDokladu>
</realizaceObj>
</objednavka-prijata>
</winstrom>

Vznikne výdajka na 300 kusov a systém sám vyhodnotí, že išlo o balenie.

ℹ️ EAN balenia by mal byť unikátny. Ak nie sú EANy jedinečné, systém pri dohľadávaní nájde prvú zhodu a použije ju — iné správanie zaistiť nemožno.


Súvisiace

Ste s tem dobili odgovor na svoje vprašanje?