Štandardný prevod medzi skladmi (prevodka) má v ABRA Flexi vždy dve strany — výdaj a príjem. Jeho bežnú tvorbu popisuje článok Převodka - REST API. Tento návod rieši situáciu, keď výdajka vznikla realizáciou objednávky, a preto ju prevodkou štandardne dokončiť nemožno.
Scenár
V systéme existuje od zákazníka prijatá objednávka na tovar. Tovar je potrebné vydať z jedného skladu a až neskôr, v druhom kroku, previesť na iný sklad — teda dokončiť prevodku.
Tento postup nie je štandardne možný. Realizácia objednávky skladovým pohybom nastaví výdajke typ pohybu Výdaj po objednávke a dokončenie prevodky cez API potom skončí chybou correctDoklTypeNotFound.
Riešenie
1. Realizácia objednávky skladovým pohybom
Najprv z objednávky vygenerujeme výdajku. Podrobnosti nájdete v článku o realizácii objednávky, tu uvádzame len príklad:
POST https://demo.flexibee.eu/c/demo/objednavka-prijata.xml
<?xml version="1.0"?>
<winstrom version="1.0">
<objednavka-prijata>
<id>code:OBP001/2023</id>
<realizaceObj type="skladovy-pohyb">
<polozkyObchDokladu>
<polozka>
<cisRad>1</cisRad>
<mj>1</mj>
</polozka>
</polozkyObchDokladu>
</realizaceObj>
</objednavka-prijata>
</winstrom>
Vytvorená výdajka má typ pohybu typPohybuSklad.vydejPoObch:
<?xml version="1.0"?>
<winstrom>
<skladovy-pohyb>
<id>123</id>
<kod>S-001/2023</kod>
...
<typPohybuSkladK showAs="Výdej po objednávce">
typPohybuSklad.vydejPoObch
</typPohybuSkladK>
...
</skladovy-pohyb>
</winstrom>
⚠️ Odpoveď na realizáciu obsahuje ID objednávky, nie novo vzniknutej výdajky. Jej identifikátor si dohľadajte cez väzby dokladu:
GET /c/{firma}/objednavka-prijata/{id}/vazebni-doklady.json
2. Povolenie zmeny typu pohybu
Typ pohybu Výdaj po objednávke blokuje dokončenie prevodky, potrebujeme ho teda zmeniť. Umožní to pokročilá parametrizácia — parameter zmenaPohybuRealizace (Umožniť zmenu upresnenia typu pohybu na výdajke/príjemke vytvorenej z objednávky/faktúry):
POST https://demo.flexibee.eu/c/demo/parametr.xml
<winstrom version="1.0">
<parametr>
<paramK>zmenaPohybuRealizace</paramK>
<hodnota>true</hodnota>
</parametr>
</winstrom>
Bez tohto parametra vracia úprava výdajky 400 s kódom valueCannotBeChanged a hlásením Hodnotu vlastnosti 'typPohybuSkladK' ("Typ pohybu + upřesnění") není možné změnit z 'typPohybuSklad.vydejPoObch' na hodnotu 'typPohybuSklad.vydejPrevod'.
3. Úprava výdajky
Teraz je možné na výdajke nastaviť správny typ pohybu a cieľový sklad. Pre prevodku je to typPohybuSklad.vydejPrevod:
POST https://demo.flexibee.eu/c/demo/skladovy-pohyb.xml
<?xml version="1.0"?>
<winstrom version="1.0">
<skladovy-pohyb>
<id>123</id>
<typPohybuSkladK>typPohybuSklad.vydejPrevod</typPohybuSkladK>
<skladCil>code:SKLAD CÍL</skladCil>
</skladovy-pohyb>
</winstrom>
Pre úplnosť uvádzame všetky výdajové typy pohybu; ich celý výpočet aj s príjmovými hodnotami nájdete v popise evidencie skladovy-pohyb.
Hodnota | Typ pohybu |
| „Holý" výdaj |
| Výdaj polotovaru |
| Výdaj po faktúre |
| Výdaj po objednávke |
| Výdaj pre prevodku |
| Výdaj pre fakturáciu (ceny z cenníka) |
| Výdaj pre fakturáciu (ceny ručne) |
| Výdaj výrobku |
| Výdaj (dobropis, vratka) |
4. Dokončenie prevodky
Teraz je všetko pripravené dokončiť prevodku z objednávkou vygenerovanej výdajky štandardným spôsobom — akciou dokoncit-prevodku:
POST https://demo.flexibee.eu/c/demo/skladovy-pohyb.xml
<?xml version="1.0"?>
<winstrom version="1.0">
<skladovy-pohyb action="dokoncit-prevodku">
<!-- jako ID lze použít i interní číslo výdeje pro převod -->
<id>123</id>
</skladovy-pohyb>
</winstrom>
Odpoveď 201 obsahuje ID výdajky, na ktorej ste akciu spustili. Príjemku vzniknutú na cieľovom sklade nájdete opäť medzi väzbovými dokladmi.
Neúspešné požiadavky
Situácia | Odpoveď |
Akcia |
|
Zmena typu pohybu bez nastaveného parametra |
|
Akcia |
|
FAQ
Dôjde k prepojeniu dokladov?
Áno. Prijatá objednávka, výdajka aj príjemka na cieľovom sklade zostanú vo väzbe — všetky tri doklady vracia dotaz na vazebni-doklady objednávky.
Musí parameter zostať zapnutý natrvalo?
Nie. Parameter iba povoľuje zmenu typu pohybu, takže stačí, aby platil vo chvíli, keď výdajku upravujete.
