Činnost 9. 6.18 - Definice exportů a importů
Obecná struktura pro uložení definic exportů z ESO9 a importů do ESO9.
Definice exportů a importů
Obecná datová struktura pro uložení definic exportů z ESO9 a importů do ESO9.
Připraveno pro postupné sjednocování práce s exporty a importy. Je použitelné pouze v PROFI aplikacích.
Činnost „Definice importů a exportů“ slouží správci k definicím a testům.
Ve formách, kde se bude používat, se zapojí formulář odvozený od Nastaveni\ExpImpDef.htm tak, že se zobrazí pouze definice určitého názvu. Zobrazení slave forem lze také omezit.
Forma „Realizované exporty/importy“ slouží jako historie provedených akcí, včetně případných chybových hlášení.
Do ní lze zapojit i další výkonné akce (podle způsobu zapojení v jednotlivých činnostech).
Stav zapojení
Zapojen Import z XLS s ukládáním obsahu sešitů do databáze a následným zpracováním importu.
Zapojen Import z TXT a CSV s uložením obsahu do databáze.
K funkčnosti je třeba:
- nainstalovat klientský doplněk ExpImpAddin na každou stanici, kde se používá,
- profi procedury pro zpracování importovaných záložek (zpravidla pro uložení do cílových tabulek).
Definice: Typ a druh
Zatím funkční pouze kombinace: Typ: import, Druh XLS, Uložit detail: jako CSV. Typ: import, Druh CSV, Uložit detail: jako CSV (dostupné pouze v obecném klientovi). Typ: import, Druh TXT, Uložit detail: jako CSV.
Stav definice: Je-li povolená, lze spustit. Je-li zakázaná, je buď připravovaná nebo již nepoužívaná, ale definice se uchovává kvůli prohlížení historie importů/exportů.
Záhlaví řádku: Pro importy z CSV a XLS. 0 - importní soubor neobsahuje řádek záhlaví číslo - je číslem řádku záhlaví, číslováno od 1. Tento řádek se naimportuje do položky Záhlaví v Detailu importu. Od dalšího řádku se importují data.
Typ oddělovače pro import z XLS, možnosti: - Výchozí: výchozí nastavení Excelu a .NET FW. Toto je zpravidla anglické, oddělovač čárka. - Regionální nastavení: podle regionálního nastavení Windows, oddělovač seznamů. V českém prostředí bývá zpravidla středník. - Vlastní: hodnota podle parametru „Vlastní oddělovač“.
Vlastní oddělovač – použije se jen v případě Typ oddělovače = Vlastní.
Použije se v případě importu z XLS. U voleb „Výchozí / Regionální“ probíhá import pomocí metody „Ulož jako CSV“ z Excelu. V případě volby „Vlastní“ probíhá skládání výstupu po jednotlivých buňkách a v případě velkých importovaných souborů může být řádově pomalejší.
Použije se i v případě importu z TXT, ale jen pro první oddělovač za číslem označujícím pořadí řádku. Ostatní oddělovače se přímo převezmou z TXT/CSV souboru – je tedy potřeba oddělovač v CSV a parametru sladit.
Uložit do DOC databáze: zatím nezapojeno.
Definice: Adresář a soubor (pouze klient pro Internet Explorer)
Do definice můžete zadat obvyklý adresář, kde očekáváte importní soubor.
Celé jméno importního souboru nebo jeho částečná název pomocí * a ?.
Maska - pokud není vyplněna (doporučujeme) použije se obvyklá maska pro typ importu.
Pokud se vyplní, je třeba dodržovat zásady pro masku dialogů v .NET studiu (po dvojicí veřejná a neveřejná část oddělená |). Například pro import z XLS: „Excel (*.xls)|*.xls*|Vše (*.*)|*.*“
Definice: Import a procedura
XLS: importovat listy: - pokud necháte prázdné, importují se všechny listy z XLS souboru - pokud vyjmenujete názvy listů oddělené středníkem, importují se jen uvedené - můžete vyjmenovat jen pořadí listů, číslované od 1 (lze dokonce kombinovat pořadí a názvy)
Po importu spustit proceduru - Internet Explorer: - pokud vyplníte, spustí klientský doplněk proceduru uvedeného jména ihned po provedení importu. Předá se jí povinný parametr mf_IDEXPIMP naplněný ID nově založeného „Realizovaného importu“. Tato procedura provede vlastní zpracování dat z tabulky Detail (EXPIMPS). - pokud před název procedury uvedete „ExpImp.“, vyvolá se procedura přímo nad uvedenou formou. V tomto případě se se jí předává parametr IDEXPIMP. - za název procedury můžete uvést seznam parametrů jako při volání procedury na tlačítko. Například: spMojeProcedura;TimeOut=1200
Po importu spustit proceduru - obecný klient: - pokud vyplníte, spustí se po provedení importu proceduru se zadaným jménem - procedura může mít na vstupu pouze následující parametry:
- IDEXPIMP, MF_IDEXPIMP - ID aktuálně provedeného importu
- IDEXPIMPDEF - ID aktuální definice importu
- IDLOGUSER - ID aktuálně přihlášeného uživatele
- MF_PARAMS - XML řetězec nahrazující možnost předat do procedury parametry z aktuální formy (viz Internet Explorer). XML řetězec může obsahovat libovolné další parametry, které je třeba do procedury předat.
- procedura může mít definovaný vlastní timeout v aplikačních parametrech ve skupině TIMEOUT (pokud jej nemá, použije se standardní TO = 360sec).
Akce: Test importu (pouze klient pro Internet Explorer)
Akce na tlačítko „Test importu“ vyvolá klientský doplněk ExpImpAddin.
Zobrazí se dialog, který uživatele provede importem.
Import z vybraného XLS souboru zapisuje do tabulek „Realizované importy“ a „Detail“.
Akce: Proveď import (pouze obecný klient)
Spustí vlastní import a zpracování importovaného souboru. Před spuštěním importu je nutné načíst či zadat cestu k importovanému souboru do položky „XLS soubor“.
Formulář: Realizované exporty / importy
Tabulka EXPIMP slouží jako historie provedených akcí, včetně případných chybových hlášení.
Do ní lze zapojit i další výkonné akce (podle způsobu zapojení v jednotlivých činnostech).
Začátek, Konec: datum a čas průběhu akce.
Spustil uživatel: kód a jméno uživatele, který akci provedl.
Spuštěno z počítače: jméno počítače, za kterého bylo spuštěno.
Import z adresáře: adresář, ze kterého byl import proveden.
Importovaný soubor: jméno souboru, který byl importován.
Stav zpracování: stav importu nebo následného zpracování importní procedurou.
Výsledek/chyba: průběh zpracování, detaily chyb a další informace.
Formulář: Detail
Naplní se pokud je v definici nastaveno Založit detail.
Pořadí listu v XLS souboru.
Název záložky: Název listu v sešitu.
Název záložky ACSII: Totéž jako předchozí položka, s odstraněnou diakritikou a podtržítka místo mezer. Slouží k lepší manipulaci s SQL proceduře.
Záhlaví: seznam sloupců záhlaví, oddělené čárkou. Začíná pořadím řádku.
Obsah: obsah datových řádků v dané záložce, oddělené čárkou. Začíná pořadím řádku.
Nad tímto obsahem vyvoláte vlastní importní proceduru pro zpracování dat.
Z důvodu optimalizace je v datovém zdroji zobrazeno pouze prvních 8000 znaků.