Zhlédněte naši minisérií videí, jak vést v Pohodě plnohodnotnou prodejnu

Mechanismus XML komunikace s ekonomickým systémem POHODA

Obecný mechanismus automatizovaného XML importu/exportu:

Klikněte na objekt, pro zobrazení jeho popisu.

Seznam objektů:

  1. Spuštění programu POHODA

    Externí proces spustí program POHODA s parametry pro XML import/export.

  2. Příkazová řádka

    Příkazová řádka pro spouštění Pohoda.exe v režimu XML importu/exportu.
    Formát: Pohoda.exe /XML "Uzivatel" "Heslo" "Cesta k INI souboru"
    Příklad: C:\Pohoda\Pohoda.exe /XML "Admin" "admpwd" "C:\Pohoda\Data\XML\xml_imp.ini"
    (Je možné zadat také relativní cestu ve tvaru "./xml_imp.ini" - vtahující se k adresáři programu POHODA.)

    Poznámka:
    1. musí být zaregistrována knihovna 'MSXML4.DLL' pomocí příkazu regsvr32.exe MSXML4.DLL.
    2. od verze programu POHODA 11 300 (květen 2016) musí být zaregistrována knihovna 'MSXML6.DLL' pomocí příkazu regsvr32.exe MSXML6.DLL.
    Podrobnosti, viz How To Upgrade the Microsoft XML Parser.

  3. INI soubor s parametry importu

    Obsahuje údaje, které musí POHODA znát, aby mohla zahájit XML import/export.

    Formát:
    1. Zpracování všech XML souborů ve vstupním adresáři:
    [XML]
    input_dir=Vstupni_adresar
    response_dir=Vystupni_adresar
    database=Nazev_databaze_ucetni_jednotky
    check_duplicity=0, 1
    format_output=0, 1
    XSLT_input=Vstupni_transformacni_soubor
    XSLT_output=Vystupni_transformacni_soubor

    2. Zpracování jednoho vstupního XML souboru:
    [XML]
    input_xml=Vstupni_xml_soubor
    response_xml=Vystupni_xml_soubor
    database=Nazev_database_ucetni_jednotky
    check_duplicity=0, 1
    format_output=0, 1
    XSLT_input=Vstupni_transformacni_soubor
    XSLT_output=Vystupni_transformacni_soubor

    input_dir:
    Povinný (pokud nepoužijeme input_xml).
    Cesta k adresáři, ve kterém jsou umístněny XML soubory s doklady pro import nebo s požadavky na export. Používá se, pokud chceme importovat více XML souborů.

    response_dir:
    Nepovinný.
    Adresář, do kterého budou umísťovány XML soubory s exportovanými doklady nebo XML soubory s výsledky importu. Pokud není zadán, je vytvořen adresář response ve vstupním adresáři.

    input_xml:
    Povinný (pokud nepoužijeme input_dir).
    Název souboru pro import - používá se, pokud chceme importovat pouze jeden konkrétní XML soubor.

    response_xml:
    Nepovinný.
    Název výstupního souboru. Používá se, pokud importujeme pouze jeden XML soubor (použijeme parametr input_xml) a výstup chceme do konkrétního souboru. Pokud tento parametr nezadáme, ve výstupním adresáři (viz. parametr response_dir) je vytvořen soubor se stejným názvem jako vstupní soubor (input_xml).

    database:
    Povinný (kromě seznamu účetních jednotek).
    Název databáze účetní jednotky, do/z které chceme import/export provádět.

    check_duplicity:
    Nepovinný. Defaultní hodnota "0".
    Pokud je nastavena hodnota "1", kontroluje se, zda zadaný doklad nebyl již importován. Pokud ano, import neproběhne a v Response se zobrazí hlášení o duplicitě.
    Kontrola probíhá podle atributu id elementu dataPack a atributu id elementu dataPackItem.

    format_output:
    Nepovinný. Defaultní hodnota "0".
    Pokud je nastavena hodnota "1", provede se přeformátování výsledného XML do strukturovanější podoby (přidání odsazení a znaků nových řádků).
    Pozor! U větších XML může být přeformátování časově náročné.

    XSLT_input:
    Nepovinný.
    Název transformačního souboru, který se použije na transformaci vstupního XML. Výsledkem bude nový soubor s koncovkou "_trn_i1.xml", který se použije pro zpracování. Název je zadán včetně cesty, buď absolutně (např: "C:\Program Files\Stormware\Pohoda\Info\XSL\export.xsl"), nebo relativně - vztaženo k adresáři programu POHODA (např: "Info/XSL/export.xsl").
    Poznámka: Transformační soubor lze zadat také u vstupního XML do elementu dat:dataPack/dat:transformation/dat:input. Nejdříve se provede transformace zadané v INI souboru, poté transformace zadaná v XML.

    XSLT_output:
    Nepovinný.
    Název transformačního souboru, který se použije na transformaci výstupního XML. Výsledkem bude nový soubor s koncovkou "_trn_o1.xml". Název je zadán včetně cesty, buď abslolutně (např: "C:\Program Files\Stormware\Pohoda\Info\XSL\export.xsl"), nebo relativně - vztaženo k adresáři programu POHODA (např: "Info/XSL/export.xsl").
    Poznámka: Transformační soubor lze zadat také u vstupního XML do elementu dat:dataPack/dat:transformation/dat:output. Nejdříve se provede transformace zadaná v INI souboru, poté transformace zadaná v XML.

    action_after_processing:
    Nepovinný.
    Nastavení práce se vstupními daty po provedení XML komunikace.
    „0“ – Nechat vstupní soubor po jeho zpracování.
    „1“ – Smazat vstupní soubor po jeho zpracování.
    „2“ – Přesunout vstupní soubor po jeho zpracování do složky (parametr Move_to).

    Move_to:
    Nepovinný.
    Adresář pro přesunutí souboru po provedení XML komunikace. Pokud je nastavena hodnota action_after_processing=2, pak je nutné nastavit cílový adresář pro přesunutí souboru.

  4. Vstupní adresář

    Pokud je v INI souboru uvedena hodnota input_dir, POHODA projde všechny XML soubory v tomto adresáři. Pokud soubor obsahuje platný DataPack, je zpracován a ve výstupním adresáři je vytvořen soubor se stejným názvem. Ten obsahuje výsledky importu/exportu.

  5. Výstupní adresář

    POHODA do tohoto adresáře umísťuje XML soubory s exportovanými doklady nebo s výsledky importu. Cesta k tomuto adresáři může být zadaná buď v INI souboru, nebo POHODA automaticky vytvoří podadresář Response ve vstupním adresáři.

  6. DataPack

    DataPack je XML obálka kolem jednotlivých dokladů importovaných do programu POHODA nebo požadavků na export z programu POHODA. Tvoří root element vstupních XML souborů.
    Jednotlivé importované doklady nebo požadavky na export však nejsou vloženy přímo do elementu dataPack, ale do elementu dataPackItem, kterých může jeden dataPack obsahovat libovolné množství. V jednom souboru můžete tedy naimportovat do programu POHODA neomezené množství dokladů nebo požadovat neomezené množství exportů. Jeden dataPack může obsahovat elementy dataPackItem jak s doklady pro import, tak položky s požadavky na export.
    Důvodem pro zavedení DataPacku je identifikace jednotlivých importních dávek a jejich provázání na výstupní XML soubory - viz. ResponsePack.

  7. ResponsePack

    ResponsePack je obálka kolem jednotlivých dokladů exportovaných z programu POHODA nebo kolem výsledků importu jednotlivých dokladů. Tvoří root element XML souborů umísťovaných programem POHODA do výstupního adresáře.
    Jednotlivé exportované doklady nebo výsledky importu však nejsou vloženy přímo do elementu responsePack, ale do elementu responsePackItem, kterých může jeden responsePack obsahovat libovolné množství.
    Každý responsePack odpovídá určitému dataPacku. Tento vztah je zajištěn jednak tím, že POHODA vytvoří pro responsePack XML soubor se stejným názvem jako měl vstupní XML soubor s dataPackem a jednak také atributem id, který má jak dataPack tak i responsePack. Hodnota atributu id u responsePacku odpovídá hodnotě atributu id u dataPacku, na jehož základě byl responsePack vyvořen.

  8. Kontrola XML souborů

    Otestovat správnost XML lze například s použitím aplikace Stormware XML Validator 2.4.