Popis editoru definovatelných exportů
Pokud vyvoláte opravu definice def. exportu ze záložky Detail číselníku def. exportů, zpřístupní se v záložce Detail editor definovatelných exportů k dané definici exportu. Dále naleznete popis těchto témat:
V horní části editoru je panel nástrojů pro editor def. exportů:
Panel nástrojů, pomocí něhož lze vyvolávat funkce okna editoru
Kromě toho je v levé části okna editoru k dispozici další svislý panel nástrojů pro vlastní editaci prvků definice def. exportu:
Panel nástrojů, pomocí něhož lze vyvolávat funkce okna editoru pro editaci obsahu definice def.exportu. Obrázek panelu je z důvodu úspory místa otočen o 90 stupňů.
Pohybovat se v obou panelech nástrojů můžete:
- Po jednotlivých tlačítkách (ikonách) pomocí myši. Tlačítko, na kterém aktuálně stojíte kurzorem, je zvýrazněné.
Změna pozice panelu nástrojů:
- V této části programu je umístění panelu pevné a nelze jej měnit.
Spustit funkci z panelu nástrojů můžete:
- Kliknutím myší na příslušné tlačítko (ikonku) na panelu nástrojů:
V levé části okna se pak nachází strom definice daného def. exportu, který reprezentuje hierarchickou strukturu objektů, obsažených v definici. U každého objektu je pro přehlednost a rychlou orientaci grafická ikona, která reprezentuje jeho typ:
Příklad stromu definice def. exportu
Pomocí funkce Ukázka před exportem z horizontálního panelu, si lze zobrazit, jak bude vypadat výsledný soubor vzniklý zpracováním dané definice.
Ovládání stromu definice formuláře:
Prvek stromu je podobný tomu, kterého znáte z jiných částí systému (např. stromových číselníků) a obdobně se také ovládá:
Úrovně stromu:
Úrovně do stromu se přidávají automaticky podle toho, jaký prvek přidáváte a kam (viz dále). Má-li záznam alespoň jeden podřízený záznam, pak se vlevo od něj zobrazuje symbol nebo , takovým místům stromu pak říkáme uzly stromu:
- - uzel stromu pro danou větev má podřízené větve a je zabalený, jemu podřízené záznamy nejsou viditelné. To, který ze symbolů je zobrazen, závisí na zvoleném vzhledu systému ABRA Gen.
- - uzel stromu pro danou větev je rozbalený a ve stromu jsou viditelné i všechny záznamy podřízené rozbalenému záznamu. To, který ze symbolů je zobrazen, závisí na zvoleném vzhledu systému Abra.
Rozbalit/zabalit uzel stromu můžete následovně:
- Kliknutím myší na uzly stromu.
- Klávesnicí kurzorovými šipkami vpravo/vlevo na aktuálním záznamu, platí jen, je-li fokus dané větvi stromu
Pohybovat se po záznamech ve stromu můžete následovně:
- Kliknutím myší na příslušný záznam.
- Klávesnicí kurzorovými šipkami vpravo/vlevo - platí pro pohyb mezi nadřízenými/podřízenými záznamy, přičemž platí, že stojí-li kurzor na uzlu stromu, který je zabalený, první stisk šipky vpravo tento uzel stromu nejprve rozbalí, další stisk šipky vpravo posune kurzor na první podřízený záznam. Obdobně pro pohyb v opačném směru.
- Klávesnicí kurzorovými šipkami nahoru/dolů.
- Klávesnicí klávesami PageDn/PageUp, Home/End.
Změnit poměrnou velikost levé části okna se zobrazením stromu můžete:
- standardně uchopením dělící příčky mezi stromem a seznamem a tažením myší na požadovanou velikost.
Přidání větve stromu - prvku do definice
Přidání prvků do definice exportu provedete výběrem příslušné volby z nabídky lokálního menu vyvolané pravým tlačítkem myši nad větví stromu (prvkem), po níž chcete nový prvek umístit, příp. vyvoláním horkých kláves, nebo výběrem příslušné volby z nabídky vertikálního panelu. vyvolané nad větví stromu (prvkem), po níž chcete nový prvek umístit. Popis funkcí lokálního menu a možných prvků, které lze použít, naleznete dále.
V pravé části okna je k dispozici seznam vlastností, které lze nastavovat pro aktuální objekt (na němž ve stromu definice aktuálně stojí kurzor). Pro každý prvek (objekt) mohou být k dispozici různé možnosti. Dále viz Seznam prvků, vkládání a vlastnosti prvků.
Název | Kl. | Doplňující popis: |
---|---|---|
ctrl+P |
Ukázka před exportem. Viz popis téže funkce v záložce Detail číselníku def. exportů. Umožňuje vyvolat ukázku před exportem s tím, že se poté vrátí opět do editace do záložky Detail. Vyvolání ukázky před exportem z Detailu s návratem zpět do Detailu, aniž byste museli ukončovat editaci def. exportu, s výhodou využijete při definici exportu, abyste si mohli průběžně ověřovat, jak se právě provedené definice budou exportovat, a např. teprve poté editaci ukončit s uložením nebo bez uložení provedených změn. |
|
- |
Uložení dat (definice exportu) do souboru. Viz popis téže funkce v záložce Detail číselníku def. exportů. Tato funkce vyvolaná z editoru def. exportů, tj. v rámci editace definice exportu, umožňuje definici uložit s tím, že se po uložení vrátí opět do editace. Exportovaná systémová definice bude po importována jako nesystémová, tj. po následném importu ze souboru se zruší příznak "systémový". |
|
- | Načtení dat (definice exportu) ze souboru. Načte data (definici exportu) ze souboru ve formátu AEF – "Abra export format", tedy inverzní funkce k Uložení dat do souboru. | |
- | Vyčistit definici exportu. Vymaže pracovní plochu pro návrh definice. | |
- | Paměťové tabulky. Definice paměťových tabulek. Význam a použití paměťových tabulek v def. exportech je obdobné jako tomu je v definicích tisk. sestav, dále viz popis paměťových tabulek v rámci definice tisk. sestav. | |
- |
Vyhledávání. Umožňuje v definici exportu vyhledávat zadané texty, a to přes celou definici. Využijete např. hledáte-li konkrétní položku výraz apod. a nevíte, kde jsou přesně umístěny a použity |
Název | Kl. | Doplňující popis: |
---|---|---|
- | Vloží text. Dále viz prvek Text v části Seznam prvků, vkládání a vlastnosti prvků. | |
- | Vloží výraz. Dále viz prvek Výraz v části Seznam prvků, vkládání a vlastnosti prvků. | |
- | Vloží text z databáze, tedy položku z databáze. Dále viz prvek Text z databáze v části Seznam prvků, vkládání a vlastnosti prvků. | |
- | Vloží systémový údaj, tj. např. čas, datum, číslo stránky apod. Dále viz prvek Systémový údaj v části Seznam prvků, vkládání a vlastnosti prvků. | |
- | Vloží prvek, který definuje, z jaké tabulky se budou exportovat údaje dle definice následujících, tabulce podřízených prvků. Dále viz Tabulka v části Seznam prvků, vkládání a vlastnosti prvků. | |
- | Vloží skupinu. Dále viz Skupina, Hlavička a Patička skupiny v části Seznam prvků, vkládání a vlastnosti prvků. | |
- |
Vloží cyklický pruh. Dále viz Cyklický pruh v části Seznam prvků, vkládání a vlastnosti prvků. |
Nad jednotlivými prvky vloženými do sestavy lze vyvolat lokální nabídku menu:
Příklad lokální nabídky menu vyvolané v definici tisk. sestavy
Název | Popis: |
---|---|
Přidat |
Funkce pro vložení nového prvku do definice do příslušného místa def. exportu. Jednotlivé možnosti je možno vybrat z nabídky lokálního menu dostupné pod volbou Přidat (viz obrázek výše) nebo je možno si je vyvolat i jinak pomocí horkých kláves (dostupné horké klávesy jsou uvedeny u jednotlivých voleb lokálního menu). K dispozici jsou k výběru vždy jen ty prvky, které je možno v daném okamžiku vložit s ohledem na to, v jakém místě definice def. exportu se nacházíte, a s ohledem na již nadefinované prvky (některé kombinace nejsou povoleny). Význam jednotlivých voleb viz Seznam prvků, vkládání a vlastnosti prvků. Většina nabízených voleb je paralelně dostupná přes ikony vertikálního panelu popsané výše. |
Smazat |
Daný prvek z definice vymaže. Pokud je daný prvek "kontejnerem" pro jiné prvky (tj. např. jsou pod ním umístěné již nějaké položky apod.), pak jeho smazáním se smažou i definice daných položek (tj. smaže se CELÁ daná "větev" definice i s podřízenými)! |
Posunout nahoru/dolů | Umožní změnit pořadí umístění daného prvku v definici v rámci úrovně, na které je nadefinován. |
Posunout vlevo/vpravo |
Umožní změnit umístění daného prvku v definici mimo úroveň, na které je aktuálně nadefinován. Tedy při posunu vlevo jej "vynořit" o jednu úroveň výše a naopak při posunu vpravo jej "vnořit" o jednu úroveň níže pod prvek, za kterým je aktuálně umístěn. Pokud v daném místě definice není příslušné vnoření/vynoření možné (jelikož by vznikla kombinace prvků, které nemohou spolu být na jedné úrovni nebo pod sebou nemohou být vnořeny), pak program posun neprovede. Příklad...
Mějme následující definici:
Příklad jednoduché definice, která z tabulky faktur vypíše seznam jmen odběratelů s textem "Odběratel:"
Výsledný soubor dle předchozí definice exportu Pokud nad prvkem Text vyvoláme funkci Posunout vlevo, prvek Text se "vynoří" a už nebude vnořen pod tabulkou. Bude vyhodnocován mimo záznamy z tabulky. Po úpravě pořadí (posunu nahoru), obdržíme:
Nyní bude text mít charakter nadpisu nad seznamem, jelikož se vyhodnotí před záznamy z tabulky. (Aby byl odřádkován, je třeba u prvku Text nastavit Konec řádku).
Výsledný soubor dle předchozí definice exportu |
Lze nastavit, pokud kurzor ve stromu definice exportu stojí aktuálně na hlavní větvi Export.
Pro nastavení vlastností def. exportu jsou k dispozici následující možnosti:
Zde lze definovat skripty, které se mají vykonat na začátku a konci zpracování daného def. exportu (např. nadefinování pomocných proměnných, které pak budou využívány v průběhu sestavy apod.). Jinak obdobné skripty lze definovat i pro prvky vložené do exportu, pak se budou provádět na začátku resp. na konci exportu dle daného prvku, viz dále.
Při definici skriptu jsou k dispozici všechny funkce, proměnné a data stejně jako jsou k dispozici pro vlastní report. Skript je sekvence volaných funkcí (tedy nejde o výrazy), tedy vrací nějakou hodnotu. Příkladem funkce volané přes skript, může být funkce, která vytvoří nějaký čítač (např. NxCounterCreate('Strana')), který pak budeme používat v průběhu sestavy. (K proměnným tedy přistupujeme přes funkce, tj. aby šlo s proměnnými pracovat, musí se deklarovat přes inicializační skripty).
Definice pomocných proměnných potřebných dále v definici exportu - např. pro ukládání průběžných součtů apod.
Umožňuje si nastavit, která kategorie dokumentu se má použít (předvyplnit), pokud je z dané definice exportu tvořen Dokument. Dále viz popis možnosti "Vytvořit dokument" v části Nabídka (volba).
Kódování daného def. exportu.
Do v. 7.01 byla k dispozici k editaci ještě vlastnost Kódování XML. Zůstala zachována z důvodu zpětné kompatibility, nicméně pouze jako nepersistentní. V Object inspektoru se nezobrazuje.
Umožňuje si nastavit, zda po vyvolání funkce Export, resp. Ukázka před exportem z horizontálního panelu tohoto editoru, příp. ze záložky Detail číselníku def. exportů, se má nabídnout dialogové okno s nabídkou volby ke zpracování def. exportu. Pokud se dialogové okno nabízet nemá, pak se ke zpracování použije volba nastavená u daného exportu jako výchozí. Viz dále Nabídka(volba).
Pozor, pokud je vlastnost Nabídka(volba) nastavena na Příkaz definovat před spuštěním, pak se na stav vlastnosti Nabídka(ukázat) nehledí a nabídka se ukazuje vždy, aby bylo možno příkaz před spuštěním zadat.
Umožňuje si nastavit, která volba ke zpracování exportu se má nabízet resp. použít jako výchozí po vyvolání funkce Export, resp. Ukázka před exportem z horizontálního panelu tohoto editoru, příp. ze záložky Detail číselníku def. exportů. Možnosti:
- Příkaz uložený v definici - Pak se použije příkaz zadaný přímo v definici exportu ve vlastnosti Spustit po zpracování.
-
Otevřít asociovaným programem - Funkce otevře vyexportovaný soubor v aplikaci, která je pro daný typ souboru (určený koncovkou - XML, XLS, XLSX, CSV atd.) nastavena jako výchozí.
- Otevřít v agendě Editor - Funkce vyvolá agendu Editoru a otevře ji "přes" agendu definovatelných exportů, resp. agendu, ze které byl export vyvolán. V editoru je pak založena editace nového souboru, v němž je pak obsah exportu, tj. data, která jsou výsledkem zpracování daného def. exportu. Soubor můžete uložit, příp. ukončit jeho editaci bez uložení. K dispozici jsou všechny funkce agendy Editor. Po zavření takto otevřené agendy Editoru se program vrátí do agendy, odkud byl export vyvolán.
- Příkaz definovat před spuštěním - Pak příkaz budete zadávat až v dialogovém okně nabídnutém po vyvolání exportu. Příkazem musí být spustitelný soubor (program), který dostane ke zpracování data vzniklá zpracováním definice daného exportu. Příkaz může obsahovat tzv. divoké proměnné, které budou nahrazeny hodnotami vrácenými z parametrů spuštění (pojmenovaných skriptů) definovaných k danému exportu. Dále viz Parametry spuštění (dříve Pojmenované skripty) a použití příkazů u definovatelných exportů.
Jedná se tedy o obdobou první volby ovšem s tím, že zde není příkaz přímo uložen v definici exportu, ale máte možnost jej zadat až před vlastním exportem. Použijete tedy v případech, kdy očekáváte, že se příkaz ke zpracování bude v čase měnit. Dialogové okno umožňuje i dohledání spustitelného příkazu a pamatuje si příkaz naposledy použitý. V případě této volby se nehledí na nastavení vlastnosti Nabídka(ukázat) a nabídka se ukazuje vždy.
-
Vytvořit dokument - V tomto případě se z daného exportu vytvoří dokument v agendě Dokumenty a naplní se obsahem daného exportu. Volba je určena pro případy, kdy výsledek exportu chcete archivovat resp. dále nějak zpracovat, např. opatřit elektronickým podpisem a odeslat e-mailem.
Do v. 9.02 včetně zde byla místo této volby k dispozici volba Vytvořit doklad komunikace - Byla určena pro případy, kdy se chtělo výsledek exportu dále nějak zpracovat, typicky elektronicky odeslat na cílové místo (např. přes VREP.). V takovém případě se vytvářel záznam v tehdejší agendě "Doklady komunikace" a naplnil se obsahem daného exportu. Před jeho vytvořením bylo ještě nutno zvolit odpovídající ovladač (komunikační driver). Ten se pak staral jednak o zobrazení obsahu daného dokladu komunikace, ale hlavně o jeho další zpracování (např. právě odeslání na VREP a zjištění odpovědi z VREP). Aby uživatel snadněji vybral správný ovladač pro daný typ exportu (např. při exportu RELDP ovladač pro RELDP), byl v definicích exportů nastaven ovladač, který se má pro daný export použít (předvyplnit) pomocí parametru spuštění (pojm. skriptu) "CommDriver". Pokud nebyl tento parametr spuštění (pojm. skript) v definici exportu implementován, předvyplňoval se Obecný komunikační driver. Od v. 9.03 byla agenda Doklady komunikace zrušena a nahrazena agendou Dokumenty. Z daného exportu lze tedy vytvořit dokument do agendy "Dokumenty" a to dokument zvolené kategorie.
Další zpracování dokumentu s daným exportem opět zajišťuje příslušný ovladač (driver), ale ten je určen už v rámci definice zvolené kategorie dokumentu. Uživatel tedy před tvorbou dokumentu nevolí přímo ovladač, ale volí kategorii dokumentu, přičemž kategorie dokumentu se předvyplňuje podle toho, jak je zadána v položce Kategorie dokumentu v definici exportu. Viz dále.
Příklad zadání hlavičkových údajů pro tvořený Dokument
Zadávané položky:
Název Popis Kategorie Kategorie pro tvořený dokument. Kategorii zadáte ručně anebo vyberete z číselníku Kategorií dokumentů. Na základě vybrané kategorie dokumentu se může předvyplnit řada dokumentů a příp. některé další údaje, podle toho, které a jak jsou pro danou kategorii nastaveny v její definici. Předvyplňuje se kategorií zadanou v položce Kategorie dokumentu v definici exportu.
Zde zvolená kategorie je důležitá, protože určuje, o jaký dokument se bude jednat a definuje ovladač (driver), kterým bude daný dokument zobrazován a zpracován. Zde je třeba mít na paměti, že každý ovladač může být napsán konkrétně pro použití jen s určitým konkrétním typem exportu a očekává data v nějakém tvaru. Tudíž není smysluplné jej používat ve spojení s exporty, pro které není určen (např. kategorii RELDP s driverem pro RELDP použít pro zpracování exportu ze servisní knížky apod.), dokonce toto může vést i k chybovým hlášením. Viz též Zpracování dokumentů.
Řada Zkratka označující řadu dokladů odpovídajícího typu, tj. typu dokumenty, do které bude doklad vystaven. Povinná položka.
Číselník se zde defaultně může nabízet omezený s ohledem na řady dokladů připojené v definici kategorie dokumentů v její subzáložce Řady dokladů.
Období Zkratka označující období, do kterého je resp. bude doklad zařazen, tj. do kterého věcně patří. (Který údaj se má v položce zadávat resp. zobrazovat, lze nastavit.) Povinná položka. Předvyplňuje se a kontroluje se dle pravidel uvedených v kap. Předvyplňování datumů. Středisko Slouží pro předvyplnění stejnojmenné položky v hlavičce vystaveného Dokumentu. Předvyplňuje se hodnotou nastavenou u stejnojmenné položky v definici kategorie dokumentu zadané výše, ale lze samozřejmě zadat jinou. Zadáte kód střediska nebo vyberete z číselníku středisek. (Který údaj se má v položce zadávat resp. zobrazovat, lze nastavit.)
Zda je položka k dispozici a zda je povinná, závisí na nastavení u stejnojmenné položky v definici kategorie dokumentu zadané výše.
Tudíž nastavení způsobu používání zakázek zadané v parametru Používání zakázek ve Firemních údajích se zde neuplatní.
Zakázka Slouží pro předvyplnění stejnojmenné položky v hlavičce vystaveného Dokumentu. Předvyplňuje se hodnotou nastavenou u stejnojmenné položky v definici kategorie dokumentu zadané výše, ale lze samozřejmě zadat jinou. Zadáte kód zakázky nebo vyberete z číselníku zakázek. (Který údaj se má v položce zadávat resp. zobrazovat, lze nastavit.)
Zda je položka k dispozici a zda je povinná, závisí na nastavení u stejnojmenné položky v definici kategorie dokumentu zadané výše.
Tudíž nastavení způsobu používání zakázek zadané v parametru Používání zakázek ve Firemních údajích se zde neuplatní.
Obchodní případ Totéž jako položka Zakázka, jen zde se jedná o Obchodní případ. Projekt Totéž jako položka Zakázka, jen zde se jedná o Projekt. Popis Libovolný popis daného dokladu, uloží se do agendy Dokumenty. Popis se automaticky předvyplňuje podle jména definice exportu. K zadanému popisu je pro snazší identifikaci konkrétního dokumentu navíc automaticky přidáno aktuální datum. Uživatel však může předvyplněný popis dle potřeby změnit.
Pokud je v definici exportu implementován parametr spuštění (pojmenovaný skript) "CommDocDescription", pak se popis může předvyplnit podle něj.
Defaultně je použit např. v exportu oznámení zaměstnavatele o nástupu/výstupu ze zam., kde se název modifikuje podle toho, jestli jde o nástup či výstup.
Podle zadaných údajů systém vytvoří záznam v agendě Dokumenty a uloží do jeho obsahu data zpracovaná exportem. Poté systém nabídne možnost rovnou otevřít agendu Dokumentů a otevře ji "přes" agendu definovatelných exportů, resp. agendu, ze které byl export vyvolán. Takto odtud vyvolaná agenda Dokumentů se otevře rovnou s přednastaveným omezením, tzv. červeným omezením, a to za právě vytvořený dokument. Toto červené omezení však můžete v záložce Omezení standardně zrušit (vyčistit) a získat záznamy podle libovolného jiného omezení, nebo zcela bez omezení. Vytvořený dokument, v němž je pak obsah exportu, tj. data, která jsou výsledkem zpracování daného def. exportu, můžete v agendě dokumentů prohlížet příp. rovnou zpracovat.
- Odeslat e-mailem - Odeslání exportu e-mailem v podobě přílohy zprávy. Jedna z možností, jak vyvolat odeslání výstupu e-mailem, popis viz Věcný obsah - Odeslání e-mailem ve zvoleném formátu. Funkce se chová stejně jako odeslání tiskové sestavy, tj. používá tzv. parametry spuštění (pojmenované skripty) EMAIL, EMAIL_BODY atd.
Otevře se příslušný e-mailový klient, máte-li nějakého k dispozici, s tímto připojeným souborem jakožto přílohou. Zda se použije standardně SimpleMAPI rozhraní nebo OLE rozhraní Outlooku, závisí na nastavení parametru UseOutLookWithOLE v Nexus.cfg, resp. na tom, jaký je váš výchozí klient pro SimpleMAPI. Více viz Využití MAPI.
U SimpleMAPI rozhraní v kombinacemi s Outlookem však dochází k potížím, kdy Outlook použije formát odeslaného e-mailu RTF, přestože má nastaveno, aby tak nečinil, což vede na potíže s čitelností příloh u adresátů e-mailu. Proto je k dispozici zmíněný parametr, kterým lze zajistit, že se SimpleMAPI rozhraní nepoužije. Více viz Využití MAPI.
- Najít soubor - Otevře soubor výstupu v okně průzkumníka windows. Analogie funkce "Najít cíl..." ve vlastnostech na zástupci ve Windows.
Zadáte název def. exportu, pod kterým se bude nabízet v seznamu def. exportů. K dispozici je i možnost zadat si podrobnější popis daného exportu.
Ke každému def. exportu je možno definovat tzv. parametry spuštění (dříve tzv. pojmenované skripty). Jedná se o běžné výrazy, které mají přiřazeno určité jméno. Hodnoty získané vyhodnocením výrazu lze využít pro následné zpracování výsledného výstupu (náhrada divokých proměnných téhož jména v příkazech). Dále viz samostatná kap. Parametry spuštění (dříve Pojmenované skripty) a použití příkazů u definovatelných exportů.
Po stisku tlačítka (může se lišit dle verze a nastaveného vzhledu) je vyvolán Editor parametrů spuštění (pojmenovaných skriptů), pomocí něhož příslušné parametry spuštění pro daný export nadefinujete.
Viz např. parametr spuštění (pojmenovaný skript) EMAIL pro odeslání mailu na mailovou adresu vrácenou touto definicí parametrů spuštění (pojmenovaným skriptem). Dále viz kap. Parametry spuštění (dříve Pojmenované skripty). Viz též popis dodávané aplikace Blat.exe, v jejímž popisu je uveden také konkrétní příklad s použitím parametrů spuštění (pojmenovaných skriptů) EMAIL a FILENAME.
Zde lze zadat příkaz, který se provede po zpracování dané definice exportu. Příkazem musí být spustitelný soubor (program), který dostane ke zpracování data vzniklá zpracováním definice daného exportu. Příkaz může obsahovat tzv. divoké proměnné, které budou nahrazeny hodnotami vrácenými z tzv. parametrů spuštění (pojmenovaných skriptů) definovaných k danému exportu. Dále viz Parametry spuštění (dříve Pojmenované skripty) a použití příkazů u definovatelných exportů.
Pokud očekáváte, že se daný příkaz má v čase měnit, pak namísto této vlastnosti můžete využít možnost zadat příkaz až před zpracováním exportu, příp. obě možnosti kombinovat vhodným nastavením vlastností Nabídka(ukázat) a Nabídka(volba).
Určuje, zda bude export proveden do textového formátu nebo do Excelu.
Textový - jedná o prostý text, např. TXT, CSV
Excel - data se vyexportují přímo pro Excel, XLSX formát. Více o exportu do XLS formátu níže.
Vlastnosti exportu do Excelu:
- Export do Excelu může být prováděn i z počítače, kde není Excel instalován (pro export není potřeba Excel, ani OLE Excel)
-
Export musí mít na nejvyšší úrovni alespoň jednu tabulku. Tabulky na nejvyšší úrovni jsou jednotlivé Listy (Sheet). Vše, co bude mimo tyto tabulky se interně zpracuje, ale do Excelu nepropíše. Podřízené tabulky jsou zobrazovány v Listě nadřízené tabulky.
-
Název tabulky se zobrazí v exportu jako název listu (sheetu).
- Tabulka může obsahovat všechny prvky (Text, Data, Výraz...). Každý podřízený prvek tabulky je jeden sloupec v Excelu. Pokud tento prvek bude mít podřízený prvek bude zobrazován ve stejném sloupci.
- Hlavička nebo Patička se vloží přidáním prvku Skupina.
- Číselným sloupcům lze nastavit masku formátu nebo si zvolit z již předefinovaných pojmenovaných masek.
- Po 1 milionu vygenerovaných řádcích se v souboru automaticky založí nový list stejného jména s číselným sufixem na konci, např. List2 (jedná se o vlastnost MS Excel).
Odskočení /posunutí dat o jeden sloupec lze vyřešit vložením prázdného prvku
Vzorové definice exportu do Excelu najdete v agendách Faktury vydané, Dodací listy a Účetní deník.
Nastavení, zda se jedná o definici systémovou či nikoliv. Běžný uživatel však nemá možnost toto nastavovat.
V definici lze stanovit, zda má mít def. export vlastní třídění. Provedení def. exportu nad nějakými daty totiž znamená znovu SQL dotaz do databáze (viz výklad u standardní funkce Shift+F5 - export) a není-li nastaveno v def. exportu vlastní třídění, přebírá se třídění podle aktuálně prováděného SQL dotazu (např. podle omezení a třídění nastaveného v záložce Omezení). Ovšem pozor, chceme-li v def. exportu použít skupinování, musí být k němu nastaveno odpovídající třídění. Aby tedy def. export poskytoval smysluplné výsledky např. bez ohledu na uživatelem nastavené třídění v záložce Omezení, je třeba odpovídající třídění nastavit přímo u daného exportu.
Pokud má def. export vlastní třídění, nebere se v potaz třídění dodané programem (např. ze záložky Omezení).
Např. na SQL serveru nelze třídit dle týdnů, jelikož datumy v ABRA Gen jsou vnitřně reprezentovány číslem. Pokud je tedy třeba třídit v def. exportu dle týdnů, je to možno realizovat skupinováním, kde skupiny se nastaví za dny v týdny (na což jsou v def. exportech k dispozici odpovídající procedury) a nastavením vlastního třídění v takovém def. exportu po dnech.
Nastavení, s jakým zdrojem dat bude daná sestava pracovat. Jednotlivé zdroje se mohou i podstatně lišit v datech, která vrací (např. mohou být vrácena data již nějak sumovaná na straně serveru, pak není třeba řešit sumování např. skupinováním (viz skupiny v def. exportu apod.). Zdroje dat, které jsou v daném místě k dispozici, jsou dány definicí programových míst (tzv. programpointů) a k nim přiřazených dynamických SQL. Dále viz kap. Věcný obsah - rozšířené informace a kap. DynSQLEditor.
Pokud je třeba data pro definovanou sestavu např. v jiném tvaru, než jak je vrací DynSQL dotazy, které jsou k dispozici, je možné si nadefinovat vlastní DynSQL podle potřeby, zařadit ho do příslušného programového místa a poté jej využít k definici požadovaného def. exportu.
Do def. exportu lze vkládat následující prvky:
Lze jej vložit přes ikonu vertikálního panelu nebo přes lokální menu. Pokud kurzor ve stromu definice exportu stojí aktuálně na daném prvku lze nastavit jeho vlastnosti:
Název vloženého prvku. Bude-li se jednat o typ XML tag, resp. XML atribut, pak bude použit jako jméno tagu resp. atributu.
Zde lze definovat skripty, které se mají vykonat na začátku a konci zpracování daného def. exportu (např. nadefinování pomocných proměnných, které pak budou využívány v průběhu sestavy apod.). Jinak obdobné skripty lze definovat i pro prvky vložené do exportu, pak se budou provádět na začátku resp. na konci exportu dle daného prvku, viz dále.
Při definici skriptu jsou k dispozici všechny funkce, proměnné a data stejně jako jsou k dispozici pro vlastní report. Skript je sekvence volaných funkcí (tedy nejde o výrazy), tedy vrací nějakou hodnotu. Příkladem funkce volané přes skript, může být funkce, která vytvoří nějaký čítač (např. NxCounterCreate('Strana')), který pak budeme používat v průběhu sestavy. (K proměnným tedy přistupujeme přes funkce, tj. aby šlo s proměnnými pracovat, musí se deklarovat přes inicializační skripty). Po stisku tlačítka (může se lišit dle verze a nastaveného vzhledu) se vyvolá okno pro editaci skriptů, kde můžete buď zapsat skript 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 Edituj.
Zde můžete zadat, za jaké podmínky se má daný prvek tisknout. Podmínkou může být libovolný výraz, který je při tisku vyhodnocen a je-li splněn, pak je příslušný prvek vytištěn. Po stisku tlačítka (může se lišit dle verze a nastaveného vzhledu) se vyvolá okno pro zadání výrazu. Výraz buď 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 Edituj.
Při definici podmínky je potřeba brát v úvahu hierarchickou podstatu exportů. Pokud má být např. omezující podmínkou výraz odkazující na dataset, musí být element, na kterém bude tato podmínka umístěna, podřazen elementu (např. tabulce), která dataset načítá.
Zde lze potlačit export daného prvku.
Nastavením této vlastnosti můžete ovlivnit výsledné formátování výstupu. Pokud je nastaven konec řádku, pak po zpracování daného prvku program "odřádkuje". K požadovanému odřádkování můžete využít i např. prvek prázdný text, u kterého jen Objasníme na příkladu:
Ze seznamu faktur chceme vyexportovat soubor v následujícím tvaru:
Příklad výstupu
Pak může definice vypadat např. následovně, kdy se nejdříve vypíší z tabulky Dodacích listů všechny DL k dané faktuře (bez odřádkování), pak se vyhodnotí následující prvek Text (s prázdným textem a s nastaveným koncem řádku), který způsobí odřádkování za posledním vypsaným DL a nakonec další prvek Text (s prázdným textem a s nastaveným koncem řádku), který způsobí další odřádkování (tj. efekt vynechaného řádku):
Příklad definice
Umožňuje zadat text, který se bude vypisovat po zpracování daného prvku. Formát textu lze ovlivnit zadáním typu textu, centrování a šířky, viz dále.
Jednotlivé možnosti ovlivňují, jak bude vypadat výsledný text po zpracování prvku:
- Čistý text - výsledkem bude vypsaný text zadaný ve vlastnosti Text, viz výše.
- XML tag - text zadaný ve vlastnosti Text bude obsahem XML tagu, přičemž jméno tagu bude dáno obsahem vlastnosti Název.
- XML atribut - text zadaný ve vlastnosti Text bude obsahem XML atributu, přičemž jméno atributu bude dáno obsahem vlastnosti Název.
Text, který bude obsahem XML tagu, resp. atributů, bude kódován v UTF-8.
Chceme získat soubor v následujícím tvaru:
Příklad výstupu
Pak může definice vypadat např. následovně, kdy se pomocí prvků Text s prázdným textem nebo s nějakým obsahem v textu, ale typu XML tag resp. XML atribut vytvoří podle jejich názvů odpovídající XML tagy příp. i s atributy:
Příklad definice
Vlastnosti pro zadání centrování výsledného textu a šířky. Je-li šířka zadána -1, pak to znamená automaticky podle délky položky.
Lze jej vložit přes ikonu vertikálního panelu nebo přes lokální menu. Pokud kurzor ve stromu definice exportu stojí aktuálně na daném prvku lze nastavit jeho vlastnosti:
Totéž jako u prvku Text, viz Text - Název.
Totéž jako u prvku Text, viz Text - Inicializační finalizační skripty.
Totéž jako u prvku Text, viz Text - Podmínka pro export.
Totéž jako u prvku Text, viz Text - Povoleno.
Totéž jako u prvku Text, viz Text - Přidat konec řádku.
Totéž jako u prvku Text, viz Text - Typ.
Totéž jako u prvku Text, viz Text - Šířka, Centrování.
Možnost zadat si formátování číselného výstupu dle vlastních požadavků. Pokud není zadána žádná maska ani Pojmenovaná maska, použije se pro formátování Pojmenovaná maska, která je nastavena jako Základní.
Možnost vybrat Pojmenovanou masku pro formátování číselného výstupu. Pojmenovaná maska má přednost před maskou individuální.
Po stisku tlačítka (může se lišit dle verze a nastaveného vzhledu) se vyvolá okno pro zadání výrazu. Výraz buď 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 Edituj.
Lze jej vložit přes ikonu vertikálního panelu nebo přes lokální menu. Pokud kurzor ve stromu definice exportu stojí aktuálně na daném prvku lze nastavit jeho vlastnosti:
Totéž jako u prvku Text, viz Text - Název.
Totéž jako u prvku Text, viz Text - Inicializační finalizační skripty.
Totéž jako u prvku Text, viz Text - Podmínka pro export.
Totéž jako u prvku Text, viz Text - Povoleno.
Totéž jako u prvku Text, viz Text - Přidat konec řádku.
Totéž jako u prvku Text, viz Text - Typ.
Totéž jako u prvku Text, viz Text - Šířka, Centrování.
Možnost zadat si formátování číselného výstupu dle vlastních požadavků. Pokud není zadána žádná maska, použije se pro formátování Pojmenovaná maska, která je nastavena jako Základní.
Možnost vybrat Pojmenovanou masku pro formátování číselného výstupu. Pojmenovaná maska má přednost před maskou individuální.
Po stisku tlačítka se v modálním okně zobrazí seznam datových položek dostupných v daném místě programu ve formě Datového modelu, ze kterých můžete do exportu vybírat.
Jedná se o variantu editační položky pro výběr z datového modelu BO, i když zde s tím rozdílem, že do položky lze pouze vybírat z vyvolaného datového modelu (nelze do ní přímo zapisovat) s interaktivním dohledáním.
Lze jej vložit přes ikonu vertikálního panelu nebo přes lokální menu. Pokud kurzor ve stromu definice exportu stojí aktuálně na daném prvku lze nastavit jeho vlastnosti:
Totéž jako u prvku Text, viz Text - Název.
Totéž jako u prvku Text, viz Text - Inicializační finalizační skripty.
Totéž jako u prvku Text, viz Text - Podmínka pro export.
Totéž jako u prvku Text, viz Text - Povoleno.
Totéž jako u prvku Text, viz Text - Přidat konec řádku.
Totéž jako u prvku Text, viz Text - Text.
Totéž jako u prvku Text, viz Text - Typ.
Totéž jako u prvku Text, viz Text - Šířka, Centrování.
Zde zvolíte, o jaký systémový údaj se jedná. Jejich význam většinou plyne z jejich názvu.
Prvek, který definuje, z jaké tabulky (z jakého datasetu definovaného pro daný dynSQL) se budou exportovat údaje dle definice následujících tabulce podřízených prvků.
Prvek Tabulka je jakousi analogií pruhu subdetail (vnořený detail) z tiskových sestav, viz kap. Pruhy v sestavě. Použijete v případě, kdy je k hlavnímu záznamu z tabulky definované ve vlastnostech exportu třeba vyexportovat nějaké další záznamy, které se k němu váží a které jsou čerpány z jiného datového zdroje. Typickým příkladem jsou např. řádky faktury, které se váží k hlavičce faktury a je třeba je vyexportovat ve formuláři faktury. Tedy def. export pro export faktur je nadefinován nad tabulkou faktur, pro každou tisknutou fakturu vyexportuje její hlavičkové údaje atd. a v rámci zpracování připojeného prvku Tabulka pak její řádky.
Lze jej vložit přes ikonu vertikálního panelu nebo přes lokální menu. Pokud kurzor ve stromu definice exportu stojí aktuálně na daném prvku lze nastavit jeho vlastnosti:
Totéž jako u prvku Text, viz Text - Název.
Totéž jako u prvku Text, viz Text - Inicializační finalizační skripty.
Totéž jako u prvku Text, viz Text - Podmínka pro export.
Totéž jako u prvku Text, viz Text - Povoleno.
Totéž jako u prvku Text, viz Text - Typ.
Nastavení, z jakého datového zdroje budou následné položky podřízené v definici exportu tabulce čerpat. Jednotlivé zdroje dat se mohou i podstatně lišit v datech, která vrací (např. mohou být vrácena data již nějak sumovaná na straně serveru, pak není třeba řešit sumování např. skupinováním (viz skupiny v def. exportu apod.). Zdroje dat, které jsou v daném místě k dispozici, jsou dány definicí programových míst (tzv. programpointů) a k nim přiřazených dynamických SQL. Dále viz kap. Věcný obsah - rozšířené informace a kap. DynSQLEditor.
Pokud je třeba data pro definovanou sestavu např. v jiném tvaru, než jak je vrací DynSQL dotazy, které jsou k dispozici, je možné si nadefinovat vlastní DynSQL podle potřeby, zařadit ho do příslušného programového místa a poté jej využít k definici požadovaného def. exportu.
Prvky Skupina, Hlavička a patička skupiny jsou analogické stejnojmenným pruhům z tiskových sestav. Význam skupin viz pruh Skupiny v kap. Pruhy v sestavě.
Lze jej vložit přes ikonu vertikálního panelu nebo přes lokální menu. Pokud kurzor ve stromu definice exportu stojí aktuálně na daném prvku lze nastavit jeho vlastnosti:
Totéž jako u prvku Text, viz Text - Název.
Totéž jako u prvku Text, viz Text - Inicializační finalizační skripty.
Totéž jako u prvku Text, viz Text - Podmínka pro export.
Totéž jako u prvku Text, viz Text - Povoleno.
Zde zadáte výraz pro skupinování. Podle tohoto výrazu se budou exportované záznamy z tabulky skupinovat. Skupinování pak probíhá tak, že se postupně zpracovávají jednotlivé exportované záznamy z databáze. Vyhodnotí se výraz pro první z nich a založí se první skupina, provedou se exporty dle dalších podřízených prvků atd. Pak se zpracovává druhý záznam z databáze. Opět se vyhodnotí výraz pro skupinování a je-li shodný, záznam se vyexportuje do téže skupiny. Je-li různý, export první skupiny se ukončí (tj. provede se případná patička skupiny s připojenými pruhy) a založí se nová skupina další.
Pozor, pokud je v sestavě použito skupinování, musí mít sestava odpovídající smysluplné řazení (aby se pak v def. exportu neopakovalo několik skupin s touž podmínkou). Typicky se zajistí tak, že se k def. exportu definuje Vlastní třídění nezávislé na třídění záznamů aktuálně zvolených uživatelem (nastavení vlastního řazení viz Vlastnosti def. exportu).
Totéž jako u prvku Text, viz Text - Typ.
Prvky Skupina, Hlavička a patička skupiny jsou analogické stejnojmenným pruhům z tiskových sestav. Význam skupin viz pruh Skupiny v kap. Pruhy v sestavě.
Lze jej vložit přes ikonu vertikálního panelu nebo přes lokální menu. Pokud kurzor ve stromu definice exportu stojí aktuálně na daném prvku lze nastavit jeho vlastnosti:
Totéž jako u prvku Text, viz Text - Název.
Totéž jako u prvku Text, viz Text - Inicializační finalizační skripty.
Totéž jako u prvku Text, viz Text - Podmínka pro export.
Totéž jako u prvku Text, viz Text - Povoleno.
Totéž jako u prvku Text, viz Text - Typ.
Zde zadáte výraz pro počet opakování.Výsledek při vyhodnocení výrazu musí být číslo, které říká, kolikkrát se bude opakovat export prvků podřízených prvku Opakování.
Jak bylo řečeno v kap. Věcný obsah - obecné, definice exportů je podobná definicím tisk. sestav, jen s tím rozdílem, že se liší technologie zadávání hodnot: dialogová okna u tisk. sestav a Object inspektor u def. exportů. Proto je řada vlastností def. exportů, prvků, které lze použít a jejich vlastností shodná, jako u tisk. sestav, pouze s tím, že se může lišit jejich pojmenování, či místo, kde se definují.