Obdobne ako je v desktopovej či webovej aplikácii možné z výdajky vytvoriť faktúru a pokladničný doklad, to isté je možné vykonať aj pomocou REST API.
To isté platí aj pre tvorbu a dokončenie prevodky, pokiaľ je skladový doklad výdajom pre prevodku. Ak vás zaujíma, ako na to, pozrite si náš iný návod.
V tomto návode si však ukážeme, ako tieto operácie vykonať prostredníctvom REST API. Podobnosť týchto operácií môžeme nájsť v realizácii objednávky.
Tvorbu vydanej a prijatej faktúry, tvorbu pokladničného dokladu zabezpečuje funkcia realizaceSklPoh. Funkcia realizaceSklPoh podporuje dve služby.
Požiadavku možno odoslať metódou PUT/POST na URL adresu typu:
https://localhost:5434/v2/c/testovaci/skladovy-pohyb.json
Tvorbu faktúry či pokladničného dokladu z dokladu skladového podporuje iba API v2. V URL adrese je preto potrebné uviesť „v2" (pozri príklad vyššie).
V tele požiadavky následne zasielame nižšie uvedené informácie podľa potreby.
Vytvorenie faktúry
Služba vyžaduje použitie dvoch atribútov:
type -
vytvorit-fakturutypDokl - identifikátor objektu z evidencie
typ-faktury-prijatealebotyp-faktury-vydane
Príklad zápisu v XML pre tvorbu faktúry z príjemky alebo výdajky:
<winstrom version="1.0">
<skladovy-pohyb>
<id>123</id>
<realizaceSklPoh type="vytvorit-fakturu">
<typDokladu>code:FAKTURA</typDokladu>
</realizaceSklPoh>
</skladovy-pohyb>
</winstrom>
Príklad zápisu v JSON pre tvorbu faktúry z príjemky alebo výdajky:
{
"winstrom":{
"skladovy-pohyb":[
{
"id":123,
"realizaceSklPoh":{
"@type":"vytvorit-fakturu",
"typDokl":"code:FAKTURA"
}
}
]
}
}
To, či má byť vytvorená prijatá alebo vydaná faktúra, určuje typ pohybu skladového dokladu. Ak ide o príjemku, bude vytvorená prijatá faktúra. Ak ide o výdajku, bude vytvorená vydaná faktúra.
Ak je výdajka vytvorená najskôr realizáciou objednávky, prepne tvorba faktúry týmto spôsobom stav objednávky na „Hotovo".
Vytvorenie pokladničného dokladu
Služba vyžaduje použitie dvoch atribútov (príp. voliteľného tretieho):
type -
vytvorit-pokladni-dokladtypDokl - identifikátor objektu z evidencie
typ-pokladni-pohybbsparada- nepovinné, odvodí sa z typu dokladu
Príklad zápisu v XML pre tvorbu pokladničného dokladu:
<winstrom version="1.0">
<skladovy-pohyb>
<id>321</id>
<realizaceSklPoh type="vytvorit-pokladni-doklad">
<typDokladu>code:POKLADNA</typDokladu>
</realizaceSklPoh>
</skladovy-pohyb>
</winstrom>
Príklad zápisu v JSON pre tvorbu pokladničného dokladu:
{
"winstrom":{
"skladovy-pohyb":[
{
"id":321,
"realizaceSklPoh":{
"@type":"vytvorit-pokladni-doklad",
"typDokl":"code:POKLADNA"
}
}
]
}
}
To, či má byť vytvorený pokladničný výdaj alebo príjem, určuje typ pohybu skladového dokladu. Ak ide o príjemku, bude vytvorený príjmový pokladničný doklad. Ak ide o výdajku, bude vytvorený výdavkový pokladničný doklad.
Príklad volania cURL
Obdobne ako pri vykonaní akejkoľvek inej operácie v API, býva bežne využívaný príkaz cURL. Nižšie je možné čerpať z jedného takého príkladu.
curl -X PUT
'https://localhost:5434/v2/c/flexi_clean/skladovy-pohyb.json'
-H 'Accept: application/json' -H 'Content-Type: application/json'
--data-binary '
{ "winstrom":{ "skladovy-pohyb":[{ "id":385, "realizaceSklPoh":{ "@type":"vytvorit-pokladni-doklad", "typDokl":"code:POKLADNA" } }] } }'
--insecure -u admin:adminadmin | jq
Rozúčtovanie vedľajších nákladov na sklad
Pomocou REST API je možné taktiež rozúčtovať vedľajšie náklady na skladový doklad
Vstupné parametre:
vedlejsiNaklady: Výška vedľajších nákladov na rozúčtovanie (povinný).podleCeny: Príznak, že náklady sa majú rozúčtovať podľa ceny (nepovinný). Možné hodnoty sútruealebofalse. Ak nie je uvedený, alebo má hodnotu false, náklady budú rozúčtované podľa počtu kusov.
Príklad zápisu v XML pre volanie služby rozuctuj :
<winstrom version="1.0">
<skladovy-pohyb>
<!-- Skladový doklad, na nějž mají být náklady rozúčtovány. -->
<id>code:S+0001/2021</id>
<!-- Lze uvést i další vlastnosti dokladu, jako při běžném importu. -->
<rozuctuj>
<vedlejsiNaklady>50</vedlejsiNaklady>
<podleCeny>false</podleCeny>
</rozuctuj>
</skladovy-pohyb>
</winstrom>
Výsledkom budú zmeny cien vyššie uvedeného dokladu, ktorý mal pôvodne cenaMj 100:
<winstrom version="1.0">
<skladovy-pohyb>
<id>code:S+0001/2021</id>
<polozkyDokladu>
<skladovy-pohyb-polozka>
<mnozMj>2.0</mnozMj>
<cenaMj>125.0</cenaMj>
<cenaMjNakl>25.0</cenaMjNakl>
<cenaMjPoriz>100.0</cenaMjPoriz>
<sumCelkem>250.0</sumCelkem>
</skladovy-pohyb-polozka>
</polozkyDokladu>
</skladovy-pohyb>
</winstrom>
