Definice definovatelných importů - záložka Detail
| Obsažené subzáložky: | Hlavička | Obsah | Formuláře |
|---|
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í). |
|
Typ importu 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. |
|
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. |
|
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. |
|
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.
| Název | Popis | |
|---|---|---|
| Maska řádku |
Maska jejímž vyhodnocením bude rozhodnutí, zda daný importní řádek zpracovávat či nikoliv (využití u TXT, CSV). Jinými slovy, pokud je na položce v Definici pro import maska zadaná, musí v importních datech řádek začínat znaky uvedenými v masce. jinak se nezpracuje. Vysvětíme si na příkladu níže. Typickým příkladem využití je import dokladů, např objednávek přijatých, kdy v importním souboru bude hlavička dokladu označena jako Header a řádky budou mít označení Rows, viz obrázek Následně je třeba nastavit stejnojmennou masku v IS FLORES, aby systém rozpoznal, co je v importu Hlavička a co Řádky a data zpracoval, viz obrázek. |
|
| Pozice |
Celé číslo, pozice začátku položky na řádku importního souboru. Pole dostupná jen pro Typ importu: TXT, CSV. |
|
| Délka | Celé číslo, délka položky. Pole dostupné jen pro Typ importu: TXT | |
| Oddělovač | Oddělovač položek v textovém formátu CSV. Pole dostupné jen pro Typ importu: CSV. | |
| XML položka |
Jednoznačný název položky v importním XML souboru. Pole dostupné jen pro Typ importu: XML |
|
| XML větev |
Název větve položek kolekce v importním XML souboru. Položka dostupná jen pro Typ importu: XML. |
|
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ů.