FAQ Podpora otázky a odpovede

Otázka a odpoveď

497
Autonómny režim účtovného systému MRP-K/S

497 - Autonómny režim účtovného systému MRP-K/S

Tagy: K/S
Tagy:
K/S
Dátum upravy: 29.05. 2023

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í


3. Kódovaná komunikácia

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


4. Stránkovanie
 

5. Podporované príkazy

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

EXPFVPDF Export vydanej faktúry s online vygenerovanou PDF faktúrou

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:
  1. Stredisko uvedené v objednávke
  2. Pokiaľ je to v konfigurácii povolené, stredisko uvedené v adrese
  3. Stredisko uvedené v <paramvalue>
  4. Stredisko uvedené v konfigurácii importu
 
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
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
email O T 256 0 Email
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 E-mail
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
email 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.

Príklad vrátenia odpovede:
<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ílohy
Ukážkový XML súbor faktúry s vloženou prílohou PDF

EXPFVPDF

Požiadavka

Príkaz umožňuje vygenerovať PDF podobu faktúry. Program pre vygenerovanie použije predlohy, ktoré sú špecifikované v profile pre export. Pokiaľ v profile nebude predloha uvedená, použije sa východisková predloha "01 - Faktúra". Vygenerované PDF bude v XML uložené vo vetve Attachments. XML nebude vo vetve Attachments obsahovať ďalšie prílohy (súbory JPG, DOC, PDF, ...) pri doklade uloženej (uložené na záložke Prílohy). Pre vykonanie príkazu je povinné v rámci filtrovacích podmienok uviesť číslo dokladu/faktúry vo filtrovacom tagu DocumentNumber. Filter musí obsahovať iba číslo jednej faktúry, nie je povolený rozsah dokladov či zoznam dokladov. Tlačová predloha (predlohy) je povolená iba pre tlačový modul FastReport. Predloha musí byť pre generovanie PDF odladená - nesmie zobrazovať žiadne užívateľské dialógy či hlásenia. Tieto by "zablokovali" Autonómny režim.

 

<mrpEnvelope>
  <body>
    <mrpRequest>
      <request command="EXPFVPDF" requestId=""> 
      </request>
      <data>
        <filter>
          <!-- Doklad s číslom  -->
          <fltvalue name="DocumentNumber">240153</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ý 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ých
Zoznam 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>