V autonómnom režime funguje klientská časť účtovného systému MRP-K/S ako webový server (je teda nutné, aby ste vyhradili jednu klientskú licenciu účtovného systému MRP-K/S trvalo pre túto komunikáciu), ktorý spracováva prichádzajúce dotazy odoslané metódou HTTP POST a reaguje na ne odpoveďou. Dotaz aj odpoveď sú súbory vo formáte xml s predpísanou štruktúrou. Komunikácia môže byť voliteľne kódovaná, s možnosťou kompresie, autentizácie a šifrovania.
Využíva sa pre napojenie na internetové obchody od iných poskytovateľov, prípadne pre generovanie dát z databázy a import niektorých dokladov. Autonómny režim je možné spustiť tiež v demoverzii učtovného systému MRP - K/S, ktorá môže takto slúžiť ako testovacia aplikácia pre potreby vývojárov eshopov tretích strán.
1. Spustenie MRP-K/S v autonómnom režime
2. Všeobecná štruktúra xml dotazov a odpovedí
Funkcia Hmac_Sha256
Odvodenie kľúčov
Autentizácia
Šifrovanie
Kompresia
Štruktúra obálky
Postup kódovania na strane odosielateľa
Postup dekódovania na strane príjemcu
Príklad štruktúry kódovaného dotazu a odpovede
Príklad výpočtu šifrovania a autentizácie
EXPEO0 Export skladových kariet
EXPEO1 Export skladových kariet
IMPEO0 Import objednávok
CENEO0 Export cenníku
ADREO0 Export adries
EXPFV0 Export zoznamu faktúr vydaných s adresou odberateľa
EXPFV1 Export zoznamu faktúr vydaných s adresou odberateľa, položkami a úhradami
EXPFV2 Export zoznamu faktúr vydaných s opisom faktúry v PDF formáte
EXPFP0 Export zoznamu faktúr prijatých s adresou dodávateľa
EXPFP1 Export zoznamu faktúr prijatých s adresou dodávateľa, položkami a úhradami
EXPOP0 Export zoznamu stavov objednávok prijatých
1. Spustenie MRP-K/S v autonómnom režime
Spustenie MRP-K / S v autonómnom režime ( video postup ) sa vykonáva zadaním parametrov príkazového riadku. Komunikácia sa odohráva v jednej, predom zvolenej firme.
-A | Spúšťa autonómny režim |
-Fx | Určuje číslo firmy (x), s ktorou bude autonómny režim pracovať |
-Y | Užívateľské meno a heslo, oddelené čiarkou bez medzier |
Príklad spustenia autonómneho režimu vo firme č.1:
MRPKS.EXE -A -F1 -Ymrpdba,mrpdba
Pri prvom spustení autonómneho režimu je potrebné v Nastaveniach vybrať číslo TCP portu, na ktorom bude program očakávať požiadavky. Ak je vyžadovaná šifrovaná komunikácia, je možné zadať tiež šifrovací kľúč. Na záložke profily je tiež potrebné nakonfigurovať, ktoré príkazy budú pre komunikáciu povolené a nastaviť ich ďalšie parametre.
2. Všeobecná štruktúra xml dotazov a odpovedí
Databáza MRP-K/S pracuje v kódovej stránke Windows-1250. Hoci je teda xml spravidla kódované v UTF-8, dokument by nemal obsahovať znaky, ktoré sa v kódovaní Windows-1250 nevyskytujú.
Koreňovým elementom dotazu aj odpovede je obálka <mrpEnvelope> . V tej je v prípade nekódovanej komunikácie obsiahnutý element <body> , ktorý zahŕňa vlastný dotaz alebo odpoveď. V prípade kódovanej komunikácie je obsah vložený do elementu <encodedBody> , ako je popísané ďalej v časti kódovaná komunikácia. Dotazy, ktoré menia obsah databázy, obsahujú povinný atribút requestId. Jeho obsah určuje požadujúca aplikácia a slúži na jednoznačnú identifikáciu daného dotazu. V prípade opakovaného príkazu so zhodným requestId ho program znovu nevykonáva, namiesto toho len vráti kópiu predtým odoslanej odpovede. Záznamy vykonaných príkazov sú v databáze evidované po obmedzenú dobu (momentálne cca pol dňa), potom sa mažú a ich requestId je uvoľnené pre nové použitie.
Dotaz môže taktiež obsahovať element <data> , V ktorom môžu byť napr. výberové podmienky (v prípade príkazu, požadujúceho údaje z databázy), alebo samotné dáta príkazu, nad ktorými má program vykonať požadovanú operáciu.
Odpoveď obsahuje v časti <status> identifikáciu príkazu, na ktorý reaguje. V prípade, že vykonávanie príkazu skončí ľubovolnou chybou, je táto skutočnosť signalizovaná prítomnosťou elementu <error> s jeho podrobnejším popisom.
Príklad nekódovaného dotazu:
<mrpEnvelope> <body> <mrpRequest command="IMPEO0" requestId="1234"> .... </mrpRequest> <data> <!-- Výberové podmienky --> <!-- ... alebo ... --> <!-- dáta príkazu --> </data> </body> </mrpEnvelope>
Príklad nekódovanej odpovede:
<mrpEnvelope> <body> <mrpResponse> <status> <!-- Blok s parametrami prevzatými z mrpRequest --> <request command="IMPEO0" requestId="1234"/> <!-- V prípade chyby blok s popisom chybového hlásenia --> <error errorCode="" errorClass=""> <!-- errorCode - Číselný chybový kód --> <!-- errorClass - Trieda vynimky --> <errorMessage> <!-- Text chybového hlásenia --> </errorMessage> </error> </status> <data> ..... </data> </mrpResponse> </body> </mrpEnvelope>
3. Kódovaná komunikácia
Kódovaná komunikácia umožňuje kompresiu alebo autentizáciu a šifrovanie xml dotazov a odpovedí. Základným elementom xml v týchto prípadoch zostáva obálka <mrpEnvelope> , samotný obsah je však miesto elementu <body> vložený v elemente <encodedBody>, spolu s ďalšími parametrami, ktoré určujú použitú kompresiu a šifrovanie. V prípade, že je v nastaveniach autonómneho režimu na strane MRP-K/S zaškrtnutá voľba Vyžadovať šifrovanie, aplikácia odmietne všetky neautentizované požadavky. Pre šifrovanie a autentizáciu je použitý symetrický tajný kľúč o dĺžke 32 B, ktorý sa v nastaveniach autonómneho režimu MRP-K/S zadává ako base64 sekvencia. Kľúč by mal byť radou spoľahlivo náhodných čísiel, program ich na požiadanie vie vytvoriť tlačítkom Generovať.
Funkcia Hmac_Sha256
Autentizačná funkcia Hmac sa v ďalších pokynoch používa spolu s hash funkciou Sha256 štandartným postupom: https://en.wikipedia.org/wiki/Hash-based_message_authentication_code
Funkcia je definovaná ako
Autentizačná sekvencia = Hmac_Sha256(Kľúč, Podpísaná sekvencia)
Odvodenie kľúčov
Vstupom je tajný kľúč (32 B).
Z tajného kľúča aplikácia odvodí nezávislé kľúče pre autentizáciu a šifrovanie nasledujúcim postupom, s využitím funkcie Hmac_Sha256:
Kľúč1 = Hmac_Sha256(Tajný kľúč, 0x01) Kľúč2 = Hmac_Sha256(Tajný kľúč, Kľúč1 || 0x02)
0x01 a 0x02 sú 1B konštanty (s pevnou hodnotou 1 a 2), || znamená zreťazenie
Ďalej sa takto získaný Kľúč1 používa ako tajný šifrovací kľúč (32 B) a Kľúč2 ako tajný autentizačný kľúč (32 B).
Autentizácia
Autentizácia sa prevádza algoritmom Hmac_Sha256.
Do algoritmu vstupuje tajný autentizačný kľúč (32 B) a podpisovaná sekvencia bez ďalších úprav.
Autentizačný kód = Hmac_Sha256(Autentizačný kľúč, Podpisovaná sekvencia)
Podpísaná je až finálna odoslaná sekvencia, po prípadnej kompresii a šifrovaní. Príjmajúca strana teda môže previesť autentizáciu dát ako prvý krok, a pokiaľ kódy nesúhlasia, vráti len chybové hlásenie o neplatnom autentizačnom kóde a požiadavkou sa ďalej nezaoberá.
Šifrovanie
Šifrovanie sa prevádza algoritmom AES s dĺžkou kľúča 256 bitov. Vstupom je tajný šifrovací kľúč (32 B) a sekvencia, ktorá sa má zašifrovať.
Postup šifrovania je na odosielajúcej strane nasledujúci:
- Vygenerovanie náhodnej sekvencie 32 B, ktorá sa nesmie (s veľkou pravdepodobnosťou) u ďalších požiadaviek opakovať, a to ani medzi rôznymi stanicami používajúcimi rovnaký šifrovací kľúč. Algoritmus získánia tejto sekvencie je ľubovolný, doporučeným postupom je využiť spoľahlivý generátor náhodných čísiel, jeho výstup spojiť s jedinečnými identifikátormi daného počítača a časom výpočtu a následne previesť hash celej sekvencie napr. funkciou Sha 256. Táto sekvencia sa ďalej označuje ako variantný kľúč.
- Pomocou funkcie Hmac_Sha256, kde klúčom Hmac je tajný šifrovací kľúč (32 B) a podpisovanou sekvenciou je variantný kľúč (32 B), sa získa finálny šifrovací kľúč (32 B).
- Pomocou funkcie Sha256 aplikovanej na variantný kľúč (32 B) sa získa iná 32 B sekvencia, ktorej prvých 16 B sa použije ako inicializačný vektor (16 B).
- Na sekvenciu určenú k zašifrovaniu sa aplikuje šifra AES v prúdovom režime CTR, pričom šifrovacím kľúčom je finálny šifrovací kľúč (32 B) a inicializačným vektorom prvého bloku dát (16 B) je inicializačný vektor získaný v predchádzajúcom kroku (16 B). Pre ďalšie 16 B bloky sa v režime CTR inicializačný vektor vždy zvyšuje o 1 (začína posledným bajtom, pri prekročení sa zvyšuje vždy predchádzajúci bajt, s výnimkou prvného).
Postup dešifrovania na prijímajúcej strane je zhodný, ako variantný kľúč sa použije sekvencia obsiahnutá v prijatej požiadavke.
Režim CTR funguje ako prúdová šifra a nevyžaduje tak zarovnanie správy do 16 B blokov. Ked nieje režim CTR k dispozícii, je možné ho realizovať pomocou základného režimu ECB.
Kompresia
Volitelná kompresia a dekompresia sa prevádza funkciami zlib deflate a inflate.
Štruktúra obálky
Kódovaná obálka riesi možnosti kompresie, šifrovania a autentizácie. V časti <encodingParams> je uložené pomocné xml s parametrami, v elemente <encodedData> potom xml so samotným obsahom (obsah elementu <body> z nekódovanej obálky, koreňovým elementom je teda <mrpRequest> alebo <mrpResponse>), obidva sú zakódované v base64. Keď je požadovaná autentizácia, je v ďalšom elemente <authCode> uvedený kontrolný Hmac_Sha256 hash celkového obsahu, pričom podpisovanou sekvenciou je sekvencia zložená z obsahu elementu <encodingParams>, za ktorý sa pripojí obsah elementu <encodedData>. Obsah elementu <encodingParams> a <encodedData> je vhodné zapúzdriť do xml sekcie CDATA, aby v prípade rozsiahlych xml dokumentov nedochádzalo k problémom pri ich spracovaní.
Kompletná štruktúra kódovanej obálky vypadá takto:
<mrpEnvelope> <encodedBody authentication="hmac_sha256"> <encodingParams> ... base64 - vložené xml s parametrami šifrovania a kompresie ... </encodingParams> <encodedData> ... base64 - vložené xml s obsahom obálky ... </encodedData> <authCode> ... base64 - hmac sha256 hash hodnota obsahu encodingParams+encodedData ... </authCode> </encodedBody> </mrpEnvelope>
Xml s parametrami šifrovania a kompresie, ktoré sa (prevedené do base64) ukladá do jej následujúcej:
<mrpEncodingParams compression="zlib" encryption="aes"> <varKey> ... len pri šifrovaní - base64 variantný kľúč 32 B ... </varkey> </mrpEncodingParams>
Postup kódovania na strane odosielateľa
- Prípadné parametre šifry a kompresie sa uložia do pomocného xml s koreňovým elementom <mrpEncodingParams>, ktoré sa následne uloží do sekcie <encodingParams> zakódovanej v base64.
- Odosielané xml (s koreňovým elementom <mrpRequest> alebo <mrpResponse>) sa prevedie na sekvenciu bajtov.
- Tá sa volitelne skomprimuje.
- Pokiaľ je požadované šifrovanie, sekvencia sa zašifruje.
- Výsledná sekvencia sa uloží do sekcie <encodedData> zakódovaná v base64.
- Pokiaľ je požadovaná autentizácia (pri šifrovaní povinné), vypočítá sa autentizačný kód sekvencie zloženej zo zreťazeného obsahu <encodingParams> a <encodedData> (v binárnom tvare ešte pred prevedením na base64) , a ten se následne uloží do elementu <authCode>, opäť zakódovaný v base64.
Postup dekódovania na strane príjemcu
- Príjemca si prečíta spôsob autentizácie. Keď vyžaduje autentizáciu a tá v atribúte authentication uvedená nie je, spracovanie končí chybou.
- Ak je vyžadována autentizácia, overí sa autentizačný kód. Keď nesúhlasí, spracovanie končí chybou.
- Načíta sa xml s parametrami šifry a kompresia uložená v <encodingParams>, spôsob šifrovania sa porovná s nastavením programu (keď je vyžadované šifrovanie a v parametroch nie je, požiadavka sa odmietne).
- Načíta sa dátová sekvencia obsiahnutá v sekcii <encodedData>.
- Ak je komunikácia šifrovaná, sekvencia sa dešifruje podľa parametrov zvolenej šifry.
- Ak je komunikácia komprimovaná, sekvencia sa rozbalí podľa zvolenej metódy kompresie.
Príklad štruktúry kódovaného dotazu a odpovede
Obsah niektorých častí kódovanej obálky je nepovinný, podľa spôsobu kompresie, šifrovania a autentizácie:
S autentizáciou, šifrováním a volitelnou kompresiou:
<mrpEnvelope> <encodedBody authentication="hmac_sha256"> <encodingParams> ... base64 - vložené xml s parametrami šifrovania a kompresie ... </encodingParams> <encodedData> ... base64 - vložené xml s obsahom obálky ... </encodedData> <authCode> ... base64 - hmac sha256 hash hodnota obsahu encodingParams+encodedData ... </authCode> </encodedBody> </mrpEnvelope>
Xml s parametrami šifrovania a kompresie, ktoré sa ukladá do <encodingParams> je nasledujúce (compression="zlib" znamená kompresiu):
<mrpEncodingParams compression="zlib" encryption="aes"> <varKey> ... base64 variantný kľúč 32 B ... </varkey> </mrpEncodingParams>
Kompresia bez autentizácie a šifrovania:
<mrpEnvelope> <encodedBody> <encodingParams> ... base64 - vložené xml s parametrami kompresie ... </encodingParams> <encodedData> ... base64 - vložené xml s obsahom obálky ... </encodedData> </encodedBody> </mrpEnvelope>
Vložené xml s parametrami kompresie:
<mrpEncodingParams compression="zlib"> </mrpEncodingParams>
Príklad výpočtu šifrovania a autentizácie
Na nasledujúcej krátkej sekvencii bajtov je možné otestovať, či sa výsledky šifrovania a autentizácie zhodujú s výsledkami algoritmu, ktorý je použitý. S daným tajným a variantným kľúčom by mali byť výstupy šifrovania a autentizácie zhodné. Pokiaľ bude všetko súhlasiť, je možné následne tento algoritmus použiť pre zostavenie elementu <encodedBody> podľa vyššie uvedeného návodu.
Tajný kľúč (zvolený užívateľom, base64): bRtFEufmEgrJyhai6ltDSV9svtpN3Jb/5oWBBYhDJ30= Tajný kľúč (hex): 6D 1B 45 12 E7 E6 12 0A C9 CA 16 A2 EA 5B 43 49 5F 6C BE DA 4D DC 96 FF E6 85 81 05 88 43 27 7D Variantný kľúč (náhodne generovaný): 1F 5A C7 7E D3 0C C0 A5 F7 5B B0 35 FF 05 66 A5 0D B2 12 7A AB 32 D8 62 4E 0D A4 D4 18 6E 7F 2F Tajný šifrovací kľúč (Hmac_Sha256(Tajný kľúč, 0x01)): DE B5 81 AB EC C4 A5 A5 5D C7 6C 08 A9 75 49 62 BD A0 54 10 E1 A3 0D 5E 99 05 AD FA 65 6C F2 C9 Tajný autentizačný kľúč (Hmac_Sha256(Tajný kľúč, Tajný šifrovací kľúč || 0x02)): 5B DF 74 9A 16 63 DF 20 6A 1E 9E 36 03 96 33 75 92 FD D8 2F 66 05 CF 3A F8 D4 D4 54 6B 64 05 06 Finálny šifrovací kľúč (Hmac_Sha256(Tajný Šifrovací kľúč, Variantný kľúč)): 00 06 29 E3 9E 79 F3 F5 2B 05 D8 58 72 40 C3 81 CA 14 A0 EC 17 27 A9 5A FA D4 80 EB D5 6E 1C 40 AES inicializační vektor (prvých 16 B z Sha256(Variantný kľúč)): 09 18 29 E9 98 18 6D 9F B0 78 72 2E 0B 91 44 06 Príklad prúdového AES šifrovania v CTR móde: Otvorený text: 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 Šifrovaný text: 01 EC 4D BE B1 04 CD 38 E9 0A 4E CC C5 C5 35 9C D0 AA D8 AF Príklad autentizácie: Podpisovaná sekvencia: 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 Autentizačný kód (Hmac_Sha256(Autentizačný kľúč, Podpisovaná sekvencia)): B5 75 94 6C 75 DC A6 5C E0 DA 8A C2 AC F4 73 72 34 09 68 99 53 6E 88 05 51 CA D1 AE 99 DE F3 6A
4. Stránkovanie
Niektoré príkazy pre export podporujú tzv. stránkovanie, kedy umožňujú obmedziť počet záznamov v odpovedi, prípadne označiť výrez z množiny dát. Stránkovanie sa rieši v časti <paging>. Použité elementy sú <RowFrom> a <RowTo>. Elementy sú nepovinné. Východzie hodnoty sú pre <RowFrom> 1 a pre <RowTo> 999999. Aktuálne stránkovanie podporujú príkazy EXPFV0, EXPFV1, EXPFP0, EXPFP1.
Príklad požiadaviek:<mrpEnvelope> <body> <mrpRequest> <request command="EXPFV0" requestId=""> </request> <data> <paging> <!-- Stránkovanie - obmedzenie počtu záznamov --> <RowFrom>1</RowFrom> <RowTo>200</RowTo> </paging> <filter> <!-- Doklady s dátumom vystavenia --> <fltvalue name="IssueDate">01.01.2018..31.12.2018</fltvalue> </filter> </data> </mrpRequest> </body> </mrpEnvelope>
5. Podporované príkazy
Príklady sú v nekódovanom tvare. Pokiaľ se v niektorých príkazoch zadávajú filtrovacie podmienky, potom sa používá užívateľská syntax programu MRP K/S. Výnimkou sú len filtre, ktoré ponúkajú užívateľovi výberové podmienky. V týchto prípadoch bude v poznámke uvedený ich možný rozsah.
Odpovede vracajúce dátovú časť majú nasledujúcu štruktúru.
<data> <datasets> <jmeno_tabulky> <rows> 1..n <row> <fields> 1..n <jmeno_fieldu>hodnota</jmeno_fieldu> </fields> </row> </rows> </jmeno_tabulky> </datasets> </data>
EXPEO0
Export skladových kariet do e-obchodu. Dátový element obsahuje filtrovacie podmienky <fltvalue name="jmeno_filtru">podminka</fltvalue>.
Požiadavka
Atribúty elementu <fltvalue> | nepovinný | ||||
---|---|---|---|---|---|
name | O/M | Typ | Dĺžka | DM | Význam |
stavy | O | L | 1 | 0 | Sú požadované len stavy kariet. [T|F] |
cisloSkladu | O | N | 3 | 0 | Číslo jedného skladu, z ktorého sa bude brať stav karty. [1..999] Túto podmienku je možné omedziť nastavením "Vždy pridať omedzujúce podmienky" |
cisloCeny | O | N | 1 | 0 | Číslo ceny, skladovej, alebo jednej predajnej [0-skladová,1..5-predajná] |
malObraz | O | L | 1 | 0 | Malý obrázok. [T|F] |
velObraz | O | L | 1 | 0 | Veľký obrázok. [T|F] |
Zoznam volitelných filtrovacích polí, ktoré sa približujú filtrovacím podmienkam skladových kariet. Meno filtra sa skladá z mena tabuľky, oddeľovača a mena dátového poľa. Výraz sa zapisuje a vyhodnocuje rovnakým spôsobom, aku u filtra v programe MRP K/S, teda pri použití číselných a dátumových výrazov musia tieto výrazy rešpektovať nastavenie desatinných oddeľovačov a tvaru dát nastavených na klientskej stanici. Sú uvádzané len typy jednotlivých polí kvôli konštrukcii dotazu. |
|||||
name | O/M | Typ | Dĺžka | DM | Význam |
SKKAR.CISLO | O | N | X | X | Číslo skladovej karty. Tuto podmienku je možné omedziť nastavením "Vždy pridať omedzujúce podmienky" |
SKKAR.NAZOV | O | T | X | X | Názov skladovej karty. |
SKKAR.KOD | O | T | X | X | EAN skladovej karty. |
SKKAR.KOD1 | O | T | X | X | Užívateľský kód skladovej karty. |
SKKAR.KOD2 | O | T | X | X | Užívateľský kód skladovej karty. |
SKKAR.KOD3 | O | T | X | X | Užívateľský kód skladovej karty. |
SKKAR.SKUPINA | O | T | X | X | Kód skupiny skladových kariet. Tuto podmienku je možné omedziť nastavením "Vždy pridať omedzujúce podmienky" |
SKKAR.CISKAT | O | N | X | X | Kód katalógu skladových kariet. Tuto podmienku je možné omedziť nastavením "Vždy pridať omedzujúce podmienky" |
SKKAR.TYP_POL | O | T | X | X | Kód typu položky skladovej karty. Tuto podmienku je možné omedziť nastavením "Vždy pridať omedzujúce podmienky" |
SKKAR.SADZBADPH | O | N | X | X | Sadzba DPH skladovej karty. |
SKKAR.BEZDPH | O | L | X | X | Rozlíšenie medzi mimo DPH a nulovou sadzbou [T|F]. |
SKKAR.POZNAMKA | O | T | X | X | Poznámka skladovej karty. |
SKKAR.ZAKAZSLEVY | O | L | X | X | Zákaz zľavy skladovej karty [T|F]. |
SKKAR.DODAVATEL | O | T | X | X | IČ obchodníka (nie je to záložka dodávateľov). |
SKKAR.POZNAMKA1 | O | T | X | X | Rozšírená poznámka skladovej karty. |
SKKAR.DAT_ZAR | O | D | X | X | Dátum zaradenia skladovej karty. |
SKKAR.POUZIVANA | O | L | X | X | Príznak používania skladovej karty [T|F]. |
SKKAR.TLAC | O | L | X | X | Príznak zaradenia karty do "tlače" [T|F]. |
SKKAR.USRFLD1 | O | T | X | X | Užívateľské pole skladovej karty. |
SKKAR.USRFLD2 | O | T | X | X | Užívateľské pole skladovej karty. |
SKKAR.USRFLD3 | O | T | X | X | Užívateľské pole skladovej karty. |
SKKAR.USRFLD4 | O | T | X | X | Užívateľské pole skladovej karty. |
SKKAR.USRFLD5 | O | T | X | X | Užívateľské pole skladovej karty. |
SKKARSTA.POCETMJ | O | N | X | X | Počet MJ na zvolenom sklade. |
SKKARSTA.POCREZMJ | O | N | X | X | Počet rezervovaných MJ na zvolenom sklade. |
SKKARSTA.POCOBJMJ | O | N | X | X | Počet objednaných MJ u dodávateľov na zvolenom sklade. |
SKKARSTA.POZICE | O | T | X | X | Umiestenie vo zvolenom sklade. |
SKKARSTA.MINIMUM | O | N | X | X | Nastavené minimum MJ na zvolenom sklade. |
SKKARSTA.NORMA | O | N | X | X | Nastavená norma MJ na zvolenom sklade. |
SKKARSTA.MAXIMUM | O | N | X | X | Nastavené maximum MJ na zvolenom sklade. |
<mrpEnvelope> <body> <mrpRequest> <request command="EXPEO1" requestId=""> </request> <data> <filter> <fltvalue name="cisloSkladu">1</fltvalue> <fltvalue name="cisloCeny">2</fltvalue> <fltvalue name="malObraz">T</fltvalue> <fltvalue name="velObraz">T</fltvalue> <fltvalue name="stavy">F</fltvalue> <!-- Nepovinný blok s prípadnými dátami, záleží na príkaze, či ho potrebuje --> <!-- Číslo karty v rozsahu 1 až 10 --> <fltvalue name="SKKAR.CISLO">1..10</fltvalue> <!-- Kód skupiny skladových kariet A alebo B --> <fltvalue name="SKKAR.SKUPINA">A|B</fltvalue> <!-- Typ položky Z --> <fltvalue name="SKKAR.TYP_POL">Z</fltvalue> </filter> </data> </mrpRequest> </body> </mrpEnvelope>
Odpoveď
Element <karty> | Vždy | ||||
---|---|---|---|---|---|
fields | stavy | Typ | Dĺžka | DM | Význam |
cislo | X | N | 10 | 2 | Číslo karty |
nazev | F | T | 64 | 0 | Názov karty |
jednotka | F | T | 3 | 0 | Merná jednotka |
cena | F | N | 17 | 6 | Cena určená podmienkou cisloCeny |
cenasdph | F | N | 17 | 6 | Táto cena s DPH |
sazbadph | F | N | 5 | 2 | Sadzba DPH |
ciskat | F | N | 8 | 0 | Číslo v katalógu |
ciskatlist | F | T | 512 | 0 | Zoznam katalógových hodnôt oddelených zvislítkom (pipe, "|") |
kod | F | T | 14 | 0 | EAN kód |
kod1 | F | T | 30 | 0 | Užívateľský kód 1 |
kod2 | F | T | 30 | 0 | Užívateľský kód 2 |
kod3 | F | T | 30 | 0 | Užívateľský kód 3 |
skupina | F | T | 10 | 0 | Kód skupiny skl. kariet |
hmotnost | F | N | 13 | 6 | Hmotnosť v kg |
baleni | F | N | 12 | 3 | Množstvo MJ v balení |
usrfld1 | F | T | 40 | 0 | Užívateľské pole 1 |
usrfld2 | F | T | 40 | 0 | Užívateľské pole 2 |
usrfld3 | F | T | 40 | 0 | Užívateľské pole 3 |
usrfld4 | F | T | 40 | 0 | Užívateľské pole 4 |
usrfld5 | F | T | 40 | 0 | Užívateľské pole 5 |
poznamka | F | T | 50 | 0 | Poznámka |
nazev2 | F | T | 64 | 0 | Názov 2 karty |
maxslevap | F | N | 6 | 2 | Maximálná zľava karty |
variantgrp | F | N | 10 | 0 | Čislo skupiny variantu |
pocetmj | X | N | 15 | 6 | Počet MJ na požadovanom sklade |
pocrezmj | X | N | 15 | 6 | Počet rezervovaných MJ na požadovanom sklade |
pocsprmj | X | N | 15 | 6 | Počet rezervovaných MJ v rozpracovaných pohyboch na požadovanom sklade |
pocobjmj | X | N | 15 | 6 | Počet objednaných MJ u dodávateľov na zvolenom sklade. |
cena1 | F | N | 17 | 6 | Predajná cena 1 |
cena1sdph | F | N | 17 | 6 | Predajná cena 1 s DPH |
cena2 | F | N | 17 | 6 | Predajná cena 2 |
cena2sdph | F | N | 17 | 6 | Predajná cena 2 s DPH |
cena3 | F | N | 17 | 6 | Predajná cena 3 |
cena3sdph | F | N | 17 | 6 | Predajná cena 2 s DPH |
cena4 | F | N | 17 | 6 | Predajná cena 4 |
cena4sdph | F | N | 17 | 6 | Predajná cena 4 s DPH |
cena5 | F | N | 17 | 6 | Predajná cena 5 |
cena5sdph | F | N | 17 | 6 | Predajná cena 5 s DPH |
pozice | F | T | 10 | 0 | Pozícia na požadovanom sklade |
malpopis | F | T | 80 | 0 | Malý popis |
velpopis | F | M | X | 0 | Veľký popis |
malobr | F | T | 40 | 0 | Názov malého obrázku |
velobr | F | T | 40 | 0 | Názov veľkého obrázku |
malobraz | F | B | X | 0 | Malý obrázok (musí byť nastavené malObraz) |
velobraz | F | B | X | 0 | Veľký obrázok (musí byť nastavené velObraz) |
skupnazev | F | T | 50 | 0 | Názov katalógovej skupiny |
mena | F | T | 3 | 0 | Mena |
Element <katalog> | (len stavy=F) | ||||
fields | stavy | Typ | Dĺžka | DM | Význam |
idr | F | N | 9 | 0 | |
ciskat | F | N | 8 | 0 | Číslo katalógovej skupiny |
uciskat | F | N | 8 | 0 | Číslo nadradenej katalógovej skupiny |
popis | F | T | 45 | 0 | Popis katalógovej skupiny |
poradi | F | N | 8 | 0 | Poradie v stromovej štruktúre |
Element <nahrady> | (len stavy=F) | ||||
fields | stavy | Typ | Dĺžka | DM | Význam |
cislo | F | N | 10 | 2 | Číslo skladovej karty |
kod | F | T | 14 | 0 | EAN skladovej karty |
kod1 | F | T | 30 | 0 | Užívateľský kód 1 skladovej karty |
cislo_z | F | N | 10 | 2 | Číslo zameniteľnej skladovej karty |
kod_z | F | T | 14 | 0 | EAN zameniteľnej skladovej karty |
kod1_z | F | T | 30 | 0 | Užívateľský kód 1 zameniteľnej skladovej karty |
<mrpEnvelope> <body> <mrpResponse> <status> <request command="EXPEO0"/> </status> <data> <datasets> <karty> <rows> <row> <fields> <cislo>1</cislo> <nazev>Kladivo</nazev> <jednotka>ks</jednotka> <cena>223.97</cena> <cenasdph>271</cenasdph> <sazbadph>20</sazbadph> <ciskat>2</ciskat> <kod>8595008803359</kod> <kod1></kod1> <skupina>6</skupina> <hmotnost>0</hmotnost> <baleni>12</baleni> <usrfld1></usrfld1> <usrfld2></usrfld2> <usrfld3></usrfld3> <usrfld4></usrfld4> <usrfld5></usrfld5> <poznamka></poznamka> <nazev2></nazev2> <pocetmj>10</pocetmj> <pocrezmj>2</pocrezmj> <cena1>223.97</cena1> <cena1sdph>271</cena1sdph> <cena2>0</cena2> <cena2sdph>0</cena2sdph> <cena3>0</cena3> <cena3sdph>0</cena3sdph> <cena4>0</cena4> <cena4sdph>0</cena4sdph> <cena5>0</cena5> <cena5sdph>0</cena5sdph> <pozice></pozice> <skupnazev>Skupina 6</skupnazev> <mena>EUR</mena> </fields> </row> <row> .... </row> </rows> </karty> <katalog> <rows> <row> <fields> <idr>321232</idr> <ciskat>1</ciskat> <popis>Náradie</popis> <poradi>0</poradi> </fields> </row> <row> .... </row> </rows> </katalog> <katalog> <rows> <row> <fields> <cislo>1</cislo> <kod>8595008803359</kod> <kod1></kod1> <cislo_z>1.1</cislo_z> <kod_z>8594007132571</kod_z> <kod1_z></kod1_z> </fields> </row> <row> .... </row> </rows> </katalog> </datasets> </data> </mrpResponse> </body> </mrpEnvelope>
EXPEO1
Export skladových kariet do e-obchodu. Dátový element obsahuje filtrovacie podmienky <fltvalue name="jmeno_filtru">podminka</fltvalue>.
Požiadavka
Filtrovacie podmienky sú rovnaké ako u príkazu EXPEO0. Jediným rozdielom je filter pre číslo skladu, kde môže byť zadaný rozsah v rámci platných filtrovacích podmienok.
<mrpEnvelope> <body> <mrpRequest> <request command="EXPEO1" requestId=""> </request> <data> <filter> <fltvalue name="cisloSkladu">1..3</fltvalue> <fltvalue name="cisloCeny">2</fltvalue> <fltvalue name="malObraz">T</fltvalue> <fltvalue name="velObraz">T</fltvalue> <fltvalue name="stavy">F</fltvalue> <fltvalue name="SKKAR.CISLO">1..10</fltvalue> </filter> </data> </mrpRequest> </body> </mrpEnvelope>
Odpoveď
Element <sklady> | Vždy | ||||
---|---|---|---|---|---|
fields | stavy | Typ | Dĺžka | DM | Význam |
cisloskl | X | N | 3 | 0 | Číslo skladu |
nazevskl | X | T | 30 | 0 | Názov skladu |
Element <stavy> | Vždy | ||||
fields | stavy | Typ | Délka | DM | Význam |
cisloskl | X | N | 3 | 0 | Číslo skladu |
cislokar | X | N | 10 | 2 | Číslo karty |
pocetmj | X | N | 15 | 6 | Počet MJ v sklade |
pocrezmj | X | N | 15 | 6 | Počet rezervovaných MJ na požadovanom sklade |
pocsprmj | X | N | 15 | 6 | Počet rezervovaných MJ v rozpracovaných pohyboch na požadovanom sklade |
pocobjmj | X | N | 15 | 6 | Počet objednaných MJ u dodavateľa na zvolenom sklade |
cena | F | N | 17 | 6 | Cena určená podmienkou cisloCeny |
cenasdph | F | N | 17 | 6 | Táto cena s DPH |
cena1 | F | N | 17 | 6 | Predajná cena 1 |
cena1sdph | F | N | 17 | 6 | Predajná cena 1 s DPH |
cena2 | F | N | 17 | 6 | Predajná cena 2 |
cena2sdph | F | N | 17 | 6 | Predajná cena 2 s DPH |
cena3 | F | N | 17 | 6 | Predajná cena 3 |
cena3sdph | F | N | 17 | 6 | Predajná cena 2 s DPH |
cena4 | F | N | 17 | 6 | Predajná cena 4 |
cena4sdph | F | N | 17 | 6 | Predajná cena 4 s DPH |
cena5 | F | N | 17 | 6 | Predajná cena 5 |
cena5sdph | F | N | 17 | 6 | Predajná cena 5 s DPH |
pozice | F | T | 10 | 0 | Pozícia na požadovanom sklade |
mena | F | T | 3 | 0 | Mena |
Element <karty> | (len stavy=F) | ||||
fields | stavy | Typ | Dĺžka | DM | Význam |
cislo | F | N | 10 | 2 | Číslo karty |
nazev | F | T | 64 | 0 | Názov karty |
jednotka | F | T | 3 | 0 | Merná jednotka |
sazbadph | F | N | 5 | 2 | Sadzba DPH |
ciskat | F | N | 8 | 0 | Číslo v katalógu |
ciskatlist | F | T | 512 | 0 | Zoznam katalógových hodnôt oddelených zvislítkom (pipe, "|") |
kod | F | T | 14 | 0 | EAN kód |
kod1 | F | T | 30 | 0 | Užívateľský kód 1 |
kod2 | F | T | 30 | 0 | Užívateľský kód 2 |
kod3 | F | T | 30 | 0 | Užívateľský kód 3 |
skupina | F | T | 10 | 0 | Kód skupiny skl. kariet |
hmotnost | F | N | 13 | 6 | Hmotnosť v kg |
baleni | F | N | 12 | 3 | Množstvo MJ v balení |
usrfld1 | F | T | 40 | 0 | Užívateľské pole 1 |
usrfld2 | F | T | 40 | 0 | Užívateľské pole 2 |
usrfld3 | F | T | 40 | 0 | Užívateľské pole 3 |
usrfld4 | F | T | 40 | 0 | Užívateľské pole 4 |
usrfld5 | F | T | 40 | 0 | Užívateľské pole 5 |
poznamka | F | T | 50 | 0 | Poznámka |
nazev2 | F | T | 64 | 0 | Názov 2 karty |
maxslevap | F | N | 6 | 2 | Maximálná zľava karty |
variantgrp | F | N | 10 | 0 | Čislo skupiny variantu |
malpopis | F | T | 80 | 0 | Malý popis |
velpopis | F | M | X | 0 | Veľký popis |
malobr | F | T | 40 | 0 | Názov malého obrázku |
velobr | F | T | 40 | 0 | Názov veľkého obrázku |
malobraz | F | B | X | 0 | Malý obrázok (musí byť nastavené malObraz) |
velobraz | F | B | X | 0 | Veľký obrázok (musí byť nastavené velObraz) |
skupnazev | F | T | 50 | 0 | Názov katalógovej skupiny |
Element <katalog> | (len stavy=F) | ||||
fields | stavy | Typ | Dĺžka | DM | Význam |
idr | F | N | 9 | 0 | |
ciskat | F | N | 8 | 0 | Číslo katalógovej skupiny |
uciskat | F | N | 8 | 0 | Číslo nadradenej katalógovej skupiny |
popis | F | T | 45 | 0 | Popis katalógovej skupiny |
poradi | F | N | 8 | 0 | Poradie v stromovej štruktúre |
Element <nahrady> | (len stavy=F) | ||||
fields | stavy | Typ | Dĺžka | DM | Význam |
cislo | F | N | 10 | 2 | Číslo skladovej karty |
kod | F | T | 14 | 0 | EAN skladovej karty |
kod1 | F | T | 30 | 0 | Užívateľský kód 1 skladovej karty |
cislo_z | F | N | 10 | 2 | Číslo zameniteľnej skladovej karty |
kod_z | F | T | 14 | 0 | EAN zameniteľnej skladovej karty |
kod1_z | F | T | 30 | 0 | Užívateľský kód 1 zameniteľnej skladovej karty |
<mrpEnvelope> <body> <mrpResponse> <status> <request command="EXPEO1"/> </status> <data> <datasets> <sklady> <rows> <row> <fields> <cisloskl>1</cisloskl> <nazevskl>Sklad 1</nazevskl> </fields> </row> </rows> </sklady> <stavy> <rows> <row> <fields> <cisloskl>1</cisloskl> <cislo>1</cislo> <pocetmj>10</pocetmj> <pocrezmj>2</pocrezmj> <cena>223.97</cena> <cenasdph>271</cenasdph> <cena1>223.97</cena1> <cena1sdph>271</cena1sdph> <cena2>0</cena2> <cena2sdph>0</cena2sdph> <cena3>0</cena3> <cena3sdph>0</cena3sdph> <cena4>0</cena4> <cena4sdph>0</cena4sdph> <cena5>0</cena5> <cena5sdph>0</cena5sdph> <pozice></pozice> <mena>EUR</mena> </fields> </row> </rows> </stavy> <karty> <rows> <row> <fields> <cislo>1</cislo> <nazev>Kladivo</nazev> <jednotka>ks</jednotka> <sazbadph>20</sazbadph> <ciskat>2</ciskat> <kod>8595008803359</kod> <kod1></kod1> <skupina>6</skupina> <hmotnost>0</hmotnost> <baleni>12</baleni> <usrfld1>Text, UsrFld25_yyyyy</usrfld1> <usrfld2></usrfld2> <usrfld3></usrfld3> <usrfld4></usrfld4> <usrfld5></usrfld5> <poznamka></poznamka> <nazev2></nazev2> <skupnazev>Skupina 6</skupnazev> </fields> </row> </rows> </karty> <katalog> <rows> <row> <fields> <idr>321232</idr> <ciskat>1</ciskat> <popis>Náradie</popis> <poradi>0</poradi> </fields> </row> </rows> </katalog> </datasets> </data> </mrpResponse> </body> </mrpEnvelope>
IMPEO0
Import objednávok z e-obchodu. Dátový element obsahuje jednak globálne parametre <paramvalue name="jmeno_parametru">hodnota_parametru</paramvalue>, ktoré sú nepovinné, ale aj vlastné objednávky.
Požiadavka
<params> <paramvalue name="cisloSkladu">1</paramvalue> ... </params> <objednavka ...> <mena .../> <adresa ...> <firma .../> <osoba .../> <!-- Email sa skladá až do dĺžky poľa v databáze --> <email>ja_1@xyz.sk</email> ... <email>ja_n@xyz.sk</email> <!-- Telefón môže obsahovať tri položky --> <tel>123456781</tel> <tel>123 456 789</tel> </adresa> <adresa_dod ...> <firma .../> <osoba .../> <!-- Email sa skladá až do dĺžky poľa v databáze --> <email>ja1@xyz.sk</email> ... <email>ja3@xyz.sk</email> <!-- Telefón môže obsahovať tri položky --> </adresa_dod> <polozky> <polozka .../> </polozky> <poznamka> ... </poznamka> </objednavka>
Atributy elementu <paramvalue> | nepovinný | |||||
---|---|---|---|---|---|---|
name | O/M | Typ | Dĺžka | DM | Význam | |
cisloSkladu | O | N | 3 | 0 | Číslo skladu pre objednávky. Pokiaľ nebude uvedené, berie sa z konfigurácie programu. | |
stredisko | O | T | 6 | 0 | Číslo strediska pre objednávky. Pokiaľ nebude uvedené, berie sa z konfigurácie programu. | |
cisloZakazky | O | T | 15 | 0 | Číslo zákazky pre objednávky. Pokiaľ nebude uvedené, berie sa z konfigurácie programu. | |
prefixRadyObj | O | T | 10 | 0 | Prefix číselnej rady pre objednávky. Pokiaľ nebude uvedený, berie sa z konfigurácie programu. | |
Atributy elementu <objednavka> | povinný | |||||
name | O/M | Typ | Dĺžka | DM | Význam | |
stredisko | O | T | 6 | 0 | Číslo strediska pre objednávky. Pokiaľ nebude uvedené, berie sa z <paramvalue>, alebo konfigurácie programu. | |
cisloZakazky | O | T | 15 | 0 | Číslo zákazky pre objednávky. Pokiaľ nebude uvedené, berie sa z <paramvalue>, alebo z konfigurácie programu. | |
formaUhrady | O | T | 10 | 0 | Forma úhrady | |
zpusobDopravy | O | T | 10 | 0 | Spôsob dopravy | |
variabilniSymbol | O | N | 10 | 0 | Variabilný symbol | |
puvodniCislo | O | T | 50 | 0 | Pôvodné číslo objednávky | |
datum | O | D | 10 | 0 | Dátum objednávky RRRR-MM-DD | |
datumDodani | O | D | 10 | 0 | Dodacia lehota RRRR-MM-DD | |
cenySDPH | O | L | 1 | 0 | Ceny v objednávke sú/niesú s DPH | |
fixniCena | O | T | 1 | 0 | Ceny v objednávke sú nemenné[T|F|X] | |
Poradie vo vyhodnocovaní zadania strediska:
|
||||||
Atributy elementu <adresa> | povinný | |||||
name | O/M | Typ | Dĺžka | DM | Význam | |
id | O | T | 10 | 0 | Identifikácia zákazníka v e-obchode | |
ulice | O | T | 30 | 0 | Ulica a číslo popisné | |
mesto | O | T | 30 | 0 | Mesto | |
psc | O | T | 15 | 0 | PSČ | |
kodStatu | O | T | 2 | 0 | Kód štátu | |
fyzickaOsoba | O | L | 1 | 0 | Fyzická osoba [T|F] | |
Atributy elementu <firma> | nepovinný | |||||
name | O/M | Typ | Dĺžka | DM | Význam | |
nazev | O | T | 100 | 0 | Názov firmy | |
ico | O | T | 12 | 0 | IČ | |
dic | O | T | 17 | 0 | DIČ | |
ic_dph | O | T | 14 | 0 | IČ DPH | |
Atributy elementu <osoba> | nepovinný | |||||
name | O/M | Typ | Dĺžka | DM | Význam | |
jmeno | O | T | 30 | 0 | Meno | |
prijmeni | O | T | 30 | 0 | Priezvisko | |
Súčet dĺžok obidvoch atribútov musí byť menší ako 30 znakov | ||||||
Element <email> | nepovinný | |||||
name | O/M | Typ | Dĺžka | DM | Význam | |
O | T | 256 | 0 | |||
E-mail adresy sa skladajú až do dĺžky poľa v databáze | ||||||
Element <tel> | nepovinný | |||||
name | O/M | Typ | Dĺžka | DM | Význam | |
tel | O | T | 30 | 0 | Telefón | |
Môžu byť uvedené maximálne tri elementy | ||||||
Atributy elementu <mena> | nepovinný | |||||
name | O/M | Typ | Dĺžka | DM | Význam | |
kod | O | T | 3 | 0 | ISO kód meny | |
kurz | O | N | 13 | 6 | Kurz | |
mnozstvi | O | N | 13 | 6 | k množstvu účtovnej meny | |
Atributy elementu <rezimDPH> | nepovinný | |||||
name | O/M | Typ | Dĺžka | DM | Význam | Od verzie |
kod | O | N | 1 | 0 | Kód režimu DPH 0 - Bežný tuzemský režim 1 - Režim registrácie EU 2 - Režim OSS (MOSS) |
6.30.001 |
statDPH | O | T | 2 | 0 | Štát DPH | 6.30.001 |
vatDPH | O | T | 17 | 0 | VAT reg.č. (DIČ) | 6.30.001 |
Element <poznamka> | nepovinný | |||||
name | O/M | Typ | Dĺžka | DM | Význam | |
poznamka | O | T | X | 0 | Poznámka ako dlhý text | |
Element <uzivatelskePole> | nepovinný | |||||
name | O/M | Typ | Dĺžka | DM | Význam | |
uzivatelskePole1 | O | T | 40 | 0 | Hodnota užívateľského poľa 1 | |
uzivatelskePole2 | O | T | 40 | 0 | Hodnota užívateľského poľa 2 | |
uzivatelskePole3 | O | T | 40 | 0 | Hodnota užívateľského poľa 3 | |
uzivatelskePole4 | O | T | 40 | 0 | Hodnota užívateľského poľa 4 | |
uzivatelskePole5 | O | T | 40 | 0 | Hodnota užívateľského poľa 5 | |
Atributy elementu <polozka> | povinný | |||||
name | O/M | Typ | Dĺžka | DM | Význam | |
cisloKarty | O | N | 10 | 2 | Číslo skladovej karty | |
eanKarty | O | T | 13 | 0 | EAN skladovej karty (pre identifikáciu) | |
kodKarty | O | T | 30 | 0 | Uživateľsky kód skladovej karty (pre identifikáciu) | |
text | O | T | 50 | 0 | Text objednávky | |
pocetMJ | M | N | 15 | 6 | Počet MJ | |
cenaMJ | M | N | 17 | 6 | Cena za MJ | |
slevaMJ | O | N | 17 | 6 | Zľava v mene dokladu za MJ. Čiastka zľavy je uvedena buď s DPH anebo bez DPH v závislosti na nastavení tohto atribútu v hlavičke objednávky. Pokiaľ je uvedená, má prednosť pred zľavou uvedenou v percentách. | |
sleva | O | N | 6 | 2 | Zľava v percentách za MJ. | |
sazbaDPH | O | N | 5 | 2 | Sazba DPH | |
typPolozky | O | T | 2 | 0 | Typ položky podľa číselníka Typy položiek | |
poznamkaPolozky | O | T | 20 | 0 | Poznámka položky | |
fixniCena | O | L | 1 | 0 | Ceny v riadku objednávky sú nemenné. Záleží na nastavení v hlavičke dokladu.[T|F] |
|
Pokiaľ je uvedený len text, nemusia byť atribúty pocetMJ a cenaMJ uvedené. Podľa atribútov eanKarty a kodKarty sa vyhľadává len v prípade, že má program nastavené stráženie jedinečnosti (kontrola duplicity) týchto polí. Vyhľadávanie skladovej položky prebieha v poradí cisloKarty, eanKarty a nakoniec kodKarty. |
Pridávanie adries
Z e-shopu chodia dva identifikátory:
- id
- ico
Pre určenie adresy je v tomto prípade primárne id, ktoré sa ukladá do databázy informačného systému (IS). Samotné adresy pre jeden doklad sú v datasete (DS) a ukladajú sa pred dokladom.
id generuje e-shop pri založení nového uživateľa. Nemá nič spoločné s primárnim kľúčom tabuľky v účtovníctve. Je jasné, že pokiaľ je k IS pripojených viac e-shopov, musia mať organizačne zaistené zamezedie duplicity id medzi e-shopmi u rôznych adries.
Hľadacie funkcie podľa id a ico vracajú vždy ten druhý identifikátor z databázy (plus niečo naviac). V tomto texte sú ako isID a isIČO.
Dokladom sa v texte myslí samotná objednávka, ...
Hlavná (fakturačná) adresa
V IS sa hľadá adresa podľa id.
Pokiaľ je nájdená, aktualizuje sa ico podľa isIČO a toto ico je použité do dokladu. Adresa se neukladá.
Pokiaľ nebola nájdená adresa podľa id, hľadá sa podľa ico. Pokiaľ je adresa nájdená, potom sa testuje, či je isID prázdne.
Pokiaľ je prázdne a id je vyplnené, potom je prevedená aktualizácia isID v databáze. Pokiaľ nie je isID prázdne a id je vyplnené (z predchádzajúceho vyplýva, že je rôzné), potom je založena nová adresa pre toto ico, ale s lomítkom. Toto ico sa použije pre doklad.
Pokiaľ nie je isID prázdne a id nie je vyplnené, potom sa nerobí nič.
Pokiaľ nebola adresa nájdená ani podľa id, ani podľa ico, potom je založená nová adresa.
Vedľajšia (doručovacia) adresa
V IS sa hľadá adresa podľa id.
Pokiaľ je nájdená, aktualizuje sa ico podľa isIČO a toto ico je použité do dokladu. Adresa se neukladá.
Pokiaľ nebola nájdená v IS, hľadá sa podľa id v DS. Pokiaľ je nájdená, aktualizuje sa ico podľa dsIČO a toto ico je použité v doklade. Adresa sa neukladá.
Pokiaľ nebola nájdená adresa podľa id, hľadá sa v IS podle ico. Pokiaľ je adresa nájdená, potom sa testuje, či je vratené isID prázdne. Pokiaľ je isID prázdne a id je vyplnené, potom je prevedená aktualizácia isID v databáze.
Pokiaľ nie je isID prázdne a id je vyplnené (z predchádzajúceho vyplýva, že je rôzne), potom je založená nová adresa pre toto ico, ale s lomítkom. Toto ico sa použije pre doklad.
Pokiaľ nie je isID prázdne a id nie je vyplnené, potom sa nerobí nič. Pokiaľ nebola nájdená adresa v IS, hľadá sa podľa ico v DS. Pokiaľ je adresa najdená, tak se pak testuje, či je dsID prázdné. Pokiaľ je prázdné a id je vyplnené, potom je vykonaná aktualizácia dsID v datasete. Pokiaľ nie je dsID prázdne a id je vyplnené (z predchádzajúceho vyplýva, že je rôzne), potom je založená nová adresa pre toto ico, ale s lomítkom. Toto ico sa použije pre doklad. Pokiaľ nie je dsID prázdne a id nie je vyplnené, potom nič nerobíme. Pokiaľ nebola nájdená adresa ani podľa id, ani podľa ico, potom je založená nová adresa. Použije se pre to ico fakturačná adresa a pridá sa lomítko.
<mrpEnvelope> <body> <mrpRequest> <!-- Povinný blok pre definíciu príkazu --> <request command="IMPEO0" requestId="20121203140300033"> <!-- requestId je ID spojenia (treba TIMESTAMP 20121120093530125) --> </request> <data> <params> <paramvalue name="cisloSkladu">1</paramvalue> <paramvalue name="stredisko">0</paramvalue> <paramvalue name="cisloZakazky">0</paramvalue> <!-- paramvalue name="prefixRadyObj">EO001</paramvalue> --> </params> <objednavka formaUhrady="Hotovost" puvodniCislo="21" datum="2021-01-01" cenySDPH="T"> <mena kod="EUR" kurz="1" mnozstvi="1"/> <adresa id="1" ulice="Fakturačná ulica č.10" mesto="Brezno" psc="977 01" kodStatu="SK" fyzickaOsoba="F"> <firma nazev="ABC, s.r.o." ico="12345678" dic="1020304050" ic_dph="SK1020304050"/> <osoba jmeno="" prijmeni=""/> <!-- Email sa skladá až do dĺžky poľa v databáze --> <email>ja1@xyz.sk</email> <email>ja2@xyz.sk</email> <email>ja3@xyz.sk</email> <email>ja4@xyz.sk</email> <!-- Telefón môže obsahovať tri položky --> <tel>123456781</tel> <tel>123456789</tel> </adresa> <adresa_dod id="2" ulice="Ulica miesta dodania č.20" mesto="Brezno" psc="977 03"> <firma nazev="ABC, s.r.o." ico="12345678" dic="1020304050" ic_dph="SK1020304050"/> <osoba jmeno="" prijmeni=""/> <!-- Email sa skladá až do dĺžky poľa v databáze --> <email>ja1@mrp.sk</email> <email>ja2@mrp.sk</email> <email>ja3@mrp.sk</email> <!-- Telefón môže obsahovať tri položky --> </adresa_dod> <polozky> <polozka cisloKarty="1" text="" cenaMJ="10" pocetMJ="1" sazbaDPH="20"/> <polozka cisloKarty="" text="Služby" cenaMJ="10" pocetMJ="1" sazbaDPH="20"/> <polozka text="Textová položka objednavky"/> </polozky> <poznamka> <!-- Je to ako element, pretože to je memo --> Toto je poznámka na viac riadkov. Aspoň na tri. </poznamka> </objednavka> <objednavka puvodniCislo="22" datum="2020-01-01" cenySDPH="T"> <mena kod="EUR" mnozstvi="1" kurz="1"/> <adresa id="3" ulice="Fakturačna 123" mesto="Brezno" psc="977 01" kodStatu="SK" fyzickaOsoba="T"> <firma nazev="Ján Novák" ico="" dic=""/> <osoba jmeno="" prijmeni=""/> <email></email> <tel></tel> </adresa> <polozky> <polozka cisloKarty="" text="Služby" cenaMJ="10" pocetMJ="1" sazbaDPH="20"/> <polozka cisloKarty="1" text="" cenaMJ="10" pocetMJ="1" sazbaDPH="20"/> <polozka text="Textová položka objednavky"/> </polozky> <poznamka> Toto je poznámka na viac riadkov. Aspoň na dva. </poznamka> </objednavka> </data> </mrpRequest> </body> </mrpEnvelope>
Odpoveď
Kladná odpoveď obsahuje v dátovej časti zoznam originálnych čísiel objednávok a programom novo priradených čísiel. Dátová časť sa generuje len vtedy, pokiaľ je posielané pôvodné číslo objednávky.
Atributy elementu <objednavka> | nepovinný | |||
---|---|---|---|---|
name | Typ | Dĺžka | DM | Význam |
puvodnicislo | T | 50 | 0 | Pôvodné číslo objednávky |
cislo | T | 10 | 0 | Číslo objednávky priradenej programom |
<mrpEnvelope> <body> <mrpResponse> <status> <request command="IMPEO0" requestId="20140101140300033"/> </status> <data> <datasets> <objednavka> <rows> <row> <fields> <puvodnicislo>1</puvodnicislo> <cislo>OP20140001</cislo> </fields> </row> <row> .... </row> </rows> </objednavka> </datasets> </data> </mrpResponse> </body> </mrpEnvelope>
CENEO0
Príkaz slúži pre zistenie cien pre konkrétnu cenovú skupinu.
Požiadavka
Atributy elementu <fltvalue> | nepovinný | ||||
---|---|---|---|---|---|
name | O/M | Typ | Dĺžka | DM | Význam |
cisloSkladu | O | N | 3 | 0 | Číslo jedného skladu, z ktorého sa bude brať prípadná cena. [1..999] Túto podmienku je možné omedziť nastavením "Vždy pridať omedzujúce podmienky" |
cisloCeny | O | N | 1 | 0 | Číslo východzej predejnej ceny. [0,1..5] |
cenovaSkupina | O | N | 4 | 0 | Číslo cenovej skupiny. [1..9999] |
datum | O | D | 10 | 0 | Dátum platnosti cenovej skupiny (XML formát) |
cenySDPH | O | L | 1 | 0 | Či budú ceny s/bez DPH [T|F] |
Zoznam voliteľných filtrovacích polí, ktoré sa približujú filtrovacím podmienkam skladových kariet. Meno filtra sa skladá z mena tabuľky, oddeľovača a mena dátového poľa. Výraz sa zapisuje a vyhodnocuje rovnakým spôsobom, ako u filtra v programe MRP K/S, tak pri použití číselných a dátumových výrazov musia tieto výrazy rešpektovať nastavenie desatinných oddeľovačov a tvaru dát nastavených na klientskej stanici. Sú uvádzané len typy jednotlivých polí kvôli konštrukcii dotazu. |
|||||
name | O/M | Typ | Dĺžka | DM | Význam |
SKKAR.CISLO | O | N | X | X | Číslo skladovej karty. Túto podmienku je možné omedziť nastavením "Vždy pridať omedzujúce podmienky" |
SKKAR.NAZOV | O | T | X | X | Názov skladovej karty. |
SKKAR.KOD | O | T | X | X | EAN skladovej karty. |
SKKAR.KOD1 | O | T | X | X | Užívateľský kód skladovej karty. |
SKKAR.KOD2 | O | T | X | X | Užívateľský kód skladovej karty. |
SKKAR.KOD3 | O | T | X | X | Užívateľský kód skladovej karty. |
SKKAR.SKUPINA | O | T | X | X | Kód skupiny skladových kariet. Túto podmienku je možné omedziť nastavením "Vždy pridať omedzujúce podmienky" |
SKKAR.CISKAT | O | N | X | X | Kód katalógu skladových kariet. Túto podmienku je možné omedziť nastavením "Vždy pridať omedzujúce podmienky" |
SKKAR.TYP_POL | O | T | X | X | Kód typu položky skladovej karty. Túto podmienku je možné omedziť nastavením "Vždy pridať omedzujúce podmienky" |
SKKAR.SADZBADPH | O | N | X | X | Sadzba DPH skladovej karty. |
SKKAR.BEZDPH | O | L | X | X | Rozlíšenie medzi mimo DPH a nulovou sadzbou [T|F]. |
SKKAR.POZNAMKA | O | T | X | X | Poznámka skladovej karty. |
SKKAR.ZAKAZSLEVY | O | L | X | X | Zákaz zľavy skladovej karty [T|F]. |
SKKAR.DODAVATEL | O | T | X | X | IČ obchodníka (nie je to záložka dodávateľov). |
SKKAR.POZNAMKA1 | O | T | X | X | Rozšírená poznámka skladovej karty. |
SKKAR.DAT_ZAR | O | D | X | X | Dátum zaradenia skladovej karty. |
SKKAR.POUZIVANA | O | L | X | X | Príznak používania skladovej karty [T|F]. |
SKKAR.TLAC | O | L | X | X | Príznak zaradenia karty do "tlače" [T|F]. |
SKKAR.USRFLD1 | O | T | X | X | Užívateľské pole skladovej karty. |
SKKAR.USRFLD2 | O | T | X | X | Užívateľské pole skladovej karty. |
SKKAR.USRFLD3 | O | T | X | X | Užívateľské pole skladovej karty. |
SKKAR.USRFLD4 | O | T | X | X | Užívateľské pole skladovej karty. |
SKKAR.USRFLD5 | O | T | X | X | Užívateľské pole skladovej karty. |
SKKARSTA.POCETMJ | O | N | X | X | Počet MJ na zvolenom sklade. |
SKKARSTA.POCREZMJ | O | N | X | X | Počet rezervovaných MJ na zvolenom sklade. |
SKKARSTA.POCOBJMJ | O | N | X | X | Počet objednaných MJ u dodávateľov na zvolenom sklade. |
SKKARSTA.POZICE | O | T | X | X | Umiestnenie vo zvolenom sklade. |
SKKARSTA.MINIMUM | O | N | X | X | Nastavené minimum MJ na zvolenom sklade. |
SKKARSTA.NORMA | O | N | X | X | Nastavená norma MJ na zvolenom sklade. |
SKKARSTA.MAXIMUM | O | N | X | X | Nastavené maximum MJ na zvolenom sklade. |
<mrpEnvelope> <body> <mrpRequest> <request command="CENEO0" requestId=""> </request> <data> <filter> <fltvalue name="cisloSkladu">1</fltvalue> <fltvalue name="cisloCeny">2</fltvalue> <fltvalue name="cenovaSkupina">1</fltvalue> <fltvalue name="datum">2014-01-01</fltvalue> <fltvalue name="cenySDPH">F</fltvalue> <!-- Nepovinný blok s pripadnými dátami, záleží na príkaze, či ich potrebuje --> <!-- Číslo karty v rozsahu 1 až 10 --> <fltvalue name="SKKAR.CISLO">1..10</fltvalue> <!-- Kód skupiny skladových kariet A nebo B --> <fltvalue name="SKKAR.SKUPINA">A|B</fltvalue> <!-- Typ položky Z --> <fltvalue name="SKKAR.TYP_POL">Z</fltvalue> </filter> </data> </mrpRequest> </body> </mrpEnvelope>
Odpoveď
Element <ceny> | povinný | |||
---|---|---|---|---|
name | Typ | Dĺžka | DM | Význam |
cislo | N | 10 | 2 | Číslo karty |
cisloceny | N | 1 | 0 | Číslo použitej ceny |
mena | T | 3 | 0 | Mena |
cenamj | N | 17 | 6 | Cena určená podmienkou číslo ceny |
sleva_p | N | 5 | 2 | Jednotková zľava percentom |
slevamj | N | 17 | 6 | Jednotková zľava čiastkou |
<mrpEnvelope> <body> <mrpResponse> <status> <request command="CENEO0"/> </status> <data> <datasets> <ceny> <rows> <row> <fields> <cislo>1</cislo> <cisloceny>1</cisloskl> <mena>EUR</mena> <cenamj>1000</cenamj> <sleva_p>10</sleva_p> <slevamj>100</slevamj> </fields> </row> <row> .... </row> </rows> </ceny> </datasets> </data> </mrpResponse> </body> </mrpEnvelope>
ADREO0
Požiadavka
Atributy elementu <fltvalue> | nepovinný | |
---|---|---|
Zoznam voliteľných filtrovacích polí, ktoré sa približujú filtrovacím podmienkam skladových kariet. Meno filtra sa skladá z mena tabuľky, oddeľovača a mena dátového poľa. Výraz sa zapisuje a vyhodnocuje rovnakým spôsobom, ako u filtra v programe MRP K/S, tak pri použití číselných a dátumových výrazov musia tieto výrazy rešpektovať nastavenie desatinných oddeľovačov a tvaru dát nastavených na klientskej stanici. Sú uvádzané len typy jednotlivých polí kvôli konštrukcii dotazu. |
||
name | Typ | Význam |
ADRES.FIRMA | T | Firma |
ADRES.MENO | T | Meno |
ADRES.ULICA | T | Ulica |
ADRES.MESTO | T | Mesto |
ADRES.PSC | T | PSČ |
ADRES.KODSTAT | T | Kód štátu |
ADRES.ICO | T | IČO |
ADRES.DIC | T | DIČ |
ADRES.TELEFON | T | Telefón |
ADRES.FAX | T | Fax |
ADRES.EMAIL | T | |
ADRES.DAT_ZAR | D | Dátum zaradenia |
ADRES.POZNAMKA | T | Poznámka |
ADRES.CENSKUP | N | Cenová skupina |
ADRES.EANKOD | T | EAN adresy |
ADRES.FYZOSOB | L | Fyzická osoba [T|F] |
ADRES.TLAC | T | Označené do tlače [T|F] |
ADRES.UCET | T | Východzí bankový účet |
ADRES.USRFLD1 | T | Užívateľské pole 1 adresy |
ADRES.USRFLD2 | T | Užívateľské pole 2 adresy |
ADRES.USRFLD3 | T | Užívateľské pole 3 adresy |
ADRES.USRFLD4 | T | Užívateľské pole 4 adresy |
ADRES.USRFLD5 | T | Užívateľské pole 5 adresy |
ADRES.SPLATNOST | N | Iná splatnosť faktúry |
ADRES.KREDIT | N | Čiastka kreditu |
ADRES.CRPSTATUS | T | CRP-status |
ADRES.FAKSTRED | T | Kód fakturačného strediska |
KONTAKTY.IDENTIF | T | Obchodný zástupca |
<mrpEnvelope> <body> <mrpRequest> <request command="ADREO0" requestId=""> </request> <data> <filter> <!-- Adresy s PSČ začínajúcim na 100 --> <fltvalue name="ADRES.PSC">100*</fltvalue> <!-- Cenová skupina nastavená --> <fltvalue name="ADRES.CENSKUP">not null</fltvalue> </filter> </data> </mrpRequest> </body> </mrpEnvelope>
Odpoveď
Element <adres> | Vždy | |||
---|---|---|---|---|
fields | Typ | Dĺžka | DM | Význam |
ico | T | 12 | 0 | IČO |
dic | T | 17 | 0 | DIČ |
ic_dph | T | 14 | 0 | IČ DPH |
id | T | 10 | 0 | Identifikátor adresy v e-obchode |
firma | T | 50 | 0 | Názov firmy |
meno | T | 30 | 0 | Méno |
ulica | T | 30 | 0 | Ulica a číslo popisné |
mesto | T | 30 | 0 | Mesto |
psc | T | 15 | 0 | PSČ |
kodstat | T | 2 | 0 | Kód štátu |
telefon | T | 30 | 0 | Telefón |
telefon1 | T | 30 | 0 | Telefón |
telefon2 | T | 30 | 0 | Telefón |
fax | T | 30 | 0 | Fax |
T | 256 | 0 | E-mailová adresa | |
censkup | N | 4 | 0 | Číslo cenovej skupiny |
stat | T | 30 | 0 | Názov štátu |
formauhrad | T | 10 | 0 | Forma úhrady |
<mrpEnvelope> <body> <mrpResponse> <status> <request command="ADREO0"/> </status> <data> <datasets> <adres> <rows> <row> <fields> <ico>A00001</ico> <dic></dic> <ic_dph></ic_dph> <id>122</id> <firma>Ferdo Mravec;</firma> <meno>Truhlík</meno> <ulica>K mravenisku 1</ulica> <mesto>Borový les</mesto> <psc>00000</psc> <kodstat>SK</kodstat> <telefon>123 456 789</telefon> <telefon1></telefon1> <telefon2></telefon2> <fax></fax> <email></email> <censkup>1</censkup> <stat>Slovenská republika</stat> </fields> </row> <row> ..... </row> </rows> </ceny> </datasets> </data> </mrpResponse> </body> </mrpEnvelope>
EXPFV0
Požiadavka
Príkaz umožňuje vyexportovať doklady s použitím filtrovacích podmienok (nepovinných) uvedených v časti <filter>. Príkaz podporuje stránkovanie. Podporované filtrovacie atribúty elementu <fltvalue>:
- DocumentNumber - číslo dokladu
- CompanyId - IČO odberateľa
- PaymentState - stav zaplatenia : 0-Všetky, 1-Všetky s úhradami ku dňu (PaymentsToDate), 2-Zaplatené (úhrady=celkom), 3-Nezaplatené, nevyrovnané(úhrady<>celkom), 4-Preplatené (úhrady>celkom), 5-Nedoplatené (úhrady<celkom), 6-Zaplatené + preplatené
- PaymentsToDate - Dátum úhrad Do. Pre zistenie Stavu zaplatenia sa prihliada len k úhradám s dátumom menším alebo rovným PaymentsToDate. Nejde zadať intervalom či výrazom ako u iných filtrovacích tagov. Hodnotou môže byť len konkrétny dátum napr. "31.12.2018"
- IssueDate - Dátum vystavenia. Napr. "01.01.2018..31.12.2018"
- TaxPointDate - Dátum plnenia
- PaymentDueDate - Dátum splatnosti
- CostCentre - Stredisko. Napr. "10|20"
- ContractNumber - Číslo zakázky
- OrderNumber - Číslo objednávky
- OriginalOrderNumber - Pôvodné číslo objednávky (filtrovaciu podmienku nie je možné použíť pre exporty faktúr prijatých)
<mrpEnvelope> <body> <mrpRequest> <request command="EXPFV0" requestId=""> </request> <data> <paging> <!-- Stránkovanie - obmedzenie počtov záznamov --> <RowFrom>1</RowFrom> <RowTo>200</RowTo> </paging> <filter> <!-- Doklady s dátumom vystavenia --> <fltvalue name="IssueDate">01.01.2018..31.12.2018</fltvalue> </filter> </data> </mrpRequest> </body> </mrpEnvelope>
Odpoveď
V elemente <data> je vrátenie XML formátu XML MRP-K/S verze 2.0.
Zoznam a popis polí XML MRP-K/S verzia 2.0 pre faktúry vydané
Ukážkový súbor XML MRP-K/S verzia 2.0 pre faktúry vydané
Príkaz vracia zjednodušené XML obsahujúce údaje z hlavičiek dokladov a ďalej potom adresu obchodného partnera v časti Company. Neobsahuje časti Items, Payments , SumValues a PaymentSchedule.
<mrpEnvelope> <body> <mrpResponse> <status> <request command="EXPFV0"/> </status> <data> <MRPKSData version="2.0" countryCode="SK" currencyCode="EUR"> <!--Source AppVendor="MRP" AppName="MRP-K/S" AppVersion="5.67(001)" AppSerial="UC010001"--> <IssuedInvoices> <Invoice> <DocumentNumber>55002</DocumentNumber> <IssueDate>2018-03-29</IssueDate> <CurrencyCode>EUR</CurrencyCode> <ValuesWithTax>F</ValuesWithTax> <TaxCode>19</TaxCode> <ZeroTaxRateAmount>0.00</ZeroTaxRateAmount> <Company> <CompanyId>99999999</CompanyId> <AddressId>X000001</AddressId> <Name>Nábytok a.s.</Name> <Street>K mestu 10</Street> <City>Brezno</City> <Country>Slovenská republika</Country> <CountryCode>SK</CountryCode> <ZipCode>97701</ZipCode> <VatNumber>99999999</VatNumber> </Company> .. </Invoice> .. <Invoice> </Invoice> </IssuedInvoices> </MRPKSData> </data> </mrpResponse> </body> </mrpEnvelope>
EXPFV1 Export zoznamu faktúr vydaných s adresou odberateľa, položkami a úhradami
Príkaz sa chová podobne ako príkaz EXPFV0. Rozdiel je vo vrátenej odpovedi, keď XML naviac obsahuje aj časť Items s položkami faktúr a časť Payments s úhradami.
EXPFV2 Export zoznamu faktúr vydaných s opisom faktúry v PDF formáte
Príkaz sa chová podobne ako príkaz EXPFV0. Rozdiel je vo vrátenej odpovedi, keď XML naviac obsahuje aj část Attachments s PDF opisom faktúry. Príkaz ako PDF opis exportuje súbor/dokument, ktorý je u faktúry uložený na záložke Prílohy. Pre správné fungovanie príkazu je potrebné nastaviť ukladanie PDF ako prílohyUkážkový XML súbor faktúry s vloženou prílohou PDF
EXPFP0 Export zoznamu faktúr prijatých s adresou dodávateľa
Príkaz je ekvivalentom príkazu EXPFV0 pre agendu faktúr prijatýchZoznam a popis polí XML MRP-K/S verzia 2.0 pre faktúry prijaté
Ukážkový súbor XML MRP-K/S verzia 2.0 pre faktúry prijaté
EXPFP1 Export zoznamu faktúr prijatých s adresou dodávateľa, položkami a úhradami
Príkaz sa chová podobne ako príkaz EXPFP0. Rozdiel je vo vrátenej odpovedi, kde XML naviac obsahuje aj časť Items s položkami faktúr a časť Payments s úhradami.EXPOP0
Požiadavka
Atributy elementu <fltvalue> | nepovinný | |
---|---|---|
Zoznam volitelných filtrovacích polí, ktoré sa približujú filtrovacím podmienkam objednávok. Meno filtra sa skladá z mena tabuľky, oddeľovača a mena dátového poľa. Výraz sa zapisuje a vyhodnocuje rovnakým spôsobom, ako u filtra v programe MRP K/S, teda pri použití číselných a dátumových výrazov musia tieto výrazy rešpektovať nastavenie desatinných oddeľovačov a tvaru dát nastavených na klientskej stanici. Sú uvádzané le typy jednotlivých polí kvôli konštrukcii dotazu. |
||
name | Typ | Význam |
OBJPR.CISLO | T | Číslo objednávky |
OBJPR.DATUM | D | Dátum objednávky |
OBJPR.ORIGCISLO | T | Pôvodné číslo objednávky |
OBJPR.ICO | T | IČO |
položky | T | Vrátiť aj stavy jednotlivých položiek [T|F] |
typDokladu | T | Vrátiť požadovaný typ dokladu [O|N|X] - Objednávka|Ponuka|Čokoľvek Pokiaľ táto filtrovacia podmienka nie je uvedená, príkaz vráti len objednávky! |
<mrpEnvelope> <body> <mrpRequest> <request command="EXPOP0" requestId=""> </request> <data> <filter> <!-- Objednávky s číslom začínajúcim EO21 --> <fltvalue name="OBJPR.CISLO">EO21*</fltvalue> <!-- Objednávky s dátumom v rozmedzí... --> <fltvalue name="OBJPR.DATUM">1.12.2021..31.12.2021</fltvalue> <!-- Vrátit aj stavy jednotlivých položiek --> <fltvalue name="polozky">T</fltvalue> <fltvalue name="typDokladu">X</fltvalue> </filter> </data> </mrpRequest> </body> </mrpEnvelope>
Odpoveď
Atributy elementu <objednavka> | |||||
---|---|---|---|---|---|
name | Typ | Délka | DM | Význam | Od verzie |
cisloObj | T | 10 | 0 | Číslo objednávky | 6.30.001 |
puvodniCislo | T | 50 | 0 | Pôvodné číslo objednávky | 6.30.001 |
datum | D | 10 | 0 | Dátum objednávky RRRR-MM-DD | 6.30.001 |
stav | N | 1 | 0 | Stav objednávky <0 - blokované 0 - vybavené 1 - čiastočne vybavené 2 - nevybavené |
6.30.001 |
ico | T | 14 | 0 | IČO zákazníka | 6.30.001 |
nabidka | T | 1 | 0 | T - ponuka, F - objednávka | 6.42.003 |
Atributy elementu <polozka> | |||||
fields | Typ | Délka | DM | Význam | Od verzie |
stav | N | 1 | 0 | Stav objednávky <0 - blokované 0 - vybavené 1 - čiastočne vybavené 2 - nevybavené |
6.30.001 |
vybavitMJ | N | 15 | 3 | Koľko MJ ešte ostáva vybaviť | 6.30.001 |
text | T | 100 | 0 | Text riadkov objednávky | 6.30.001 |
cisloKarty | N | 10 | 2 | Číslo skladovej karty | 6.30.001 |
eanKarty | T | 14 | 0 | EAN skladovej karty | 6.30.001 |
kodKarty | T | 30 | 0 | Užívateľský kód skladovej karty | 6.30.001 |
<mrpEnvelope> <body> <mrpResponse> <status> <request command="EXPOP0"/> </status> <data> <objednavka cisloObj="0000000029" puvodniCislo="22" datum="2015-01-01" stav="2" ico="A00001" nabidka="F"> <polozky> <polozka stav="2" vybavitMJ="2" text="Tovar" cisloKarty="1" eanKarty="8595229909767" kodKarty="16060.01"/> </polozky> </objednavka> </data> </mrpResponse> </body> </mrpEnvelope>