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.

Subzáložka Hlavička

Tlačítko v pravé horní části indikuje, že se jedná o variantní vstupní formulář.

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

Subzáložka Obsah slouží k zadání řádků dokladu. Obsahuje:

Seznam řádků

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 (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ů.

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 (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ů.

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 (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ů.

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.

Lišta navigátoru

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 Formuláře

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.