Definice definovatelných importů - záložka Detail
| Obsažené subzáložky: | Hlavička | Obsah | Formuláře |
|---|
Některé záložky mohou být skryté v rámci nastavení vlastností uzlu aktivního menu.
Záložka zobrazí detailní informace k aktuální definici ze záložky Seznam. Položky jsou standardně rozděleny do subzáložek dle svého významu:
V horní části záložky Detail může být variantně zobrazen některý z Panelů definovatelných údajů detailu pro tuto agendu. Zobrazení panelu definovatelných údajů detailu závisí na aktuálním nastavení v menu Nastavení pro danou agendu a přihlášeného uživatele.
Tlačítko
v pravé horní části indikuje, že se jedná o variantní vstupní formulář.
Jedná se o definovatelné formuláře, tudíž jejich konkrétní vzhled v dané instalaci nemusí zcela přesně odpovídat stavu popsaném dále v tomto textu (zejména, co se týče popisného pojmenování položek či jejich uspořádání v těchto formulářích). Proto je pro lepší identifikaci dále popsaných položek u většiny z nich uveden i její konkrétní název v databázi (italikou), viz identifikace popisovaných položek. Díky tomu si můžete definovat vlastní vzhled tohoto formuláře, tj. např. založit si a přidat si sem další položky, viz Přidávání dalších uživatelských položek, můžete si definovat i několik variant takového formuláře a třeba je i podmíněně přepínat, viz Tvorba dalších variant formuláře, přepínání variant. Nepotřebné položky si lze i skrýt, aby zbytečně na obrazovce nepřekážely. Viz Skrývání položek.
Popis položek var. formuláře v továrním nastavení:
| Název | Popis |
|---|---|
| Kód projektu Code |
Kód pro danou definici importu. Obecně může jít o libovolný alfanumerický řetězec 1-40 znaků dlouhý. Je to nepovinná položka, ale doporučujeme ji určitě využívat. Kód by měl být unikátní a co nejvýstižnější, aby usnadňoval pozdější orientaci v seznamech definic importů. |
| Název projektu Name |
Název pro danou definici importu. Obecně může jít o libovolný alfanumerický řetězec 1-160 znaků dlouhý. Je to nepovinná položka, ale doporučujeme ji určitě využívat. Název by měl být unikátní a co nejvýstižnější, aby usnadňoval pozdější orientaci v seznamech definic importů. |
| Zdroj dat ImportDataSource_ID |
Zdroj dat importu odkazující do číselníku Zdroje dat definovatelných importů. Povinný údaj. |
| Rozšiřující modul Extension |
Volba, zda se má pro zpracování použít rozšiřující nástavba definovatelného importu. Výchozí hodnota: Žádný. |
| Pouze parsovat IsOnlyParse |
Informace, jestli se bude přímo zapisovat do business objektu (nezatrženo) nebo se jen provede parsování obsahu importního souboru a data se místo do business objektu uloží do dokladu dokumentů pro uživatelskou kontrolu (pole zatrženo) Výchozí hodnota: Ano (zatrženo). |
| Pouze ověřit IsOnlyValidate |
informace, jestli se bude pouze testovat správnost definice pro založení nebo aktualizaci business objektu (zatrženo). Při tomto nastavení se nevytváří žádný dokument ani se nezakládá/neaktualizuje business objekt. Výchozí hodnota: Ne (nezatrženo). |
| Typ transakce TransactionType |
Informace, jestli se bude import celého souboru zpracovávat v rámci jedné databázové transakce (hodnota: 0), po blocích dle nastaveného počtu záznamů (hodnota > 1) nebo bude transakce samostatná pro každý jednotlivý business objekt (hodnota: 1). Pole je aktivní pouze v případě, že není zatrženo pole Pouze parsovat. Výchozí hodnota: 1 Podpora transakcí je plánovaná do jedné z budoucích verzí. |
| Archivovat dokument IsDocumentArchive |
Volba, zda se bude obsah původního (neparsovaného) importního souboru archivovat jako příloha v novém dokladu dokumentu. Výchozí hodnota: Ne (nezatrženo). |
|
Procházet sekvenčně ProcessSequentially |
Pole určující, jestli se bude obsah importního souboru zpracovávat postupně tj. sekvenčně. Výchozí hodnota: Ano (zatrženo). Sekvenční zpracování dat - Data jsou v importním souboru vždy uvedena za sebou a všechny položky jsou pro každý hlavičkový business objekt uvedeny v jednom řádku. Nesekvenční zpracování dat - Data jsou v importním souboru uvedena napřeskáčku, tj. pořadí řádků v importních datech neodpovídá pořadí business objektů uvedených v importní definici. Pro nesekvenční import dat není možné mít v importních datech uvedeno více záznamů dané hlavičky |
|
Řádky pro přeskočení SkipLeadingRows |
Volba má význam pro textový soubor. Určuje počet řádků, které se na začátku zpracování souboru přeskočí. Typicky se jedná o hlavičku sloupců. Výchozí hodnota: 0 (žádné řádky se nepřeskakují). |
|
ImportType |
Informace, jakého typu je importní soubor. Povinná položka. Typ importu TXT: Jedná se o import dat v textovém formátu. Položky pro import se v importních datech definují pozicí a délkou. Typ importu CSV: Jedná se o import dat v textovém formátu. Položky pro import se v importních datech definují oddělovačem a pořadím položky v rámci jednoho řádku. Pro správné importování diakritiky při použitém kódování UTF 8 je potřeba využít volbu UTF 8 s BOM. Typ importu XML: Jedná se o import dat v XML strukturovaném formátu. Položky pro import se v importních datech definují pomocí XML větví. Typ importu Excel: Jedná se o import dat z tabulky MS Excel. Položky pro import se v importních datech definují pomocí názvu sloupce v Excelu a názvu záložky. Podporován je formát XLS i XLSX. Načítání dat z MS Excel probíhá pomocí OLE MS Excelu. Proto je nutné, mít na počítači, kde import probíhá, MS Excel fyzicky nainstalován. Vlastní zpracování importu pak probíhá jako pro typ importu CSV. Je tedy podporováno a většinou i přímo vyžadováno používání masek řádků pro rozlišení typů importovaných objektů. Kromě oficiálně podporovaných formátu XLS a XLSX funguje import i z formátů jiných tabulkových kalkulátorů. Například z Open Office (formát ODT). Nicméně tato podpora formátů mimo MS Excel není oficiální a nebyla dostatečně otestována, proto doporučujeme vždy používat MS Excel. |
|
Výchozí oddělovač CSV CSV_DefaultSeparator |
Znak oddělení položek CSV, použije se pro předvyplnění obdobné položky na položkách definice importu. Položka je pro typ importu CSV povinná. |
|
Znak ohraničující CSV text CSV_QuoteChar |
Ohraničení textu CSV v importních datech. Jde především o situaci ,kdy je potřeba mít uvnitř položky středník (znak uvedený jako oddělovač), ale nejedná se o oddělovač. |
|
CSV znaky konce řádku CSV_LineBreak |
Znaky odřádkování. Výběr z přednastavených voleb odřádkování typického pro platformy Windows, Mac a Unix. |
|
Způsob čtení dat z Excelu XLS_ReadValueType |
Položka je k dispozici jen v případě, že je zvolen Typ importu Excel. Volba určuje způsob přebírání dat z Excelu. Skutečná hodnota - Data se budou přebírat bez ohledu na jejich formátování v MS Excel. Zformátovaná hodnota - Data budou přebírat včetně použitého formátování v MS Excel. |
|
LogLevel |
Volba ovlivňuje, které logované informace z procesu zpracování definovatelných importů budou do logu zapisovány. Podrobná - Zobrazují se všechny logy kromě zobrazení naparsované struktury importního XML při XML importu. Výchozí hodnota Jen chyby - Zobrazují se jen chyby, pokud nějaké při importu a parsování vzniknou. (Log vznikne i v případě, kdy při importu žádná chyba nenastane.). Podrobná s rozšířením pro XML - Zobrazují se všechny logy včetně zobrazení naparsované struktury importního XML při XML importu. |
|
Poznámka Note |
Zde je možno vepsat poznámku vztahující se k definicím definovatelných importů. |
Subzáložka Obsah slouží k zadání řádků dokladu. Obsahuje:
Jedná se o prvek editovatelný seznam, v němž je zobrazen seznam dosud zadaných řádků (na počátku prázdný). V definovatelných importech nelze obecně volit z různých typů řádků, jako tomu je např. u vlastní faktury. Seznam řádků se dělí na horní a spodní.
Horní seznam - je určen pro zadání tříd business objektů.
Spodní seznam - je určen pro zadání položek subkolekce třídy business objektu zadaného v nadřízeném seznamu.
Položky zadávané v řádcích horního seznamu tohoto dokladu:
| Název | Popis | |
|---|---|---|
| Třída objektu | Interní jednoznačná identifikace business objektu. Lze zadat výběrem z nabízených možností, nebo se automaticky vyplní po zadání položky CLSID. | |
| BO název třídy | Interní název BO (např.TNxReceivedOrder - Objednávka přijatá). Položka jen ke čtení, předvyplní se po zadání CLSID nebo Třídy objektu. | |
| CLSID | Interní jednoznačná identifikace business objektu (BO). Lze zadat ručně, nebo se automaticky vyplní po zadání položky: Třída objektu. Povinná položka | |
| Nadřízený | Odkaz na nadřízený business objekt (BO). Povinná jen u kolekcí BO. | |
| Typ importu |
Určuje způsob práce s business objekty (platí pro hlavičky i položky kolekcí), tj. jestli se bude vytvářet nový BO (nový záznam) nebo půjde o opravu již existujícího BO (opravu existujícího záznamu). Podporované volby: Nový: vždy se zakládá nový BO (nový záznam). Oprava: vždy se provádí oprava BO (oprava existujícího záznamu). Pokud se ID pro opravu nedohledá, záznam se nezpracuje. Oprava nebo Nový: pokud se dohledá ID pro opravu BO (existujícího záznamu), provede se oprava. V opačném případě se založí nový BO. (nový záznam) Výchozí hodnota: Nový |
|
| Aktivní |
Příznak, jestli se bude daný BO při importu zpracovávat. Pokud je nastaveno na: Ne: nastavení v podřízené subkolekci se ignoruje (bez ohledu na nastavení subkolekce), tj. daný BO se importem nezpracuje. |
|
| Název záložky Excelu |
Položka je přístupná jen pro typ importu Excel. Položka určuje, z které záložky Excelu budou hodnoty z Excelu pro daný objekt načítány. Je podporováno načítání hodnot pro více BO ze stejných nebo i různých záložek Excelu. Vyplnění položky je kontrolováno měkkou validací. Pro spuštění importu je vyplnění položky povinné. |
|
Položky zadávané v řádcích spodního seznamu tohoto dokladu:
Kolekce je řazená a zpracovává se v nastaveném pořadí.
Seznam položek se aktualizuje při změně aktivního řádku v nadřízeném seznamu (viz horní seznam pro zadání tříd business objektů).
| Název | Popis | |
|---|---|---|
| Položka | Název položky business objektu (BO) v IS FLORES (např. Firma). | |
| Jméno |
Interní název položky BO v IS FLORES (např. Firm_ID). Povinné pole, pokud je položka Pro opravu nastavena na hodnotu Ne. Vyplní se automaticky výběrem pole Položka nebo ji lze zadat ručně. Položku lze využít pro definování proměnné nastavením prefixu *VAR* (vysvětlení dále v textu). |
|
| Popis | Libovolný popis nebo poznámka uživatele. Položka se předvyplní popisem z vybraného BO. | |
| Typ dat | Datový typ položky. K dispozici jsou tyto datové typy: Řetězec, Celé číslo, Desetinné číslo, Kolekce, Datum, Ano/Ne, XML kolekce, Neurčeno, Jedinečná přípona proměnné. | |
| Výraz |
Výraz, který se vyhodnotí nad daným BO a hodnotou získanou z importního souboru. Ve výrazu lze využívat proměnné (viz níže). Nelze zadat zároveň Výraz i SQL tj. nelze vyhodnocovat oba výrazy společně, vždy jen jeden z nich. Výraz můžete zapsat ručně nebo jej můžete sestavit komfortněji pomocí Editoru výrazů, který si můžete vyvolat po stisku funkčního tlačítka Pokud použijete ve výrazu konstantu "%s" pro získání hodnoty z datového zdroje více než jednou, musí být použita indexace. To znamená že místo "%s" je potřeba použít např "%0:s" |
|
| SQL |
SQL výraz, který se vyhodnotí pro hodnotu získanou z importního souboru. Ve výrazu lze využívat proměnné (viz níže). Nelze zadat zároveň Výraz i SQL tj. nelze vyhodnocovat oba výrazy společně, vždy jen jeden z nich. Výraz SQL můžete zapsat ručně nebo jej můžete sestavit komfortněji pomocí Editoru výrazů, který si můžete vyvolat po stisku funkčního tlačítka Pokud použijete ve výrazu konstantu "%s" pro získání hodnoty z datového zdroje více než jednou, musí být použita indexace. To znamená že místo "%s" je potřeba použít např "%0:s" |
|
| Podmínka položky |
Podmínka, která se vyhodnotí pro hodnotu získanou z importního souboru. V podmínce lze využívat proměnné (viz níže). Výraz pro podmínku můžete zapsat ručně nebo jej můžete sestavit komfortněji pomocí Editoru výrazů , který si můžete vyvolat po stisku funkčního tlačítka |
|
| Aktivní |
Příznak, jestli se bude daná položka subkolekce zpracovávat (hodnota: Ano) nebo ignorovat (hodnota: Ne). Nastavení hodnoty je platné pro ověření, parsování, tvorbu BO. Výchozí hodnota: Ne. |
|
| Pro opravu |
Využití jen u typu importů: Oprava nebo Oprava nebo Nový. Při nastavení na hodnotu Ano se vyhodnocením výrazu na řádku získá ID pro opravu. Výchozí hodnota: Ne |
|
| Formát | Speciální formátování pro typ položky, kde to má smysl (např. DateTime, Float ad.). Například formát datumu (YYYYMMDD), oddělovač desetinných čísel (tečka nebo čárka) atd. | |
| Výchozí hodnota |
Výchozí hodnota, která se použije v případě, že se hodnotu nepodařilo z importního souboru získat. Výchozí hodnotu lze také nastavit pro ty případy, kdy nechcete, aby se hodnota čerpala z importního souboru, ale potřebujete ji zadat přímo. Takovým příkladem může být ID střediska, kód skladu, ID skladu, firma atd. Položku lze využít pro získání hodnoty z proměnné definované prefixem *VAR*. |
|
Položky nastavení pro párování na importní soubor:
Vyplnění položek je povinné v závislosti na nastaveném typu importního souboru na hlavičce definice.
Popis využití proměnných a konstant v definovatelných importech
Při vyhodnocování výrazů a SQL dotazů lze využít dosazení hodnoty získané parsingem aktuální položky. Tato hodnota se ve výrazu vždy nahradí za konstantu %s. Ve výrazech a SQL výrazech lze využívat i proměnné dříve nadefinované v definici. Pomocí proměnných lze tedy ve výrazech využít i hodnoty z jiných položek, než je aktuální.
V rámci provádění parsování importního souboru je možné si zapamatovat položku jako proměnnou a její hodnotu později využít v rámci importu daného business objektu (BO) při dalším zpracovávání na jiném řádku. Hodnota proměnné je platná pouze v průběhu zpracovávání jednoho hlavičkového BO. Proměnná je v definici importu identifikována prefixem *VAR*. Hodnotu proměnné je možné využít pro vyplnění položky: Výchozí hodnota, v podmínce vyhodnocované pro řádek subkolekce, ve výrazu a v SQL výrazu. Při využití proměnné ve výrazu nebo podmínce je nutné ji vždy použít s prefixem *VAR* a ukončit sufixem *VAREND*.
Na tomto příkladu je demonstrováno využití proměnné *VAR*Store_ID definované na hlavičkovém business objektu a její následné využití na řádku BO (dosazení do položky „Výchozí hodnota“).
Konstanta „%s“ je využita např. pro získání ID artiklu. Konstanta nabude hodnotu XML položky pro daný řádek (article_gtin[1]) z importního souboru a využije se pro vyhodnocení SQL dotazu.
Na obrázku je vidět, že v poli Jméno je definovaná proměnná *VAR*Store_ID. Hodnota této proměnné se získává pomocí SQL dotazu vpravo.
Na tomto obrázku je vidět, proměnná *VAR*Store_ID. použita v poli Výchozí hodnota pro položku Sklad.
Popis využití proměnné s nastavením typu dat Jedinečná přípona proměnné
Tuto možnost nastavíme v položce Typ dat tehdy, pokud potřebujeme proměnnou nadefinovanou na kolekci BO použít také v subkolekci BO. V takovém případě je potřeba na kolekci nejprve nadefinovat to, že proměnnou budeme používat i v subkolekcích tzn nastavit proměnné Typ dat: Jedinečná přípona proměnné. Ta bude sloužit jako vazební prvek mezi kolekcí a subkolekcí. Dále je potřeba v obsahu kolekce uvést proměnnou ještě jednou a přiřadit ji hodnotu. Poté se v subkolekci již proměnná použije běžným způsobem popsaným v příkladu výše. Definici proměnné s jedinečnou příponou si popíšeme na příkladu.
V tomto příkladu potřebujeme naimportovat artikl, včetně jednotek, obalů a EANů. V importních datech viz obrázek níže máme několik řádků. Každý je definován maskou řádku.
Řádek s maskou SC obsahuje data o kódu a názvu artiklu.
Řádek s maskou UNIT obsahuje informace o jednotce a množství.
Řádek s maskou CONT obsahuje informace k obalům. Je zde vazební jednotka a kód artiklu obalu.
Řádek s maskou EAN obsahuje informace k EANům. Je zde vazební jednotka mezi EANem a jednotkou a EAN.
Datový zdroj obsahuje řádky s maskou řádku. Jednotlivé hodnoty v tomto importním souboru jsou popsány nad obrázkem.
Na jednotce artikl je na první pozici nadefinována proměnná s názvem *VAR*UnitQuantity a typem dat Jedinečná přípona proměnné. Tato proměnná se odkazuje na řádek s maskou UNIT a na pozici 2, Tím je definován konkrétní vazební prvek, který později použijeme v subkolekci. Důležité je zde především definovat proměnnou s jedinečnou příponou na první pozici před jejím naplněním daty.
Na obrázku je vidět, proměnná *VAR*UnitQuantity. Důležité je v položce Typ dat vybrat volbu Jedinečná přípona proměnné.
V dalším kroku zůstáváme stále na kolekci jednotky artiklu, kde si do proměnné *VAR*UnitQuantity budeme načítat hodnotu. Opět z řádku s maskou UNIT, tentokrát z pozice 3.
Na obrázku je vidět, proměnná *VAR*UnitQuantity s typem dat Desetinné číslo, do které načítáme hodnoty z pozice 3, řádků označené maskou UNIT.
Další krok již ukazuje Subkolekci Obal k jednotce artiklu. Zde je opět použita proměnná *VAR*UnitQuantity pro Množství. Díky prvnímu řádku s typem dat Kolekce, odkazem na řádek s maskou CONT a pozice 2 se napojí správné množství obalů ke správné jednotce.
V dolní části záložky je k dispozici lišta navigátoru: Lišta navigátoru je shodná pro horní i spodní seznam.
Navigátor v subzáložce Obsah v této agendě.
Navigátor v této záložce obsahuje tlačítka:
- Pro pohyb kurzoru po řádcích (na začátek, předchozí řádek, další řádek, na konec) dokladu, změně jejich pořadí a hledání hodnoty v seznamu.
- Vložit - Pro vložení nového řádku před aktuální řádek (na němž stojí kurzor).
- Přidat - Pro přidání nového řádku na konec.
-
Vymazat - Pro vymazání aktuálního řádku, resp. označených, pokud je nějaký označen.
Panel definovatelných formulářů řádků
Ve spodní části subzáložky dále může být zobrazena oblast pro zobrazování a zadání položek prostřednictvím uživatelsky definovatelných formulářů. Je k dispozici pouze, je-li v menu Nastavení aktuálně zatržena volba pro zobrazení uživatelských formulářů řádků. Umožňuje vybírat si z nadefinovaných uživatelských vstupních formulářů pro Business objekty řádků dané agendy a zobrazovat a zadávat si skrz ně potom jednotlivé údaje.
Pravidla pro použití tohoto panelu jsou pro všechny agendy, ve kterých se může vyskytnout, společná a byla podrobně popsána v kap. Panel definovatelných formulářů.
Subzáložka je k dispozici pouze, je-li v menu Nastavení aktuálně zatržena volba pro zobrazení uživatelských formulářů. Umožňuje vybírat si z nadefinovaných uživatelských vstupních formulářů a zobrazovat a zadávat si skrz ně potom jednotlivé údaje.
Pravidla pro použití této záložky jsou pro všechny agendy, ve kterých se může vyskytnout, společná a byla podrobně popsána v kap. Záložka Formuláře - obecně.
Zobrazení seznamu v Detailu
V některé části této záložky může být zobrazen Seznam (Panel pro zobrazení seznamu na jiných záložkách), tedy záznamy ze záložky seznam (podrobněji viz Společné prvky v dokladových agendách - záložka Detail).
Zobrazení seznamu závisí na aktuálním nastavení v menu Nastavení pro danou agendu a přihlášeného uživatele.
Funkce k záložce Detail:
Podmnožina funkcí ze záložky Seznam.
V editačním režimu platí zásady platné pro editaci záznamů v knihách. K dispozici jsou standardní funkce pro režim editace, přičemž po uložení záznamu v závislosti na jeho údajích může dojít k vyvolání nějaké další automatické akce, viz akce volané po uložení záznamu.
Další obsažené funkce:
| Název | Kl. | Doplňující popis: |
|---|---|---|
| Průvodce | - |
Umožňuje vyvolat průvodce, který ve dvou krocích provede naplnění BO a jejich subkolekcí. Podrobný popis Průvodce a jeho použití najdete v kapitole Věcný obsah - obecné. |
| Načíst definici |
- |
Funkce jejíž podrobný popis naleznete v popisu stejnojmenné položky na záložce Seznam. |
| Uložit definici | - |
Funkce jejíž podrobný popis naleznete v popisu stejnojmenné položky na záložce Seznam. |
(může se lišit dle verze a nastaveného vzhledu). Ve výrazech jsou k dispozici funkce a data z objektů dostupných v daném místě programu, viz funkce a datové položky objektu v editoru výrazů.