image
Alfa a omega pre podnikateľov je kvalitný softvér pre účtovníctvo, fakturáciu, mzdy, sklad, pokladne a reštaurácie od MRP. Olymp ročnej uzávierky je pohoda pri vypracovaní daňových priznaní v MRP účtovných programoch. Značné množstvo money ušetríte účtovaním v MRP účtovných programoch. Už žiadne kros preteky na motocykloch, ale pohoda pri účtovaní v účtovnom systéme MRP-K/S, založenom na architektúre typu Klient/Server.

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

V autonómnom režime funguje klientská časť účtovného systému MRP-K/S ako webový server, 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 e-shop, prípadne pre generovanie dát z databázy a import niektorých dokladov.

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

4. Podporované príkazy

EXPEO0 Export skladových kariet

EXPEO1 Export skladových kariet

IMPEO0 Import objednávok

CENEO0 Export cenníku

ADREO0 Export adries



1. Spustenie MRP-K/S v autonómnom režime

Spustenie MRP-K / S v autonómnom režime 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>, 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>


4. 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 jednej predajnej ceny. [0,1..5]
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
kod F T 14 0 EAN kód
kod1 F T 30 0 Užívateľský kód 1
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
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
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 katalogovej 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>21</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
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
kod F T 14 0 EAN kód
kod1 F T 30 0 Užívateľský kód 1
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
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>21</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é, tak 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
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
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]
 
 
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Č
 
 
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
 
 
Element <poznamka> nepovinný
name O/M Typ Dĺžka DM Význam
poznamka O T X 0 Poznámka ako dlhý text
 
 
Atributy elementu <polozka> povinný
name O/M Typ Dĺžka DM Význam
cisloKarty O N 10 2 Číslo skladovej karty
text O T 50 0 Text objednávky
pocetMJ M N 15 6 Počet MJ
cenaMJ M N 17 6 Cena za MJ
sazbaDPH O N 5 2 Sazba DPH
typPolozky O T 2 0 Typ položky podľa číselníka Typy položiek
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 nastavné hľadanie jedinečnosti týchto polí. Vyhľadávanie skladovej položky prebieha v poradí cisloKarty, eanKarty a nakoniec kodKarty.

 

 <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="22" datum="2014-01-01" cenySDPH="T">
          <mena kod="EUR" kurz="1" mnozstvi="1"/>
          <adresa id="22" ulice="Vonaskova 123" mesto="Brezno" psc="977 01"> 
            <firma nazev="" ico="" dic=""/>
            <osoba jmeno="Jan" prijmeni="Vonásek"/>
            <!-- 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>123 456 789</tel>
          </adresa>
          <adresa_dod id="" ulice="Vonaskova 123" mesto="Brezno" psc="977 01"> 
            <firma nazev="" ico="" dic=""/>
            <osoba jmeno="Jan" prijmeni="Vonásek"/>
            <!-- 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="9" text="" cenaMJ="10" pocetMJ="1" sazbaDPH="21"/>
          </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="23" datum="2012-12-03" cenySDPH="T">
          <mena kod="EUR" mnozstvi="1" kurz="1"/>
          <adresa id="22" ulice="Vonaskova 123" mesto="Brezno" psc="977 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 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
<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>