MRP-K/S, Autonomní režim
Navštívili jste archivní verzi stránek, které již nejsou platné.
Aktuální stránky najdete na www.mrp.cz.Autonomní režim účetního systému MRP-K/S
V autonomním režimu funguje klientská část účetního systému MRP-K/S jako webový server (je tudíž nutné, abyste vyhradili jednu klientskou licenci účetního systému MRP-K/S trvale pro tuto komunikaci), který zpracovává příchozí požadavky odeslané metodou HTTP POST a reaguje na ně odpovědí. Požadavek i odpověď jsou soubory ve formátu xml s předepsanou strukturou. Komunikace může být volitelně kódovaná, s možností komprese, autentizace a šifrování.
Využívá se pro napojení na internetové obchody i od jiných poskytovatelů, případně pro generování dat z databáze a import některých dokladů.
- 1. Spuštění MRP-K/S v autonomním režimu
- 2. Obecná struktura xml dotazu a odpovědi
- 3. Kódovaná komunikace
- Funkce Hmac_Sha256
- Odvození klíčů
- Autentizace
- Šifrování
- Komprese
- Struktura obálky
- Postup kódování na straně odesílatele
- Postup dekódování na straně příjemce
- Příklad struktury kódovaného dotazu a odpovědi
- Příklad výpočtu šifrování a autentizace
- 4. Stránkování
- 5. Podporované příkazy
- EXPEO0 Export skladových karet
- EXPEO1 Export skladových karet
- IMPEO0 Import objednávek přijatých
- CENEO0 Export ceníku
- ADREO0 Export adres
- EXPFV0 Export seznamu faktur vydaných s adresou odběratele
- EXPFV1 Export seznamu faktur vydaných s adresou odběratele, položkami a úhradami
- EXPFV2 Export seznamu faktur vydaných s uloženým PDF opisem
- EXPFVPDF Export faktury vydané s online vygenerovanou PDF fakturou
- EXPFP0 Export seznamu faktur přijatých s adresou dodavatele
- EXPFP1 Export seznamu faktur přijatých s adresou dodavatele, položkami a úhradami
- EXPOP0 Export seznamu stavu objednávek přijatých
1. Spuštění MRP-K/S v autonomním režimu
Spuštění MRP-K/S v autonomním režimu se provádí zadáním parametrů příkazového řádku. Komunikace se odehrává v jedné, předem zvolené firmě.
Příklad spuštění autonomního režimu ve firmě č.1:
-A Spouští autonomní režim -Fx Určuje číslo firmy (x), se kterou bude autonomní režim pracovat -Y Uživatelské jméno a heslo, oddělené čárkou bez mezer MRPKS.EXE -A -F1 -Ymrpdba,mrpdbaPři prvním spuštění autonomního režimu je potřeba v Nastavení vybrat číslo TCP portu, na kterém bude program očekávat požadavky. Pokud je vyžadována šifrovaná komunikace, lze zadat též šifrovací klíč. Na záložce profily je také třeba nakonfigurovat, které příkazy budou pro komunikaci povoleny a nastavit jejich další parametry.
2. Obecná struktura xml dotazu a odpovědi
Databáze MRP-K/S pracuje v kódové stránce Windows-1250. Přestože je tedy xml zpravidla kódováno v UTF-8, dokument by neměl obsahovat znaky, které v se v kódování Windows-1250 nevyskytují.
Kořenovým elementem dotazu i odpovědi je obálka <mrpEnvelope>. V té je v případě nekódované komunikace obsažen element <body>, který zahrnuje vlastní dotaz nebo odpověď. V případě kódované komunikace se je obsah vložen do elementu <encodedBody> , jak je popsáno dále v části kódovaná komunikace. Dotazy, které mění obsah databáze, obsahují povinný atribut requestId. Jeho obsah určuje dotazující se aplikace a slouží k jednoznačné identifikaci daného dotazu. V případě opakovaného příkazu se shodným requestId jej program znovu nevykonává, místo toho jen vrátí kopii dříve odeslané odpovědi. Záznamy provedených příkazů jsou v databázi evidovány po omezenou dobu (momentálně cca půl dne), poté jsou smazány a jejich requestId je uvolněno pro nové použití.
Dotaz může taktéž obsahovat element <data>, ve kterém mohou být např. výběrové podmínky (v případě příkazu, požadujícího údaje z databáze), nebo samotná data příkazu, nad kterými má program vykonat požadovanou operaci.Odpověď obsahuje v části <status> identifikaci příkazu, na který reaguje. V případě, že provádění příkazu skončí libovolnou chybou, je tato skutečnost signalizována přítomností elementu <error> s jejím podrobnějším popisem.
Příklad nekódovaného dotazu:
<mrpEnvelope> <body> <mrpRequest command="IMPEO0" requestId="1234"> .... <data> <!-- Výběrové podmínky --> <!-- ... nebo ... --> <!-- data příkazu --> </data> </mrpRequest> </body> </mrpEnvelope>Příklad nekódované odpovědi:
<mrpEnvelope> <body> <mrpResponse> <status> <!-- Blok s parametry prevzatymi z mrpRequest --> <request command="IMPEO0" requestId="1234"/> <!-- V pripade chyby blok s popisem chyboveho hlaseni --> <error errorCode="" errorClass=""> <!-- errorCode - Ciselny chybovy kod --> <!-- errorClass - Trida vyjimky --> <errorMessage> <!-- Text chyboveho hlaseni --> </errorMessage> </error> </status> <data> ..... </data> </mrpResponse> </body> </mrpEnvelope>3. Kódovaná komunikace
Kódovaná komunikace umožňuje kompresi a/nebo autentizaci a šifrování xml dotazů a odpovědí. Základním elementem xml v těchto případech zůstává obálka <mrpEnvelope> , samotný obsah je ovšem místo elementu <body> vložen v elementu <encodedBody>, spolu s dalšími parametry, které určují použitou kompresi a šifrování. V případě, že je v nastavení autonomního režimu na straně MRP-K/S zaškrtnuta volba Vyžadovat šifrování, aplikace odmítne veškeré neautentizované požadavky. Pro šifrování a autentizaci je použit symetrický tajný klíč o délce 32 B, který se v nastavení autonomního režimu MRP-K/S zadává jako base64 sekvence. Klíč by měl být řadou spolehlivě náhodných čísel, program jej na požádání umí vytvořit tlačítkem Generovat.
Funkce Hmac_Sha256
Autentizační funkce Hmac se v dalších pokynech používá spolu s hash funkcí Sha256 standardním postupem: https://en.wikipedia.org/wiki/Hash-based_message_authentication_code
Funkce je definována jako
Autentizační sekvence = Hmac_Sha256(Klíč, Podepisovaná sekvence)Odvození klíčů
Vstupem je tajný klíč (32 B).
Z tajného klíče aplikace odvodí nezávislé klíče pro autentizaci a šifrování následujícím postupem, s využitím funkce Hmac_Sha256:
Klíč1 = Hmac_Sha256(Tajný klíč, 0x01) Klíč2 = Hmac_Sha256(Tajný klíč, Klíč1 || 0x02)0x01 a 0x02 jsou 1B konstanty (s pevnou hodnotou 1 a 2), || znamená zřetězení
Nadále se takto získaný Klíč1 používá jako tajný šifrovací klíč (32 B) a Klíč2 jako tajný autentizační klíč (32 B).
Autentizace
Autentizace se provádí algoritmem Hmac_Sha256.
Do algoritmu vstupuje tajný autentizační klíč (32 B) a podepisovaná sekvence bez dalších úprav.
Autentizační kód = Hmac_Sha256(Autentizační klíč, Podepisovaná sekvence)Podepsána je až finální odeslaná sekvence, po případné kompresi a šifrování. Přijímající strana tedy může provést autentizaci dat jako první krok, a pokud kódy nesouhlasí, vrátí jen chybové hlášení o neplatném autentizačním kódu a požadavkem se dále nezabývá.
Šifrování
Šifrování se provádí algoritmem AES s délkou klíče 256 bitů. Vstupem je tajný šifrovací klíč (32 B) a sekvence, která se má zašifrovat.
Postup šifrování je na odesílající straně následující:
- Vygenerování náhodné sekvence 32 B, která se nesmí (s velkou pravděpodobností) u dalších požadavků opakovat, a to ani mezi různými stanicemi používajícími stejný šifrovací klíč. Algoritmus získání této sekvence je libovolný, doporučeným postupem je využít spolehlivý generátor náhodných čísel, jeho výstup spojit s jedinečnými identifikátory daného počítače a časem výpočtu a následně provést hash celé sekvence např. funkcí Sha 256. Tato sekvence se dále označuje jako variantní klíč.
- Pomocí funkce Hmac_Sha256, kde klíčem Hmac je tajný šifrovací klíč (32 B) a podepisovanou sekvencí je variantní klíč (32 B), se získá finální šifrovací klíč (32 B).
- Pomocí funkce Sha256 aplikované na variantní klíč (32 B) se získá jiná 32 B sekvence, jejíž prvních 16 B se použije jako inicializační vektor (16 B).
- Na sekvenci určenou k zašifrování se aplikuje šifra AES v proudovém režimu CTR, přičemž šifrovacím klíčem je finální šifrovací klíč (32 B) a inicializačním vektorem prvního bloku dat (16 B) je inicializační vektor získaný v předchozím kroku (16 B). Pro další 16 B bloky se v režimu CTR inicializační vektor vždy zvyšuje o 1 (počínaje posledním bajtem, při přetečení se zvyšuje vždy předchozí bajt, s výjimkou prvního).
Postup dešifrování na přijímající straně je shodný, jako variantní klíč se použije sekvence obsažená v přijatém požadavku.
Režim CTR funguje jako proudová šifra a nevyžaduje tak zarovnání zprávy do 16 B bloků. Když není režim CTR k dospozici, lze jej realizovat pomocí základního režimu ECB.
Komprese
Volitelná komprese a dekomprese se provádí funkcemi zlib deflate a inflate.
Struktura obálky
Kódovaná obálka řeší možnosti komprese, šifrování a autentizace. V části <encodingParams> je uloženo pomocné xml s parametry, v elementu <encodedData> pak xml se samotným obsahem (obsah elementu <body> z nekódované obálky, kořenovým elementem je tedy <mrpRequest> nebo <mrpResponse>), obojí je zakódováno v base64. Když je požadována autentizace, je v dalším elementu <authCode> uveden kontrolní Hmac_Sha256 hash celkového obsahu, příčemž podepisovanou sekvencí je sekvence složená z obsahu elementu <encodingParams>, za který se připojí obsah elementu <encodedData>. Obsah elementů <encodingParams> a <encodedData> je vhodné zapouzdřit do xml sekce CDATA, aby v případě rozsáhlých xml dokumentů nedocházelo k potížím při jejich zpracování.
Kompletní struktura kódované obálky vypadá takto:
<mrpEnvelope> <encodedBody authentication="hmac_sha256"> <encodingParams> ... base64 - vložené xml s parametry šifrování a komprese ... </encodingParams> <encodedData> ... base64 - vložené xml s obsahem obálky ... </encodedData> <authCode> ... base64 - hmac sha256 hash hodnota obsahu encodingParams+encodedData ... </authCode> </encodedBody> </mrpEnvelope>Xml s parametry šifrování a komprese, které se (převedené do base64) ukládá do <encodingParams> je následující:
<mrpEncodingParams compression="zlib" encryption="aes"> <varKey> ... jen při šifrování - base64 variantní klíč 32 B ... </varkey> </mrpEncodingParams>Postup kódování na straně odesílatele
- Případné parametry šifry a komprese se uloží do pomocného xml s kořenovým elementem <mrpEncodingParams>, které se následně uloží do sekce <encodingParams> zakódované v base64.
- Odesílané xml (s kořenovým elementem <mrpRequest> nebo <mrpResponse>) se převede na sekvenci bajtů.
- Ta se volitelně zkomprimuje.
- Pokud je požadováno šifrování, sekvence se zašifruje.
- Výsledná sekvence se uloží do sekce <encodedData> zakódovaná v base64.
- Pokud je požadována autentizace (při šifrování povinně), vypočítá se autentizační kód sekvence složené ze zřetězeného obsahu <encodingParams> a <encodedData> (v binárním tvaru ještě před převedením na base64), a ten se následně uloží do elementu <authCode>, opět zakódovaný v base64.
Postup dekódování na straně příjemce
- Příjemce si přečte způsob autentizace. Když vyžaduje autentizaci a ta v atributu authentication uvedena není, zpracování končí chybou.
- Je-li vyžadována autentizace, ověří se autentizační kód. Když nesouhlasí, zpracování končí chybou.
- Načte se xml s parametry šifry a komprese uložený v <encodingParams>, způsob šifrování se porovná s nastavením programu (když je vyžadováno šifrování a v parametrech není, požadavek se odmítne).
- Načte se datová sekvence obsažená v sekci <encodedData>.
- Je-li komunikace šifrovaná, sekvence se dešifruje podle parametrů zvolené šifry.
- Je-li komunikace komprimovaná, sekvence se rozbalí podle zvolené metody komprese.
Příklad struktury kódovaného dotazu a odpovědi
Obsah některých části kódované obálky je nepovinný, podle způsobu komprese, šifrování a autentizace:
S autentizaci, šifrováním a volitelnou kompresí:
<mrpEnvelope> <encodedBody authentication="hmac_sha256"> <encodingParams> ... base64 - vložené xml s parametry šifrování a komprese ... </encodingParams> <encodedData> ... base64 - vložené xml s obsahem obálky ... </encodedData> <authCode> ... base64 - hmac sha256 hash hodnota obsahu encodingParams+encodedData ... </authCode> </encodedBody> </mrpEnvelope>Xml s parametry šifrování a komprese, které se ukládá do <encodingParams> je následující (compression="zlib" znamená kompresi):
<mrpEncodingParams compression="zlib" encryption="aes"> <varKey> ... base64 variantní klíč 32 B ... </varkey> </mrpEncodingParams>Komprese bez autentizace a šifrování:
<mrpEnvelope> <encodedBody> <encodingParams> ... base64 - vložené xml s parametry komprese ... </encodingParams> <encodedData> ... base64 - vložené xml s obsahem obálky ... </encodedData> </encodedBody> </mrpEnvelope>Vložené xml s parametry komprese:
<mrpEncodingParams compression="zlib"> </mrpEncodingParams>Příklad výpočtu šifrování a autentizace
Na následující krátké sekvenci bajtů je možno otestovat, zda se výsledky šifrování a autentizace shodují s výsledky algoritmu, který je používán. S daným tajným a variantním klíčem by měly být výstupy šifrování a autentizace shodné. Pokud bude vše souhlasit, je možno následně tento algoritmus použít pro sestavení elementu <encodedBody> podle výše uvedeného návodu.
Tajný klíč (zvolený uživatelem, base64): bRtFEufmEgrJyhai6ltDSV9svtpN3Jb/5oWBBYhDJ30= Tajný klíč (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í klíč (náhodně 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í klíč (Hmac_Sha256(Tajný klíč, 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í klíč (Hmac_Sha256(Tajný klíč, Tajný šifrovací klíč || 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ální šifrovací klíč (Hmac_Sha256(Tajný Šifrovací klíč, Variantní klíč)): 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 (prvních 16 B z Sha256(Variantní klíč)): 09 18 29 E9 98 18 6D 9F B0 78 72 2E 0B 91 44 06 Příklad proudového AES šifrování v CTR módu: Otevřený 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 Příklad autentizace: Podepisovaná sekvence: 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í klíč, Podepisovaná sekvence)): 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 6A4. Stránkování
Některé příkazy pro export podporují tzv. stránkování, kdy umožňují omezit počet záznamů v odpovědi, případně označit výřez z množiny dat. Stránkování se řeší v části <paging>. Použité elementy jsou <RowFrom> a <RowTo>. Elementy jsou nepovinné. Výchozí hodnoty jsou pro <RowFrom> 1 a pro <RowTo> 999999. Aktuálně stránkování podporují příkazy EXPFV0, EXPFV1, EXPFV2, EXPFP0, EXPFP1.
Příklad požadavku:<mrpEnvelope> <body> <mrpRequest> <request command="EXPFV0" requestId=""> </request> <data> <paging> <!-- Stránkování - omezení počtu záznamů --> <RowFrom>1</RowFrom> <RowTo>200</RowTo> </paging> <filter> <!-- Doklady s datem vystavení --> <fltvalue name="IssueDate">01.01.2018..31.12.2018</fltvalue> </filter> </data> </mrpRequest> </body> </mrpEnvelope>5. Podporované příkazy
Příklady jsou v nekódovaném tvaru. Pokud se v některých příkazech zadávají filtrovací podmínky, pak se používá uživatelská syntaxe programu MRP K/S. Vyjímkou jsou pouze filtry, které nabízí uživateli výběrové podmínky. V těchto případech bude v poznámce uveden jejich možný rozsah.
Odpovědi vracející datovou část mají následující strukturu.
<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 karet do e-obchodu. Datový element obsahuje filtrovací podmínky <fltvalue name="jmeno_filtru">podminka</fltvalue>.
Požadavek
Atributy elementu <fltvalue> nepovinný name O/M Typ Délka DM Význam Od verze stavy O L 1 0 Jsou požadovány pouze stavy karet. [T|F] cisloSkladu O N 3 0 Číslo jednoho skladu, ze kterého se bude brát stav karty. [1..999]
Tuto podmínku lze omezit nastavením "Vždy přidat omezující podmínky"cisloCeny O N 1 0 Číslo jedné prodejní ceny. [0,1..5] malObraz O L 1 0 Malý obrázek. [T|F] velObraz O L 1 0 Velký obrázek. [T|F] polePoznamka1 O L 1 0 Doplňková poznámka. [T|F] poleDetail2 O L 1 0 Popisy z druhého detailu karty. [T|F] mena O T X 0 Požadavek na ceny v cizích měnách. Uvádí se výčet požadovaných měn. [EUR|USD|...] 6.43.001 sql O T X X Výběrové podmínky pomocí SQL syntaxe databazového serveru. Název pole musí být uveden včetně názvu tabulky skladových karet. 6.40.011 Seznam volitelných filtrovacích polí, které se přibližují filtrovacím podmínkám skladových karet. Jméno filtru se skládá ze jména tabulky, oddělovače a jména datového pole.
Výraz se zapisuje a vyhodnocuje stejným způsobem, jaku u filtru v programu MRP K/S, tedy při použití číselných a datumových výrazů musí tyto výrazy respektovat nastavení desetinných oddělovačů a tvaru data nastavených na klientské stanici.
Jsou uváděny pouze typy jednotlivých polí kvůli konstrukci dotazu.name O/M Typ Délka DM Význam Od verze SKKAR.CISLO O N X X Číslo skladové karty.
Tuto podmínku lze omezit nastavením "Vždy přidat omezující podmínky"SKKAR.NAZOV O T X X Název skladové karty. SKKAR.KOD O T X X EAN skladové karty. SKKAR.KOD1 O T X X Uživatelský kód skladové karty. SKKAR.KOD2 O T X X Uživatelský kód skladové karty. SKKAR.KOD3 O T X X Uživatelský kód skladové karty. SKKAR.SKUPINA O T X X Kód skupiny skladových karet.
Tuto podmínku lze omezit nastavením "Vždy přidat omezující podmínky"SKKAR.CISKAT O N X X Kód katalogu skladových karet.
Tuto podmínku lze omezit nastavením "Vždy přidat omezující podmínky"SKKAR.TYP_POL O T X X Kód typu položky skladové karty.
Tuto podmínku lze omezit nastavením "Vždy přidat omezující podmínky"SKKAR.SADZBADPH O N X X Sazba DPH skladové karty. SKKAR.BEZDPH O L X X Rozlišení mezi mimo DPH a nulovou sazbou [T|F]. SKKAR.POZNAMKA O T X X Poznámka skladové karty. SKKAR.ZAKAZSLEVY O L X X Zákaz slevy skladové karty [T|F]. SKKAR.DODAVATEL O T X X IČ obchodníka (není to záložka dodavatelů). SKKAR.POZNAMKA1 O T X X Rozšířená poznámka skladové karty. SKKAR.DAT_ZAR O D X X Datum zařazení skladové karty. SKKAR.UPD_DATE O DT X X Datum a čas změny některých polí skladové karty.
Typ karty, Číslo, Název, EAN, Skupina, Katalog, Sazba DPH, Typ položky, Měrná jednotka, Je-li používaná, Datum zařazení, Hmotnost, Uživatelské pole 1..5, Počáteční skl.cena, Aktuální skl.cena, Aktuální počet MJ, Počet rezervovaných MJ6.42.001 SKKAR.POUZIVANA O L X X Příznak používání skladové karty [T|F]. SKKAR.TLAC O L X X Příznak zařazení karty do "tisku" [T|F]. SKKAR.USRFLD1 O T X X Uživatelské pole skladové karty. SKKAR.USRFLD2 O T X X Uživatelské pole skladové karty. SKKAR.USRFLD3 O T X X Uživatelské pole skladové karty. SKKAR.USRFLD4 O T X X Uživatelské pole skladové karty. SKKAR.USRFLD5 O T X X Uživatelské pole skladové karty. SKKARSTA.POCETMJ O N X X Počet MJ na zvoleném skladu. SKKARSTA.POCREZMJ O N X X Počet rezervovaných MJ na zvoleném skladu. SKKARSTA.POCOBJMJ O N X X Počet objednaných MJ u dodavatelů na zvoleném skladu. SKKARSTA.POZICE O T X X Umístění ve zvoleném skladu. SKKARSTA.MINIMUM O N X X Nastavené minimum MJ na zvoleném skladu. SKKARSTA.NORMA O N X X Nastavená norma MJ na zvoleném skladu. SKKARSTA.MAXIMUM O N X X Nastavené maximum MJ na zvoleném skladu. <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> <fltvalue name="meny">EUR|USD|HUF</fltvalue> <!-- Nepovinny blok s pripadnymi daty, zalezi na prikazu, zdali je potrebuje --> <!-- Číslo karty v rozsahu 1 až 10 --> <fltvalue name="SKKAR.CISLO">1..10</fltvalue> <!-- Kód skupiny skladových karet A nebo B --> <fltvalue name="SKKAR.SKUPINA">A|B</fltvalue> <!-- Typ položky Z --> <fltvalue name="SKKAR.TYP_POL">Z</fltvalue> <!-- Změna ve skladových kartách od 1.1.2022 12:34 nebo nové skladové karty --> <fltvalue name="SKKAR.UPD_DATE">>1.1.2022 12:34|null</fltvalue> <!-- ^ Není vhodné přímo použít znak > (větší), protože je to řídící znak formátu xml. Pro zápis takových znaků může být potřeba použít tzv entitu. --> </filter> </data> </mrpRequest> </body> </mrpEnvelope>Odpověď
Element <karty> Vždy fields stavy Typ Délka DM Význam cislo X N 10 2 Číslo karty nazev F T 64 0 Název karty jednotka F T 3 0 Měrná jednotka cena F N 17 6 Cena určená podmínkou cisloCeny cenasdph F N 17 6 Tato cena s DPH sazbadph F N 5 2 Sazba DPH ciskat F N 8 0 Číslo v katalogu ciskatlist F T X 0 Seznam čísel katalogu oddělených znakem "svislítko"(pipe, "|") kod F T 14 0 EAN kód kod1 F T 30 0 Uživatelský kód 1 skupina F T 10 0 Kód skupiny skl. karet hmotnost F N 13 6 Hmotnost v kg delka F N 12 3 Délka v metrech sirka F N 12 3 Šířka v metrech vyska F N 12 3 Výška v metrech baleni F N 12 3 Množství MJ v balení usrfld1 F T 40 0 Uživatelské pole 1 usrfld2 F T 40 0 Uživatelské pole 2 usrfld3 F T 40 0 Uživatelské pole 3 usrfld4 F T 40 0 Uživatelské pole 4 usrfld5 F T 40 0 Uživatelské pole 5 poznamka F T 50 0 Poznámka poznamka1 F M X 0 Doplňující poznámka (musí být nastaveno polePoznamka1) nazev2 F T 64 0 Název 2 karty maxslevap F N 6 2 Maximální sleva karty variantgrp F N 10 0 Číslo skupiny variant pocetmj X N 15 6 Počet MJ na požadovaném skladu pocrezmj X N 15 6 Počet rezervovaných MJ na požadovaném skladu pocobjmj X N 15 6 Počet objednaných MJ u dodavatelů na zvoleném skladu. cena1 F N 17 6 Prodejní cena 1 cena1sdph F N 17 6 Prodejní cena 1 s DPH cena2 F N 17 6 Prodejní cena 2 cena2sdph F N 17 6 Prodejní cena 2 s DPH cena3 F N 17 6 Prodejní cena 3 cena3sdph F N 17 6 Prodejní cena 2 s DPH cena4 F N 17 6 Prodejní cena 4 cena4sdph F N 17 6 Prodejní cena 4 s DPH cena5 F N 17 6 Prodejní cena 5 cena5sdph F N 17 6 Prodejní cena 5 s DPH pozice F T 10 0 Pozice na požadovaném skladu malpopis F T 80 0 Malý popis velpopis F M X 0 Velký popis malpopis2 F T 80 0 Malý popis 2 (musí být nastaveno poleDetail2) velpopis2 F M X 0 Velký popis 2 (musí být nastaveno poleDetail2) malobr F T 40 0 Název malého obrázku velobr F T 40 0 Název velkého obrázku malobraz F B X 0 Malý obrázek (musí být nastaveno malObraz) velobraz F B X 0 Velký obrázek (musí být nastaveno velObraz) skupnazev F T 50 0 Název katalogové skupiny mena F T 3 0 Měna phe_kod F T 15 0 Kód recyklačního poplatku phe_popis F T 30 0 Název recyklačního poplatku phe_castka F N 9 2 Recyklační poplatek z číselníku phe_zakg F T 1 0 Je-li recyklační poplatek za kilogram (T|F) minprodmj F N 15 6 Minimální prodávaný počet MJ. Pouze informace. datdostup X D 10 0 Datum, od kdy bude zboží dostupné. Element <katalog> (pouze stavy=F) fields stavy Typ Délka DM Význam idr F N 9 0 ciskat F N 8 0 Číslo katalogové skupiny uciskat F N 8 0 Číslo nadřazené katalogové skupiny popis F T 45 0 Popis katalogové skupiny poradi F N 8 0 Pořadí ve stromové struktuře Element <nahrady> (pouze stavy=F) fields stavy Typ Délka DM Význam cislo F N 10 2 Číslo skladové karty kod F T 14 0 EAN skladové karty kod1 F T 30 0 Uživatelský kód 1 skladové karty cislo_z F N 10 2 Číslo zaměnitelné skladové karty kod_z F T 14 0 EAN zaměnitelné skladové karty kod1_z F T 30 0 Uživatelský kód 1 zaměnitelné skladové karty Element <doplnky> (pouze stavy=F) fields stavy Typ Délka DM Význam cislo F N 10 2 Číslo skladové karty kod F T 14 0 EAN skladové karty kod1 F T 30 0 Uživatelský kód 1 skladové karty cislo_r F N 10 2 Číslo doplňkové skladové karty kod_r F T 14 0 EAN doplňkové skladové karty kod1_r F T 30 0 Uživatelský kód 1 doplňkové skladové karty Element <navazujici> (pouze stavy=F) fields stavy Typ Délka DM Význam cislo F N 10 2 Číslo hlavní skladové karty pocetmj F N 15 3 Počet MJ hlavní karty. Výchozí hodnota 1. cislo_s F N 10 2 Číslo navazující skladové karty pocetmj_s F N 15 3 Počet MJ navazující karty k zadanému počtu MJ hlavní karty Element <zahrceny> (pouze stavy=F) fields stavy Typ Délka DM Význam cislo F N 10 2 Číslo skladové karty cisloskl F N 3 0 Číslo skladu mena F T 3 0 Kód měny cena1 F N 15 3 Prodejní cena 1 v zahraniční měně cena2 F N 15 3 Prodejní cena 2 v zahraniční měně cena3 F N 15 3 Prodejní cena 3 v zahraniční měně cena4 F N 15 3 Prodejní cena 4 v zahraniční měně cena5 F N 15 3 Prodejní cena 5 v zahraniční měně <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>21</sazbadph> <ciskat>2</ciskat> <ciskatlist>2|21|22</ciskatlist> <kod>8595008803359</kod> <kod1></kod1> <skupina>6</skupina> <hmotnost>0</hmotnost> <delka>0</delka> <sirka>0</sirka> <vyska>0</vyska> <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>CZK</mena> <phe_kod>AA-213-x-56</phe_kod> <phe_popis>Test RP</phe_popis> <phe_castka>1234.56</phe_castka> <phe_zakg>F</phe_zakg> <minprodmj>10</minprodmj> <datdostup>2022-07-28</datdostup> </fields> </row> <row> .... </row> </rows> </karty> <katalog> <rows> <row> <fields> <idr>321232</idr> <ciskat>1</ciskat> <popis>Nářadí</popis> <poradi>0</poradi> </fields> </row> <row> .... </row> </rows> </katalog> <nahrady> <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> </nahrady> <doplnky> <rows> <row> <fields> <cislo>1</cislo> <kod>8595008803359</kod> <kod1></kod1> <cislo_r>1.1</cislo_z> <kod_r>8594007132571</kod_z> <kod1_r></kod1_z> </fields> </row> <row> .... </row> </rows> </doplnky> <zahrceny> <rows> <row> <fields> <cislo>1</cislo> <cisloskl>1</cisloskl> <mena>EUR</mena> <cena1>1.23</cena1> <cena2>0</cena2> <cena3>0</cena3> <cena4>0</cena4> <cena5>0</cena5> </fields> </row> <row> .... </row> </rows> </zahrceny> </datasets> </data> </mrpResponse> </body> </mrpEnvelope>EXPEO1
Export skladových karet do e-obchodu. Datový element obsahuje filtrovací podmínky <fltvalue name="jmeno_filtru">podminka</fltvalue>.
Požadavek
Filtrovací podmínky jsou stejné jak u příkazu EXPEO0. Jediným rozdílem je filtr pro číslo skladu, kde může být zadán rozsah v rámci platných filtrovacích podmínek.
<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="meny">EUR|USD|HUF</fltvalue> <fltvalue name="SKKAR.CISLO">1..10</fltvalue> </filter> </data> </mrpRequest> </body> </mrpEnvelope>Odpověď
Element <sklady> Vždy fields stavy Typ Délka DM Význam cisloskl X N 3 0 Číslo skladu nazevskl X T 30 0 Název 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 datdostup X D 10 0 Datum, od kdy bude zboží dostupné. pocetmj X N 15 6 Počet MJ ve skladu pocrezmj X N 15 6 Počet rezervovaných MJ na požadovaném skladu pocobjmj X N 15 6 Počet objednaných MJ u dodavatelů na zvoleném skladu. cena F N 17 6 Cena určená podmínkou cisloCeny cenasdph F N 17 6 Tato cena s DPH cena1 F N 17 6 Prodejní cena 1 cena1sdph F N 17 6 Prodejní cena 1 s DPH cena2 F N 17 6 Prodejní cena 2 cena2sdph F N 17 6 Prodejní cena 2 s DPH cena3 F N 17 6 Prodejní cena 3 cena3sdph F N 17 6 Prodejní cena 2 s DPH cena4 F N 17 6 Prodejní cena 4 cena4sdph F N 17 6 Prodejní cena 4 s DPH cena5 F N 17 6 Prodejní cena 5 cena5sdph F N 17 6 Prodejní cena 5 s DPH pozice F T 10 0 Pozice na požadovaném skladu mena F T 3 0 Měna Element <karty> (pouze stavy=F) fields stavy Typ Délka DM Význam cislo F N 10 2 Číslo karty nazev F T 64 0 Název karty jednotka F T 3 0 Měrná jednotka sazbadph F N 5 2 Sazba DPH ciskat F N 8 0 Číslo v katalogu ciskatlist F T X 0 Seznam čísel katalogu oddělených znakem "svislítko"(pipe, "|") kod F T 14 0 EAN kód kod1 F T 30 0 Uživatelský kód 1 skupina F T 10 0 Kód skupiny skl. karet hmotnost F N 13 6 Hmotnost v kg delka F N 12 3 Délka v metrech sirka F N 12 3 Šířka v metrech vyska F N 12 3 Výška v metrech baleni F N 12 3 Množství MJ v balení usrfld1 F T 40 0 Uživatelské pole 1 usrfld2 F T 40 0 Uživatelské pole 2 usrfld3 F T 40 0 Uživatelské pole 3 usrfld4 F T 40 0 Uživatelské pole 4 usrfld5 F T 40 0 Uživatelské pole 5 poznamka F T 50 0 Poznámka poznamka1 F M X 0 Doplňující poznámka (musí být nastaveno polePoznamka1) nazev2 F T 64 0 Název 2 karty maxslevap F N 6 2 Maximální sleva karty variantgrp F N 10 0 Číslo skupiny variant malpopis F T 80 0 Malý popis velpopis F M X 0 Velký popis malpopis2 F T 80 0 Malý popis 2 (musí být nastaveno poleDetail2) velpopis2 F M X 0 Velký popis 2 (musí být nastaveno poleDetail2) malobr F T 40 0 Název malého obrázku velobr F T 40 0 Název velkého obrázku malobraz F B X 0 Malý obrázek (musí být nastaveno malObraz) velobraz F B X 0 Velký obrázek (musí být nastaveno velObraz) skupnazev F T 50 0 Název katalogové skupiny phe_kod F T 15 0 Kód recyklačního poplatku phe_popis F T 30 0 Název recyklačního poplatku phe_castka F N 9 2 Recyklační poplatek z číselníku phe_zakg F T 1 0 Je-li recyklační poplatek za kilogram (T|F) minprodmj F N 15 6 Minimální prodávaný počet MJ. Pouze informace. Element <katalog> (pouze stavy=F) fields stavy Typ Délka DM Význam idr F N 9 0 ciskat F N 8 0 Číslo katalogové skupiny uciskat F N 8 0 Číslo nadřazené katalogové skupiny popis F T 45 0 Popis katalogové skupiny poradi F N 8 0 Pořadí ve stromové struktuře Element <nahrady> (pouze stavy=F) fields stavy Typ Délka DM Význam cislo F N 10 2 Číslo skladové karty kod F T 14 0 EAN skladové karty kod1 F T 30 0 Uživatelský kód 1 skladové karty cislo_z F N 10 2 Číslo zaměnitelné skladové karty kod_z F T 14 0 EAN zaměnitelné skladové karty kod1_z F T 30 0 Uživatelský kód 1 zaměnitelné skladové karty Element <doplnky> (pouze stavy=F) fields stavy Typ Délka DM Význam cislo F N 10 2 Číslo skladové karty kod F T 14 0 EAN skladové karty kod1 F T 30 0 Uživatelský kód 1 skladové karty cislo_r F N 10 2 Číslo doplňkové skladové karty kod_r F T 14 0 EAN doplňkové skladové karty kod1_r F T 30 0 Uživatelský kód 1 doplňkové skladové karty Element <navazujici> (pouze stavy=F) fields stavy Typ Délka DM Význam cislo F N 10 2 Číslo hlavní skladové karty pocetmj F N 15 3 Počet MJ hlavní karty. Výchozí hodnota 1. cislo_s F N 10 2 Číslo navazující skladové karty pocetmj_s F N 15 3 Počet MJ navazující karty k zadanému počtu MJ hlavní karty Element <zahrceny> (pouze stavy=F) fields stavy Typ Délka DM Význam cislo F N 10 2 Číslo skladové karty cisloskl F N 3 0 Číslo skladu mena F T 3 0 Kód měny cena1 F N 15 3 Prodejní cena 1 v zahraniční měně cena2 F N 15 3 Prodejní cena 2 v zahraniční měně cena3 F N 15 3 Prodejní cena 3 v zahraniční měně cena4 F N 15 3 Prodejní cena 4 v zahraniční měně cena5 F N 15 3 Prodejní cena 5 v zahraniční měně <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> <datdostup>2022-07-28</datdostup> <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>CZK</mena> </fields> </row> </rows> </stavy> <karty> <rows> <row> <fields> <cislo>1</cislo> <nazev>Kladivo</nazev> <jednotka>ks</jednotka> <sazbadph>21</sazbadph> <ciskat>2</ciskat> <ciskatlist>2|21|22</ciskatlist> <kod>8595008803359</kod> <kod1></kod1> <skupina>6</skupina> <hmotnost>0</hmotnost> <delka>0</delka> <sirka>0</sirka> <vyska>0</vyska> <baleni>12</baleni> <usrfld1>Text, UsrFld25_yyyyy</usrfld1> <usrfld2></usrfld2> <usrfld3></usrfld3> <usrfld4></usrfld4> <usrfld5></usrfld5> <poznamka></poznamka> <nazev2></nazev2> <skupnazev>Skupina 6</skupnazev> <minprodmj>10</minprodmj> </fields> </row> </rows> </karty> <katalog> <rows> <row> <fields> <idr>321232</idr> <ciskat>1</ciskat> <popis>Nářadí</popis> <poradi>0</poradi> </fields> </row> </rows> </katalog> <nahrady> <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> </nahrady> <doplnky> <rows> <row> <fields> <cislo>1</cislo> <kod>8595008803359</kod> <kod1></kod1> <cislo_r>1.1</cislo_z> <kod_r>8594007132571</kod_z> <kod1_r></kod1_z> </fields> </row> <row> .... </row> </rows> </doplnky> <zahrceny> <rows> <row> <fields> <cislo>1</cislo> <cisloskl>1</cisloskl> <mena>EUR</mena> <cena1>1.23</cena1> <cena2>0</cena2> <cena3>0</cena3> <cena4>0</cena4> <cena5>0</cena5> </fields> </row> <row> .... </row> </rows> </zahrceny> </datasets> </data> </mrpResponse> </body> </mrpEnvelope>IMPEO0
Import objednávek z e-obchodu. Datový element obsahuje jednak globální parametry <paramvalue name="jmeno_parametru">hodnota_parametru</paramvalue>, které jsou nepovinné, tak vlastní objednávky.Požadavek
<params> <paramvalue name="cisloSkladu">1</paramvalue> ... </params> <objednavka ...> <parametryDokladu .../> <mena .../> <rezimDPH .../> <adresa ...> <firma .../> <osoba .../> <!-- Email se sklada az do delky pole v databazi --> <email>ja_1@xyz.cz</email> ... <email>ja_n@xyz.cz</email> <!-- Telefon muze obsahovat tri polozky --> <tel>123456781</tel> <tel>123 456 789</tel> <uzivatelskaPole> <!-- Celkem muze byt pet uzivatelkych poli s cislem pole v nazvu tagu --> <uzivatelskePole1>hodnota uzivatelskeho pole</uzivatelskePole1> ... </uzivatelskaPole> </adresa> <adresa_dod ...> <firma .../> <osoba .../> <!-- Email se sklada az do delky pole v databazi --> <email>ja1@xyz.cz</email> ... <email>ja3@xyz.cz</email> <!-- Telefon muze obsahovat tri polozky --> <uzivatelskaPole> <!-- Celkem muze byt pet uzivatelkych poli s cislem pole v nazvu tagu --> <uzivatelskePole1>hodnota uzivatelskeho pole</uzivatelskePole1> ... </uzivatelskaPole> </adresa_dod> <polozky> <polozka .../> </polozky> <poznamka> ... </poznamka> <uzivatelskaPole> <!-- Celkem muze byt pet uzivatelkych poli s cislem pole v nazvu tagu --> <uzivatelskePole1>hodnota uzivatelskeho pole</uzivatelskePole1> ... </uzivatelskaPole> </objednavka>
Atributy elementu <paramvalue> nepovinný name O/M Typ Délka DM Význam Od verze cisloSkladu O N 3 0 Číslo skladu pro objednávky. Pokud nebude uvedeno, bere se z konfigurace programu. stredisko O T 6 0 Číslo střediska pro objednávky. Pokud nebude uvedeno, bere se z konfigurace programu. cisloZakazky O T 15 0 Číslo zakázky pro objednávky. Pokud nebude uvedeno, bere se z konfigurace programu. prefixRadyObj O T 10 0 Prefix číselné řady pro objednávky. Pokud nebude uvedeno, bere se z konfigurace programu. Atributy elementu <objednavka> povinný name O/M Typ Délka DM Význam Od verze stredisko O T 6 0 Číslo střediska pro objednávku. Pokud nebude uvedeno, bere se z <paramvalue> nebo z konfigurace programu. 5.55.005 cisloZakazky O T 15 0 Číslo zakázky pro objednávku. Pokud nebude uvedeno, bere se z <paramvalue> nebo z konfigurace programu. 5.55.005 formaUhrady O T 10 0 Forma úhrady zpusobDopravy O T 10 0 Způsob dopravy variabilniSymbol O N 10 0 Variabilní symbol puvodniCislo O T 50 0 Původní číslo objednávky datum O D 10 0 Datum objednávky RRRR-MM-DD datumDodani O D 10 0 Dodací lhůta objednávky RRRR-MM-DD 5.55.005 cenySDPH O L 1 0 Ceny v objednávce jsou/nejsou s DPH fixniCena O T 1 0 Ceny v objednávce jsou neměnné[T|F|X] typDPH O N 2 0 Typ DPH dle číselníku typů DPH pro uskutečněná plnění 6.30.001 Pořadí ve vyhodnocování zadání střediska:
- Středisko uvedené v objednávce
- Pokud je to v konfiguraci povoleno, středisko uvedené v adrese
- Středisko uvedené v <paramvalue>
- Středisko uvedené v konfiguraci importu
Atributy elementu <adresa> povinný name O/M Typ Délka DM Význam Od verze id O T 10 0 Identifikace zákazníka v e-obchodu ulice O T 30 0 Ulice a číslo popisné mesto O T 30 0 Město psc O T 15 0 PSČ kodStatu O T 2 0 ISO kód státu 5.35.005 fyzickaOsoba O L 1 0 Příznak, zda adresa je fyzickou osobou.[T|F] 5.72.001 Atributy elementu <firma> nepovinný name O/M Typ Délka DM Význam Od verze nazev O T 100 0 Název firmy ico O T 12 0 IČ dic O T 17 0 DIČ ic_dph O T 14 0 IČ DPH (pouze ve slovenské verzi) 5.60.003 Atributy elementu <osoba> nepovinný name O/M Typ Délka DM Význam Od verze jmeno O T 30 0 Jméno prijmeni O T 30 0 Příjmení Součet délek obou atributů musí být menší jak 30 znaků Element <email> nepovinný name O/M Typ Délka DM Význam Od verze O T 256 0 E-mail adresy se skládají až do délky pole v databázi Element <tel> nepovinný name O/M Typ Délka DM Význam Od verze tel O T 30 0 Telefon Mohou být uvedeny maximálně tři elementy Element <uzivatelskaPole> nepovinný element O/M Typ Délka DM Význam Od verze uzivatelskePole1 O T 40 0 Hodnota uživatelského pole 1 6.29.002 uzivatelskePole2 O T 40 0 Hodnota uživatelského pole 2 6.29.002 uzivatelskePole3 O T 40 0 Hodnota uživatelského pole 3 6.29.002 uzivatelskePole4 O T 40 0 Hodnota uživatelského pole 4 6.29.002 uzivatelskePole5 O T 40 0 Hodnota uživatelského pole 5 6.29.002 Atributy elementu <parametryDokladu> nepovinný name O/M Typ Délka DM Význam Od verze UPDP O N 1 0 UnitPriceDecimalPlaces
Počet desetinných míst Ceny za měrnou jednotku (rozsah 1..4, pro SK verzi 1..6)6.50.001 VATRU O N 6 2 VATRoundingUnit
Zaokrouhlování DPH - jednotky (např. 1.00, 0.10, 0.01).
Pouze pro CZ verzi.6.50.001 TRU O N 6 2 TotalRoundingUnit
Zaokrouhlování celkové částky dokladu - jednotky (např. 1.00, 0.10, 0.01)6.50.001 TRM O N 1 0 TotalRoundingMethod
Zaokrouhlování celkové částky - způsob (0 - přirozeně, 1 - dolů, 2 - nahoru, 3 - bankéřské zaokrouhlení)6.50.001 VATCA O N 1 0 VATCoefficientApplication
Pro výpočet celkové DPH použít Koeficient DPH (0 - nepoužít, 1 - použít).
Pouze pro CZ verzi.6.50.001 VATCUPA O N 1 0 VATCoefficientUnitPriceApplication
Pro výpočet jednotkové DPH použít Koeficient DPH (0 - nepoužít, 1 - použít).
Pouze pro CZ verzi.6.50.001 TRD O N 1 0 TotalRoundingDissolving
Rozpuštění celkového zaokrouhlení (0 - rozpustit do částky MIMODPH, 1 - rozpustit do ZAKLAD+DPH)6.50.001 TRDCA O N 1 0 TotalRoundingDissolvingCoefficientApplication
Pro rozpuštění zaokrouhlení použít Koeficient DPH (0 - podle způsobu výpočtu dokladu, 1 - vždy použít koeficient).
Pouze pro CZ verzi a TRD=1.6.50.001 VATFRB O N 1 0 VATFromRoundedBase
Celkovou DPH počítat ze zaokrouhleného základu (0 - z nezaokrouhleného, 1 - ze zaokrouhleného).
Pouze SK verze.6.50.001 Parametry výpočtu dokladu. Atributy elementu <mena> nepovinný name O/M Typ Délka DM Význam Od verze kod O T 3 0 ISO kód měny kurz O N 13 6 Kurz mnozstvi O N 13 6 k množství účetní měny Atributy elementu <rezimDPH> nepovinný name O/M Typ Délka DM Význam Od verze kod O N 1 0 Kód režimu DPH
0 - Běžný tuzemský režim
1 - Režim registrace EU
2 - Režim OSS (MOSS)6.30.001 statDPH O T 2 0 Stát DPH 6.30.001 vatDPH O T 17 0 VAT reg.č. (DIČ) 6.30.001 Element <poznamka> nepovinný name O/M Typ Délka DM Význam Od verze poznamka O T X 0 Poznámka jako dlouhý text Element <uzivatelskaPole> nepovinný element O/M Typ Délka DM Význam Od verze uzivatelskePole1 O T 40 0 Hodnota uživatelského pole 1 uzivatelskePole2 O T 40 0 Hodnota uživatelského pole 2 uzivatelskePole3 O T 40 0 Hodnota uživatelského pole 3 uzivatelskePole4 O T 40 0 Hodnota uživatelského pole 4 uzivatelskePole5 O T 40 0 Hodnota uživatelského pole 5 Atributy elementu <polozka> povinný name O/M Typ Delka DM Význam Od verze cisloKarty O N 10 2 Číslo skladové karty eanKarty O T 13 0 EAN skladové karty (pro identifikaci) kodKarty O T 30 0 Uživatelský kód skladové karty (pro identifikaci) 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 Sleva v měně dokladu za MJ. Částka slevy je uváděna buď s DPH nebo bez DPH v závislosti na nastavení tohoto atributu v hlavičce objednávky. Pokud je uvedena, má přednost před slevou uvedenou v procentech. 5.55.005 sleva O N 6 2 Sleva v procentech za MJ 5.55.005 sazbaDPH O N 5 2 Sazba DPH typPolozky O T 2 0 Typ položky dle číselníku Typy položek fixniCena O L 1 0 Ceny v řádku objednávky jsou neměnné.
Záleží na nastavení v hlavičce dokladu.[T|F]poznamkaPolozky O T 20 0 Poznámka položky Pokud je uveden pouze text, nemusí být atributy pocetMJ a cenaMJ uvedeny.
Podle atributů eanKarty a kodKarty se vyhledává pouze v případě, že má program nastavno hlídání jedinečnosti těchto polí. Vyhledávání skladové položky probíhá v pořadí cisloKarty, eanKarty a nakonec kodKarty.Přidávání adres
Z e-shopu chodí dva identifikátory:
Pro určení adresy je v tomto případě primární id, které se ukládá do databáze informačního systému (IS). Samotné adresy pro jeden doklad jsou v datasetu (DS) a ukládají se před dokladem.
- id
- ico
id generuje e-shop při založení nového uživatele. Nemá nic společného s primárním klíčem tabulky v účetnictví. Je jasné, že pokud je k IS připojeno více e-shopů, musí mít organizačně zajištěno zamezení duplicity id mezi obchody u různých adres.
Hledací funkce přes id a ico vrací vždy ten druhý identifikátor z databáze (plus něco navíc). V tomto textu jsou jako isID a isIČO.
Dokladem se v textu myslí samotná objednávka, ...
Hlavní (fakturační) adresa
V IS se hledá adresa podle id.
Pokud je nalezena, aktualizuje se ico podle isIČO a toto ico je použito do dokladu. Adresa se neukládá.
Pokud nebyla nalezena adresa podle id, hledá se podle ico. Pokud adresu je nalezena, pak se testuje, zda je isID prázdné.
Pokud je prázdné a id je vyplněno, pak je provedena aktualizace isID v databázi. Pokud není isID prázdné a id je vyplněno (z předchozího vyplývá, že je různé), pak je založena nová adresa pro toto ico, ale s lomítkem. Toto ico se použije pro doklad.
Pokud není isID prázdné a id není vyplněno, pak se nic nedělá.
Pokud nebyla nalezena adresa ani podle id, ani podle ico, pak je založena nová adresa.
Vedlejší (doručovací) adresa
V IS se hledá adresa podle id.
Pokud je nalezena, aktualizuje se ico podle isIČO a toto ico se použije do dokladu. Adresa se neukládá.
Pokud nebyla nalezena v IS, hledá se adresa podle id v DS. Pokud je nalezena, aktualizuje se ico podle dsIČO a toto ico je použito do dokladu. Adresa se neukládá.
Pokud nebyla nalezena adresa podle id, hledá se v IS podle ico. Pokud je adresa nalezena, tak se pak testuje, zda je vrácené isID prázdné. Pokud je isID prázdné a id je vyplněno, pak je provedena aktualizace isID v databázi.
Pokud není isID prázdné a id je vyplněno (z předchozího vyplývá, že je různé), pak je založena nová adresa pro toto ico, ale s lomítkem. Toto ico se použije pro doklad.
Pokud není isID prázdné a id není vyplněno, pak se nic nedělá. Pokud nebyla nalezena adresa v IS, hledáme se podle ico v DS. Pokud je adresa nalezena, tak se pak testuje, zda je dsID prázdné. Pokud je prázdné a id je vyplněno, pak je provedena aktualizace dsID v datasetu. Pokud není dsID prázdné a id je vyplněno (z předchozího vyplývá, že je různé), pak je založena nová adresa pro toto ico, ale s lomítkem. Toto ico se použije pro doklad. Pokud není dsID prázdné a id není vyplněno, pak nic neděláme. Pokud nebyla nalezena adresa ani podle id, ani podle ico, pak je založena nová adresa. Použije se pro to ico fakturační adresy a přidá se lomítko.<mrpEnvelope> <body> <mrpRequest> <!-- Povinny blok pro definici prikazu --> <request command="IMPEO0" requestId="20121203140300033"> <!-- requestId je ID spojeni (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="22" datum="2014-01-01" cenySDPH="T"> <!-- Parametry výpočtu dokladu. Zaokrouhlování hlavičky dokladu na koruny. --> <parametryDokladu TRU="1.00"/> <mena kod="CZK" kurz="1" mnozstvi="1"/> <rezimDPH kod="1" statDPH="AT" vatDPH="AT12345678"/> <adresa id="22" ulice="Vonaskova 123" mesto="Zlín" psc="76001"> <firma nazev="" ico="" dic=""/> <osoba jmeno="Jan" prijmeni="Vonásek"/> <!-- Email se sklada az do delky pole v databazi --> <email>ja1@xyz.cz</email> <email>ja2@xyz.cz</email> <email>ja3@xyz.cz</email> <email>ja4@xyz.cz</email> <!-- Telefon muze obsahovat tri polozky --> <tel>123456781</tel> <tel>123 456 789</tel> </adresa> <adresa_dod id="" ulice="Vonaskova 123" mesto="Zlín" psc="760 01"> <firma nazev="" ico="" dic=""/> <osoba jmeno="Jan" prijmeni="Vonásek"/> <!-- Email se sklada az do delky pole v databazi --> <email>ja1@mrp.cz</email> <email>ja2@mrp.cz</email> <email>ja3@mrp.cz</email> <!-- Telefon muze obsahovat tri polozky --> </adresa_dod> <polozky> <polozka cisloKarty="9" text="" cenaMJ="10" pocetMJ="1" sazbaDPH="21"/> </polozky> <poznamka> <!-- Je to jako element, protoze to je memo --> Toto je poznamka na vice radek. Alespon na tri. </poznamka> <uzivatelskaPole> <uzivatelskePole1>uzivatelskePole1</uzivatelskePole1> <uzivatelskePole2>uzivatelskePole2</uzivatelskePole2> <uzivatelskePole3>uzivatelskePole3</uzivatelskePole3> <uzivatelskePole4>uzivatelskePole4</uzivatelskePole4> <uzivatelskePole5>uzivatelskePole5</uzivatelskePole5> </uzivatelskaPole> </objednavka> <objednavka puvodniCislo="23" datum="2012-12-03" cenySDPH="T"> <!-- Parametry výpočtu dokladu. Zaokrouhlování hlavičky dokladu na koruny. --> <parametryDokladu TRU="1.00"/> <mena kod="CZK" mnozstvi="1" kurz="1"/> <adresa id="22" ulice="Vonaskova 123" mesto="Zlín" psc="760 01"> <firma nazev="" ico="" dic=""/> <osoba jmeno="Jan" prijmeni="Vonásek"/> <email></email> <tel></tel> </adresa> <polozky> <polozka cisloKarty="" text="Sluzby" cenaMJ="10" pocetMJ="1" sazbaDPH="14"/> <polozka cisloKarty="1" text="" cenaMJ="10" pocetMJ="1" sazbaDPH="14"/> </polozky> <poznamka> Toto je poznamka na vice radek. Alespon na dve. </poznamka> </objednavka> </data> </mrpRequest> </body> </mrpEnvelope>Odpověď
Kladná odpověď obsahuje v datové části seznam originálních čísel objednávek a programem nově přiřazených čísel. Datová část se generuje pouze tehdy, pokud je posíláno původní číslo objednávky.
Atributy elementu <objednavka> nepovinný name Typ Délka DM Význam puvodnicislo T 50 0 Původní číslo objednávky cislo T 10 0 Číslo objednávky přiřazené programem <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
Příkaz slouží pro zjištění cen pro konkrétní cenovou skupinu.
Požadavek
Atributy elementu <fltvalue> nepovinný name O/M Typ Délka DM Význam Od verze cisloSkladu O N 3 0 Číslo jednoho skladu, ze kterého se bude brát případná cena. [1..999]
Tuto podmínku lze omezit nastavením "Vždy přidat omezující podmínky"cisloCeny O N 1 0 Číslo výchozí prodejní ceny. [0,1..5] cenovaSkupina O N 4 0 Číslo cenové skupiny. [1..9999]. cenovaSkupina O T X X Čísla cenových skupin (1..9999) zadaných pomocí svislítka (|) nebo rozsahu (..).
Např. 1|2|4..66.40.011 datum O D 10 0 Datum platnosti cenové skupiny (XML formát) cenySDPH O L 1 0 Zda budou ceny s/bez DPH [T|F] sql O T X X Výběrové podmínky pomocí SQL syntaxe databazového serveru. Název pole musí být uveden včetně názvu tabulky skladových karet. 6.40.011 Seznam volitelných filtrovacích polí, které se přibližují filtrovacím podmínkám skladových karet. Jméno filtru se skládá ze jména tabulky, oddělovače a jména datového pole.
Výraz se zapisuje a vyhodnocuje stejným způsobem, jaku u filtru v programu MRP K/S, tedy při použití číselných a datumových výrazů musí tyto výrazy respektovat nastavení desetinných oddělovačů a tvaru data nastavených na klientské stanici.
Jsou uváděny pouze typy jednotlivých polí kvůli konstrukci dotazu.name O/M Typ Délka DM Význam SKKAR.CISLO O N X X Číslo skladové karty.
Tuto podmínku lze omezit nastavením "Vždy přidat omezující podmínky"SKKAR.NAZOV O T X X Název skladové karty. SKKAR.KOD O T X X EAN skladové karty. SKKAR.KOD1 O T X X Uživatelský kód skladové karty. SKKAR.KOD2 O T X X Uživatelský kód skladové karty. SKKAR.KOD3 O T X X Uživatelský kód skladové karty. SKKAR.SKUPINA O T X X Kód skupiny skladových karet.
Tuto podmínku lze omezit nastavením "Vždy přidat omezující podmínky"SKKAR.CISKAT O N X X Kód katalogu skladových karet.
Tuto podmínku lze omezit nastavením "Vždy přidat omezující podmínky"SKKAR.TYP_POL O T X X Kód typu položky skladové karty.
Tuto podmínku lze omezit nastavením "Vždy přidat omezující podmínky"SKKAR.SADZBADPH O N X X Sazba DPH skladové karty. SKKAR.BEZDPH O L X X Rozlišení mezi mimo DPH a nulovou sazbou [T|F]. SKKAR.POZNAMKA O T X X Poznámka skladové karty. SKKAR.ZAKAZSLEVY O L X X Zákaz slevy skladové karty [T|F]. SKKAR.DODAVATEL O T X X IČ obchodníka (není to záložka dodavatelů). SKKAR.POZNAMKA1 O T X X Rozšířená poznámka skladové karty. SKKAR.DAT_ZAR O D X X Datum zařazení skladové karty. SKKAR.POUZIVANA O L X X Příznak používání skladové karty [T|F]. SKKAR.TLAC O L X X Příznak zařazení karty do "tisku" [T|F]. SKKAR.USRFLD1 O T X X Uživatelské pole skladové karty. SKKAR.USRFLD2 O T X X Uživatelské pole skladové karty. SKKAR.USRFLD3 O T X X Uživatelské pole skladové karty. SKKAR.USRFLD4 O T X X Uživatelské pole skladové karty. SKKAR.USRFLD5 O T X X Uživatelské pole skladové karty. SKKARSTA.POCETMJ O N X X Počet MJ na zvoleném skladu. SKKARSTA.POCREZMJ O N X X Počet rezervovaných MJ na zvoleném skladu. SKKARSTA.POCOBJMJ O N X X Počet objednaných MJ u dodavatelů na zvoleném skladu. SKKARSTA.POZICE O T X X Umístění ve zvoleném skladu. SKKARSTA.MINIMUM O N X X Nastavené minimum MJ na zvoleném skladu. SKKARSTA.NORMA O N X X Nastavená norma MJ na zvoleném skladu. SKKARSTA.MAXIMUM O N X X Nastavené maximum MJ na zvoleném skladu. <mrpEnvelope> <body> <mrpRequest> <request command="CENEO0" requestId=""> </request> <data> <filter> <fltvalue name="cisloSkladu">1</fltvalue> <fltvalue name="cisloCeny">2</fltvalue> <fltvalue name="cenovaSkupina">1|2|4..6</fltvalue> <fltvalue name="datum">2014-01-01</fltvalue> <fltvalue name="cenySDPH">F</fltvalue> <!-- Nepovinny blok s pripadnymi daty, zalezi na prikazu, zdali je potrebuje --> <!-- Číslo karty v rozsahu 1 až 10 --> <fltvalue name="SKKAR.CISLO">1..10</fltvalue> <!-- Kód skupiny skladových karet 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>Odpověď
Element <ceny> povinný name Typ Délka DM Význam cislo N 10 2 Číslo karty censkup N 4 0 Číslo cenové skupiny cisloceny N 1 0 Číslo použité ceny mena T 3 0 Měna cenamj N 17 6 Cena určená podmínkou číslo ceny sleva_p N 5 2 Jednotková sleva procentem slevamj N 17 6 Jednotková sleva částkou <mrpEnvelope> <body> <mrpResponse> <status> <request command="CENEO0"/> </status> <data> <datasets> <ceny> <rows> <row> <fields> <cislo>1</cislo> <censkup>1</censkup> <cisloceny>1</cisloskl> <mena>CZK</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žadavek
Atributy elementu <fltvalue> nepovinný Seznam volitelných filtrovacích polí, které se přibližují filtrovacím podmínkám adres. Jméno filtru se skládá ze jména tabulky, oddělovače a jména datového pole.
Výraz se zapisuje a vyhodnocuje stejným způsobem, jaku u filtru v programu MRP K/S, tedy při použití číselných a datumových výrazů musí tyto výrazy respektovat nastavení desetinných oddělovačů a tvaru data nastavených na klientské stanici.
Jsou uváděny pouze typy jednotlivých polí kvůli konstrukci dotazu.name Typ Význam ADRES.FIRMA T Firma ADRES.MENO T Jméno ADRES.ULICA T Ulice ADRES.MESTO T Město ADRES.PSC T PSČ ADRES.KODSTAT T Kód státu ADRES.ICO T IČ ADRES.DIC T DIČ ADRES.TELEFON T Telefon ADRES.FAX T Fax ADRES.EMAIL T ADRES.DAT_ZAR D Datum zařazení 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čeno do tisku [T|F] ADRES.UCET T Výchozí bankovní účet ADRES.USRFLD1 T Uživatelské pole 1 adresy ADRES.USRFLD2 T Uživatelské pole 2 adresy ADRES.USRFLD3 T Uživatelské pole 3 adresy ADRES.USRFLD4 T Uživatelské pole 4 adresy ADRES.USRFLD5 T Uživatelské pole 5 adresy ADRES.SPLATNOST N Jiná splatnost faktury ADRES.KREDIT N Částka kreditu ADRES.CRPSTATUS T CRP-status ADRES.FAKSTRED T Kód fakturačního střediska KONTAKTY.IDENTIF T Obchodní zástupce <mrpEnvelope> <body> <mrpRequest> <request command="ADREO0" requestId=""> </request> <data> <filter> <!-- Adresy s PSČ začínající na 100 --> <fltvalue name="ADRES.PSC">100*</fltvalue> <!-- Cenová skupina nastavena --> <fltvalue name="ADRES.CENSKUP">not null</fltvalue> </filter> </data> </mrpRequest> </body> </mrpEnvelope>Odpověď
Element <adres> Vždy fields Typ Délka DM Význam ico T 12 0 IČ dic T 17 0 DIČ ic_dph T 14 0 IČ DPH id T 10 0 Identifikátor adresy v e-obchodu firma T 50 0 Název firmy meno T 30 0 Jméno ulica T 30 0 Ulice a číslo popisné mesto T 30 0 Město psc T 15 0 PSČ kodstat T 2 0 Kód státu telefon T 30 0 Telefon telefon1 T 30 0 Telefon telefon2 T 30 0 Telefon fax T 30 0 Fax T 256 0 E-mailová adresa censkup N 4 0 Číslo cenové skupiny stat T 30 0 Název státu <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>Ferda Mravenec;</firma> <meno>Pytlík</meno> <ulica>K mraveništi 1</ulica> <mesto>Borový les</mesto> <psc>00000</psc> <kodstat>CZ</kodstat> <telefon>123 456 789</telefon> <telefon1></telefon1> <telefon2></telefon2> <fax></fax> <email></email> <censkup>1</censkup> <stat>Česká republika</stat> </fields> </row> <row> .... </row> </rows> </ceny> </datasets> </data> </mrpResponse> </body> </mrpEnvelope>
EXPFV0 Export seznamu faktur vydaných s adresou odběratele
Požadavek
Příkaz umožňuje vyexportovat doklady s použitím filtrovacích podmínek (nepovinných) uvedených v části <filter>. Příkaz podporuje stránkování. Podporované filtrovací atributy elementu <fltvalue>:
- DocumentNumber - číslo dokladu
- CompanyId - IČO odběratele
- PaymentState - stav zaplacení : 0-Všechny, 1-Všechny s úhradami ke dni (PaymentsToDate), 2-Zaplacené (úhrady=celkem), 3-Nezaplacené, nevyrovnané(úhrady<>celkem), 4-Přeplacené (úhrady>celkem), 5-Nedoplacené (úhrady<celkem), 6-Zaplacené + přeplacené
- PaymentsToDate - Datum úhrad Do. Pro zjištění Stavu zaplacení se přihlíží jen k úhradám s datem menším nebo rovným PaymentsToDate. Nelze zadat intervalem či výrazem jako u jiných filtrovacích tagů. Hodnotou může být pouze konkrétní datum např. "31.12.2018"
- IssueDate - Datum vystavení. Např. "01.01.2018..31.12.2018"
- TaxPointDate - Datum plnění
- PaymentDueDate - Datum splatnosti
- CostCentre - Středisko. Např. "10|20"
- ContractNumber - Číslo zakázky
- OrderNumber - Číslo objednávky
- OriginalOrderNumber - Původní číslo objednávky (filtrovací podmínku nelze použít pro exporty faktur přijatých)
<mrpEnvelope> <body> <mrpRequest> <request command="EXPFV0" requestId=""> </request> <data> <paging> <!-- Stránkování - omezení počtu záznamů --> <RowFrom>1</RowFrom> <RowTo>200</RowTo> </paging> <filter> <!-- Doklady s datem vystavení --> <fltvalue name="IssueDate">01.01.2018..31.12.2018</fltvalue> </filter> </data> </mrpRequest> </body> </mrpEnvelope>Odpověď
V elementu <data> je vráceno XML formátu XML MRP-K/S verze 2.0.
Příklad vrácené odpovědi:
Seznam a popis polí XML MRP-K/S verze 2.0 pro faktury vydané
Ukázkový soubor XML MRP-K/S verze 2.0 pro faktury vydané
Příkaz vrací zjednodušené XML obsahující údaje z hlaviček dokladů a dále pak adresu obchodního partnera v části Company. Neobsahuje části Items, Payments , SumValues a PaymentSchedule.<mrpEnvelope> <body> <mrpResponse> <status> <request command="EXPFV0"/> </status> <data> <MRPKSData version="2.0" countryCode="CZ" currencyCode="CZK"> <!--Source AppVendor="MRP" AppName="MRP-K/S" AppVersion="5.67(001)" AppSerial="UC010001"--> <IssuedInvoices> <Invoice> <DocumentNumber>55002</DocumentNumber> <IssueDate>2018-03-29</IssueDate> <CurrencyCode>CZK</CurrencyCode> <ValuesWithTax>F</ValuesWithTax> <TaxCode>19</TaxCode> <ZeroTaxRateAmount>0.00</ZeroTaxRateAmount> <Company> <CompanyId>99999999</CompanyId> <AddressId>X000001</AddressId> <Name>Nábytek a.s.</Name> <Street>K městu 10</Street> <City>Vrchlabí 1</City> <Country>Česká republika</Country> <CountryCode>CZ</CountryCode> <ZipCode>54301</ZipCode> <VatNumber>CZ99999999</VatNumber> </Company> .. </Invoice> .. <Invoice> </Invoice> </IssuedInvoices> </MRPKSData> </data> </mrpResponse> </body> </mrpEnvelope>
EXPFV1 Export seznamu faktur vydaných s adresou odběratele, položkami a úhradami
Příkaz se chová podobně jako příkaz EXPFV0. Rozdíl je ve vrácené odpovědi, kdy XML navíc obsahuje i část Items s položkami faktur a část Payments s úhradami.
EXPFV2 Export seznamu faktur vydaných s uloženým opisem faktury ve formátu PDF
Příkaz se chová podobně jako příkaz EXPFV0. Rozdíl je ve vrácené odpovědi, kdy XML navíc obsahuje i část Attachments s PDF opisem faktury. Příkaz jako PDF opis exportuje soubor/dokument, který je u faktury uložen na záložce Přílohy. Pro správné fungování příkazu je třeba nastavit ukládání PDF jako přílohy.
Ukázkový XML soubor faktury s vloženou přílohou PDF
EXPFVPDF Export faktury vydané s online vygenerovanou PDF fakturou
Požadavek
Příkaz umožňuje vygenerovat PDF podobu faktury. Program pro vygenerování použije předlohy, které jsou specifikované v profilu pro export. Pokud v profilu nebude předloha uvedena, použije se výchozí předloha "01 - Faktura". Vygenerované PDF bude v XML uloženo ve větvi Attachments. XML nebude ve větvi Attachments obsahovat další přílohy(soubory JPG, DOC, PDF, ...) u dokladu uložené (uložené na záložce Přílohy). Pro vykonání příkazu je povinné v rámci filtrovacích podmínek uvést číslo dokladu/faktury ve filtrovacím tagu DocumentNumber. Filtr musí obsahovat pouze číslo jedné faktury, není povolen rozsah dokladů či výčet dokladů. Tisková předloha (předlohy) je povolena pouze pro tiskový modul FastReport. Předloha musí být pro generování PDF odladěna - nesmí zobrazovat žádné uživatelské dialogy či hlášení. Tyto by "zablokovaly" Autonomní režim.
<mrpEnvelope> <body> <mrpRequest> <request command="EXPFVPDF" requestId=""> </request> <data> <filter> <!-- Doklad s číslem --> <fltvalue name="DocumentNumber">240153</fltvalue> </filter> </data> </mrpRequest> </body> </mrpEnvelope>Odpověď
V elementu <data> je vráceno XML formátu XML MRP-K/S verze 2.0.
Seznam a popis polí XML MRP-K/S verze 2.0 pro faktury vydané
Ukázkový soubor XML MRP-K/S verze 2.0 pro fakturu vydanou s pdf přílohou
EXPFP0 Export seznamu faktur přijatých s adresou dodavatele
Příkaz je ekvivalentem příkazu EXPFP0 pro agendu faktur přijatých
Seznam a popis polí XML MRP-K/S verze 2.0 pro faktury přijaté
Ukázkový soubor XML MRP-K/S verze 2.0 pro faktury přijaté
EXPFP1 Export seznamu faktur přijatých s adresou dodavatele, položkami a úhradami
Příkaz se chová podobně jako příkaz EXPFP0. Rozdíl je ve vrácené odpovědi, kdy XML navíc obsahuje i část Items s položkami faktur a část Payments s úhradami.
EXPOP0
Požadavek
Atributy elementu <fltvalue> nepovinný Seznam volitelných filtrovacích polí, které se přibližují filtrovacím podmínkám objednávek. Jméno filtru se skládá ze jména tabulky, oddělovače a jména datového pole.
Výraz se zapisuje a vyhodnocuje stejným způsobem, jaku u filtru v programu MRP K/S, tedy při použití číselných a datumových výrazů musí tyto výrazy respektovat nastavení desetinných oddělovačů a tvaru data nastavených na klientské stanici.
Jsou uváděny pouze typy jednotlivých polí kvůli konstrukci dotazu.name Typ Význam OBJPR.CISLO T Číslo objednávky OBJPR.DATUM D Datum objednávky OBJPR.ORIGCISLO T Původní číslo objednávky OBJPR.ICO T IČ polozky T Vrátit i stavy jednotlivých položek [T|F] typDokladu T Vrátit požadovaný typ dokladu [O|N|X Objednávka|Nabídka|Cokoliv]
Pokud tato filtrovací podmínka není uvedena, příkaz vrací jen objednávky!<mrpEnvelope> <body> <mrpRequest> <request command="EXPOP0" requestId=""> </request> <data> <filter> <!-- Objednávky s číslem začínajícím EO21 --> <fltvalue name="OBJPR.CISLO">EO21*</fltvalue> <!-- Objednávky s datem v rozmezí... --> <fltvalue name="OBJPR.DATUM">1.12.2021..31.12.2021</fltvalue> <!-- Vrátit i stavy jednotlivých položek --> <fltvalue name="polozky">T</fltvalue> <fltvalue name="typDokladu">X</fltvalue> </filter> </data> </mrpRequest> </body> </mrpEnvelope>Odpověď
Atributy elementu <objednavka> name Typ Délka DM Význam Od verze 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 Datum objednávky RRRR-MM-DD 6.30.001 stav N 1 0 Stav objednávky
<0 - blokované
0 - vybavené
1 - částečně vybavené
2 - nevybavené6.30.001 usrLock T 1 0 Příznak uzamčené objednávky
T - uzamčena některým uživatelem
F - neuzamčena6.39.006 ico T 14 0 IČ zákazníka 6.30.001 nabidka T 1 0 T - nabídka, F - objednávka 6.42.003 Atributy elementu <polozka> fields Typ Délka DM Význam Od verze stav N 1 0 Stav objednávky
<0 - blokované
0 - vybavené
1 - částečně vybavené
2 - nevybavené6.30.001 vybavitMJ N 15 3 Kolik MJ ještě zbývá vybavit 6.30.001 text T 100 0 Text řádku objednávky 6.30.001 cisloKarty N 10 2 Číslo skladové karty 6.30.001 eanKarty T 14 0 EAN skladové karty 6.30.001 kodKarty T 30 0 Uživatelský kód skladové karty 6.30.001 <mrpEnvelope> <body> <mrpResponse> <status> <request command="EXPOP0"/> </status> <data> <objednavka cisloObj="0000000029" puvodniCislo="22" datum="2015-01-01" stav="2" usrLock="F" ico="A00001"> <polozky> <polozka stav="2" vybavitMJ="2" text="Zboží" cisloKarty="1" eanKarty="8595229909767" kodKarty="16060.01"/> </polozky> </objednavka> </data> </mrpResponse> </body> </mrpEnvelope>