Odpovědi na často kladené otázky
         

Číslo otázky:
403   Datum:   9.1.2018
Otázka:Command line režim
 Odpověď:


1. Spuštění MRP-K/S v command line režimu


Režim umožňuje spustit MRP-K/S z příkazové řádky a vynutit vykonání některého z podporovaných příkazů. Syntaxe spuštění je "mrpks.exe /c<soubor_s_parametry>" Soubor s parametry je ve formátu XML s předepsanou strukturou. MRP neřeší technickou stránku spuštení MRP-K/S (Scheduler ve Windows, aplikace typu Task Manager, jiná externí aplikace apod.) a způsob vytváření/generování parametrového XML.
Průběh vykonávání příkazů je logován lokálně na stanici, na které byl program spuštěn. Log je možné zobrazit v MRP-K/S v běžném uživatelském režimu v Nastavení - Program - CommandLine režim - Profily a nastavení - Zobrazit log. Je zde uvedena i cesta k log souboru.

Command line režim se při připojení k databázi chová identicky jako běžný uživatelský režim. Pokud při přihlašování k databázi bude vyčerpán počet platných licencí, bude vykonání příkazů odmítnuto.

Uživatelský účet, pod kterým bude vykonání příkazů prováděno, musí mít pro každý typ příkazu přiděleno právo na úrovni "Plný přístup". Pokus o vykonání příkazu s nedostatečným (nenastaveným) uživatelským právem bude odmítnut. Práva nastavuje správce v běžném uživatelském režimu v Nastavení - Správce - Uživatelé - Jméno uživatele - Adresy a nastavení - Nastavení - Command line režim.



2. Struktura xml souboru


Databáze MRP-K/S pracuje v kódové stránce Windows-1250. Přestože je tedy xml zpravidla kódováno v UTF-8, dokument by neměl obsahovat znaky, které se v kódování Windows-1250 nevyskytují. Soubor obsahuje dvě základní části - <ConnectionInfo> s údaji o připojení a <CommandList> se seznamem příkazů a jejich parametrů.
Příklad XML souboru

<?xml version="1.0" encoding="UTF-8"?>
<MRPKSCmdLineData>
<!--Source AppVendor="MRP" AppName="MRP-K/S" AppVersion="5.68(003)" AppSerial="UC010001"-->
<ConnectionInfo>
<ServerIPAddress>localhost/3051</ServerIPAddress>
<DatabasePath>C:\MRPKS_DATA\DATACZ25</DatabasePath>
<UserName>MRPDBA</UserName>
<UserPwd>mrpdba</UserPwd>
<FirNumber>102</FirNumber>
</ConnectionInfo>
<CommandList>
<Command>
<CommandCode>IMPFAKVY</CommandCode>
<ProfCode>FVIMPPROF</ProfCode>
<Path>d:\temp\impfakvy\*.xml</Path>
</Command>
<Command>
<CommandCode>EXPFAKVY</CommandCode>
<Path>d:\temp\expfakvy\expfakvy.xml</Path>
<Filter>
<!-- Vyberove podminky -->
<DocumentNumber>21*</DocumentNumber>
<!-- ..... dalsi filtrovaci elementy... -->
</Filter>
</Command>
<Command>
<CommandCode>IMPPOKDOK</CommandCode>
<ProfCode>PKIMPPROF</ProfCode>
<!-- Identifikator pokladny, do ktere provest import -->
<CashRegisterIdentif>PK001</CashRegisterIdentif>
<Path>d:\temp\imppokdok\*.xml</Path>
</Command>
<Command>
<CommandCode>EXPSKKAROBRAT</CommandCode>
<Path>d:\temp\expskkar\expskkar.csv</Path>
<FileType>csv</FileType>
<Filter>
<!-- Vyberove podminky -->
<StockCardNumber>1000..1999</StockCardNumber>
<WarehouseNumber>1</WarehouseNumber>
<Date>01.01.2018..31.01.2018</Date>
<!-- ..... dalsi filtrovaci elementy... -->
</Filter>
</Command>
<Command>
<CommandCode>EXPORTKARET</CommandCode>
<ProfCode>EXPKAR1</ProfCode>
<Path>d:\temp\expskkar\exportkaret.csv</Path>
<Filter>
<!-- Vyberove podminky -->
<StockCardNumber>1000..1999</StockCardNumber>
<WarehouseNumber>1</WarehouseNumber>
<!-- ..... dalsi filtrovaci elementy... -->
</Filter>
</Command>
<!-- ... dalsi prikazy ... -->
</CommandList>
</MRPKSCmdLineData>



3. Seznam podporovaných příkazů


XML soubor může obsahovat jeden nebo i více příkazů. Vykonávají se sekvenčně v pořadí, v jakém jsou uvedeny v XML souboru. Pro specifikovaní příkazu jsou v části <Command> určeny tyto tagy:

  • CommandCode - kód příkazu. Je povinný.

  • ProfCode - kód profilu odkazující na profily definované v uživatelském rozhraní MRP-K/S. V profilu se jedná o pole Kód/Označení.

  • Path - cesta k souboru, nebo celý název souboru s cestou nebo cesta souboru s maskou(např. c:\test\*.xml). Názvy souborů je třeba volit s ohledem na způsob využití commandline režimu. Je např. nesmysl spustit v krátkém sledu za sebou dva příkazy pro export s odlišnými filtrovacími podmínkami s nasměrováním výsledků do souboru se stejným jménem. Logicky dojde k přepsání výsledků prvního exportu exportem druhým.


Podporované příkazy (CommandCode):

  • IMPFAKVY - Import faktur vydaných ve formátu XML MRP-K/S 2.0
    Příkaz importuje faktury ve formátu XML MRP-K/S 2.0. Může importovat z jednoho nebo i více předaných souborů. Soubory jsou po provedení importu smazány bez ohledu na to, zda se podařilo či nepodařilo bezchybně naimportovat všechny doklady.

  • EXPFAKVY - Export faktur vydaných ve formátu XML MRP-K/S 2.0

  • Příkaz umožňuje vyexportovat doklady s použitím filtrovacích podmínek (nepovinných) uvedených v části
    <Filter>. Způsob tvorby filtrovacích výrazů je uveden níže v textu. Podporované filtrovací tagy:

    • DocumentNumber - číslo dokladu

    • CompanyId - IČO odběratele

    • PaymentState - stav zaplacení : 0-Všechny, 1-Všechny s úhradami ke dni (PaymentsToDate), 2-Zaplacené (úhrady=celkem), 3-Nezaplacené, nevyrovnané(úhrady<>celkem), 4-Přeplacené (úhrady>celkem), 5-Nedoplacené (úhrady<celkem), 6-Zaplacené + přeplacené

    • PaymentsToDate - Datum úhrad Do. Pro zjištění Stavu zaplacení se přihlíží jen k úhradám s datem menším nebo rovným PaymentsToDate. Nelze zadat intervalem či výrazem jako u jiných filtrovacích tagů. Hodnotou může být pouze konkrétní datum např. "31.12.2018"

    • IssueDate - Datum vystavení. Např. "01.01.2018..31.12.2018"

    • TaxPointDate - Datum plnění

    • PaymentDueDate - Datum splatnosti

    • CostCentre - Středisko. Např. "10|20"

    • ContractNumber - Číslo zakázky

    • OrderNumber - Číslo objednávky

    • OriginalOrderNumber - Původní číslo objednávky


  • IMPPOKDOK - Import pokladních dokladů ve formátu XML MRP-K/S 2.0
    Příkaz importuje pokladní doklady ve formátu XML MRP-K/S 2.0. Může importovat z jednoho nebo i více předaných souborů. Soubory jsou po provedení importu smazány bez ohledu na to, zda se podařilo či nepodařilo bezchybně naimportovat všechny doklady. Sekce CommandList/Command musí obsahovat element CashRegisterIdentif, který odkazuje na uživatelský číselník Pokladny. Doklady budou naimportovány do pokladny s tímto identifikátorem. Ukázka vyplněného identifikátoru pokladny v číselníku Pokladny:





  • EXPSKKAROBRAT - Export skladových karet s obraty

  • Příkaz umožňuje vyexportovat skladové karty spolu s obraty - součty skladových pohybů na kartě v zadaném období. Typ výstupního souboru se ovlivňuje elementem <FileType>, který může nabývat těchto hodnot: "csv", "xls", "xlsx", "ods", "dbf". Default hodnota je "csv". Seznam exportovaných polí:

    • CardNumber - Číslo skladové karty

    • EAN - EAN

    • Code1 - Kód 1

    • Code2 - Kód 2

    • Code3 - Kód 3

    • GroupCode - Skupina

    • Name - Název karty

    • Name2 - Název karty 2

    • SupplID - IČO dodavatele karty

    • SupplName - Název dodavatele karty

    • UnitCode - Měrná jednotka

    • ItemType - Typ položky

    • Note - Poznámka

    • UsrFld1 - Uživatelské pole 1

    • UsrFld2 - Uživatelské pole 2

    • UsrFld3 - Uživatelské pole 3

    • UsrFld4 - Uživatelské pole 4

    • UsrFld5 - Uživatelské pole 5

    • SaleQuant - Součet výdejek - množství

    • SaleAmnt - Součet výdejek - částka bez dph

    • PurchQuant - Součet příjemek - množství

    • PurchAmnt - Součet příjemek - částka bez dph

    • DateFrom - Informativní rozsah sumarizovaných pohybů - datum pohybu od

    • DateTo - Informativní rozsah sumarizovaných pohybů - datum pohybu do




    Skladové karty a pohyby lze filtrovat s použitím filtrovacích podmínek (nepovinných) uvedených v části <Filter>. Způsob tvorby filtrovacích výrazů je uveden níže v textu. Podporované filtrovací elementy:

    • WarehouseNumber - Číslo skladu. Např. "1|2".

    • WarehouseTransactionType - Typ pohybu. "P" - běžný skladový pohyb, "V" - maloobchodní výdej, "M" - meziskladový pohyb (převod),"I" - inventurní pohyb. Výchozí hodnota v případě neuvedení této filtrovací podmínky je "P|V".

    • WarehouseTransactionType2 - Druh pohybu odpovídající číselníku druhů skladových pohybů.Např. "1..2".

    • CompanyId - IČO odběratele/dodavatele v pohybu

    • Date - Datum pohybu. Např. "01.01.2018..31.12.2018"

    • CostCentre - Středisko v pohybu. Např. "10|20"

    • ContractNumber - Číslo zakázky v pohybu

    • StockCardNumber - Číslo skladové karty

    • ItemType - Typ položky na skladové kartě

    • Name - Název skladové karty




  • EXPORTKARET - Export skladových karet ve formatu csv, dbf, xls, xml

  • Příkaz umožňuje vyexportovat skladové karty stejně, jako je tomu ve funkcích skladových karet. V nastavení profilu se jen vybírá jeden z profilů exportu skladových karet definovaných ve skladových kartách. Jsou nabízeny jednak profily daného uživatele
    nebo profily označené jako společné. Typ exportního souboru je určen profilem a tedy, pokud je v příkazovém souboru uvedena jiná cesta a jiný název souboru, použije se, ale jeho přípona bude změněna v souladu s typem definovaným v profilu.


    Skladové karty lze filtrovat s použitím filtrovacích podmínek (nepovinných) uvedených v části <Filter>. Způsob tvorby filtrovacích výrazů je uveden níže v textu. Podporované filtrovací elementy:

    • WarehouseNumber - Číslo skladu. Např. "1|2".

    • StockCardNumber - Číslo skladové karty

    • ItemType - Typ položky na skladové kartě

    • Name - Název skladové karty

    • EAN - EAN

    • Code1 - Kód 1

    • Code2 - Kód 2

    • Code3 - Kód 3

    • GroupCode - Skupina karet

    • Quantity - Počet MJ na daném skladu

    • Catalog - Katalogová skupina zboží

    • Note - Poznámka skladové karty

    • Memo - Rozsáhlá poznámka skladové karty

    • Used - Skladova karta je používaná (T|F)

    • UsrFld1 - Uživatelské pole 1

    • UsrFld2 - Uživatelské pole 2

    • UsrFld3 - Uživatelské pole 3

    • UsrFld4 - Uživatelské pole 4

    • UsrFld5 - Uživatelské pole 5

    • Active - Skladová karta je na daném skladu aktivní (T = používaná, F = nepoužívaná) a bude zařazena do exportu

    • Location - Umístění ve skladu

    • UnitCode - Měrná jednotka







4. Tvorba filtrovacích výrazů


Pro zápis filtrovacích podmínek v command line režimu se používá postup shodný s postupem v běžném uživatelském režimu MRP-K/S.





5. Profily a nastavení režimu


Pro některé příkazy je vhodné vytvořit profil, podle kterého se daný příkaz bude řídit. Příkladem může být např. příkaz IMPFAKVY pro import faktur. V profilu lze definovat výchozí hodnoty pro některá datová pole, která v importních souborech absentují.
Profily nejsou pro všechny příkazy povinné. Pokud je v parametrovém XML tag ProfCode vyplněn, musí profil s tímto Kódem/označením v databázi existovat.

Vykonávání příkazu lze pozastavit (poklepáním tlačítkem myši na panel pod seznamem příkazů). Pokud je příkaz pozastaven, veškeré požadavky na jeho vykonání budou odmítnuty.


* Berte prosím v potaz, že otázka a odpověď mohou být úzce svázané s verzí programu aktuální v době zveřejnění odpovědi.

Související otázky najdete ve skupinách: Přeskočit odkazy pro navigaci

© 2020 MRP-Informatics, spol. s r.o.                                         MRP na Slovensku