Parametry spuštění (dříve Pojmenované skripty)
Parametry spuštění (dříve tzv. Pojmenované skripty) jsou definice běžných FLORES výrazů (Expressions), které mají přiřazeno určité jméno. Jsou definované v rámci definic tisk. sestav či definovatelných exportů. Jedná se v zásadě o nějaký výraz, který se v rámci zpracování výstupu vyhodnotí a vrátí nějaký výsledek. Výsledkem může být např. jméno souboru, jméno tiskové sestavy, ale i např. adresa firmy použité v hlavičce tištěného dokladu, e-mailová adresa, na kterou má být výstup zadán apod. Příslušný výsledek se použije při zpracování konkrétního tiskového výstupu:
Existují parametry spuštění (dříve tzv. pojmenované skripty):
- Parametry spuštění (pojm. skripty) s defaultní hodnotou - Tyto jsou nadefinované přímo v programu a platí pro všechny tiskové sestavy a def. exporty, tj. nemusí být přímo v jejich definici definován skript příslušného jména. Např. FILENAME, BASENAME aj.
Pokud ale v definici sestavy resp. definovatelného exportu je definován parametr spuštění téhož jména, pak tato definice "přebije" definici defaultní.
- Parametry spuštění (pojm.skripty) bez defaultní hodnoty - Jsou to všechny další parametry spuštění (pojm. skripty), které jsou výrobcem určené pro nějaké konkrétní použití (např. pro předávání parametrů e-mailovému klientovi při odesílání e-mailem), ale nemají dodávanou defaultní hodnotu nebo libovolné jiné, pro které si zavedete vlastní použití. Tyto musí být nadefinované v definici konkrétní tisk. sestavy resp. def. exportu a platí jen pro daný tiskový výstup. Např. EMAIL, EMAIL_SUBJECT aj. Tyto lze definovat:
- Pro tiskové sestavy v rámci definice Vlastností sestavy - Parametry spuštění
- Pro definovatelné exporty v rámci definice Vlastností def. exportu - Parametry spuštění
Parametry spuštění (pojm. skripty) lze využívat:
- Při odesílání výstupu e-mailem
Při odesílání výstupu e-mailem se výsledky parametrů spuštění (pojm. skriptů) pro daný výstup mohou předávat jako parametr e-mailovému klientovi (např. e-mailová adresa, na kterou je výsledek tisku zasílán, jméno souboru přílohy apod.)
- V příkazové řádce:
- v rámci použití příkazů u tisk. sestav
- v rámci použití příkazů v def. exportů
V příkazové řádce je možné použít tzv. "divoké proměnné". Pro každou takovou proměnnou musí existovat parametr spuštění (pojmenovaný skript) téhož jména, jako je jméno divoké proměnné (buď to může být parametr spuštění (pojm. skript) s defaultní hodnotou nebo to musí být parametr spuštění (pojm. skript) definovaný v sestavě resp. exportu). Hodnota vzniklá po vyhodnocení daného parametru spuštění (pojm. skriptu) pak bude dosazena za příslušnou divokou proměnnou:

Příklad příkazové řádky s příkazem zadaným před exportem s divokou proměnnou FILENAME. Způsobí otevření aplikace Notepad z definované cesty a v ní pak soubor s daty, která budou výsledkem zvoleného def. exportu
V příkazové řádce lze jako divoké proměnné použít i parametry spuštění (pojm. skripty) defaultně dodávané pro odesílání na e-mail (jako např. EMAIL).
Jedná se o parametr spuštění (pojm. skript) s defaultní hodnotou.
Každý tvořený soubor musí mít definováno jméno. Pokud se chcete v rámci zadávaného příkazu odvolat na tvořený soubor (soubor vzniklý uložením tiskového výstupu či zpracováním def. exportu), musíte se odvolat na jeho jméno. Jméno takového souboru je defaultně generováno systémem do dočasného adresáře tak, aby bylo jednoznačné. Pro akci odvolání se na jméno takového dočasného souboru v příkazu je určen právě parametr spuštění (pojm. skript) FILENAME, který jako hodnotu vrací právě defaultně přidělené jméno souboru, které přiděluje IS FLORES (pro generování defaultního jména IS FLORES používá interní identifikátor GUID).
Objasníme na příkladu:
U zálohových listů si nastavíme, že po uložení chceme Tisknout rovnou do souboru (např. formátu pdf). Po uložení do souboru ale ještě budeme chtít zavolat prohlížeč *.pdf souborů Acrobat Reader pro vizuální kontrolu výstupu. Pak může příkaz vypadat např. následovně:
c:\Program Files\Adobe\Reader 11.0\Reader\AcroRd32.exe %FileName%
Pak se po uložení dokladu tento uloží do dočasného adresáře Windows (např. c:\users\jan.novak\appdata\local\temp\)) a vyvolá se prohlížeč pdf souborů, kde je zobrazen vytištěný doklad.
Pokud chcete soubor mít uložen pod jiným názvem, můžete to provést např. tak, že si v příkazu zavoláte nějakou dávku (*.bat), které jako parametr přidáte defaultně generovaný název souboru a ve kterém si nadefinujete přejmenování daného souboru, např. na soubor jiného typu, uložení do zadané cesty apod.
U faktur vydaných si nastavíme, že po uložení chceme Tisknout rovnou do souboru (např. formátu pdf). Po uložení do souboru ale ještě budeme chtít, aby se přejmenoval a uložil jinam. Pak může příkaz vypadat např. následovně:
c:\rename.bat %FileName%
Přičemž *.bat dávka může definovat
@echo off
set JmenoSouboru=%1
echo Toto je vytvorene jmeno souboru: %JmenoSouboru%
pause
copy %JmenoSouboru% c:\report\faktura.pdx
Pak se po uložení dokladu tento uloží do dočasného adresáře Windows (např. c:\users\jan.novak\appdata\local\temp\) a soubor s fakturou se uloží do adresáře c:\report pod názvem "faktura.pdx".
Pokud byste chtěli, aby IS FLORES ukládal rovnou soubor do jiného formátu a cesty, pak si do dané tisk. sestavy můžete jednoduše nadefinovat svůj vlastní parametr spuštění FILENAME tak, aby se generovalo jméno souboru dle vašich potřeb. Tato definice pak pro danou sestavu resp. export "přebije" parametr spuštění FILENAME defaultně dodávaný (viz výše Parametry spuštění (pojm. skripty) sdefaultní hodnotou). Objasníme na příkladu:
Do sestavy si nadefinujeme parametr spuštění (pojm. skript) jména FILENAME s jednoduchou definicí:
'c:\report\zaloha.pdf'
Do příkazové řádky v rámci Nastavení tisku do souboru po uložení příkaz:
c:\Program Files\Adobe\Reader 11.0\Reader\AcroRd32.exe %FileName%
Pak se po uložení dokladu vyvolá tisk dané tisk. sestavy do souboru, tisk se uloží do souboru C:\report\zaloha.pdf a vyvolá se prohlížeč pdf souborů, kde je k dispozici vytištěný doklad.
Jedná se o parametr spuštění (pojm. skript) s defaultní hodnotou. Je určen pro odesílání výstupu e-mailem, kdy se pomocí něj získává název přiloženého souboru, ke kterému se připojí přípona odpovídající zvolenému formátu.
Tisk se v tomto případě provádí do souboru náhodného jména, který se následně přejmenovává na jméno dané definicí parametru spuštění (pojm. skriptu) BASENAME. Pozor, pokud tisk. sestava odesílá opakovaně (např. pro různé doklady), pak vzniká opakovaně soubor téhož jména. V takovém případě je původní soubor (z předchozího tisku) nahrazen novým. Tj. pokud soubor s daným jménem už existuje (tedy přejmenování se nepovedlo), provede se překopírování a pak odstranění kopírovaného souboru.
Jistá nevýhoda tohoto řešení je v tom, že pokud se soubor nepodaří překopírovat (např. pokud je otevřen nějakou aplikací), pak systém nahlásí chybu a nelze v tisku pokračovat.
Pokud není parametr spuštění (pojm. skript) BASENAME v rámci dané tisk. sestavy definován, použije se defaultně vrácená hodnota.
Defaultní hodnota záleží na výběru možnosti z dialogu Zvolte co tisknout:
- Aktuální záznam - DisplayName tohoto záznamu, tj. například "FV-1_2018.pdf" (lomítko je nahrazené podtržítkem, protože lomítko není možné používat v názvech souborů)
- jiná možnost - název tiskové sestavy doplněný zprava o řetězec s datem a časem vzniku souboru ve formátu "-yyyy_mm_dd hh-nn". Např. výtisk faktur vydaných posílaných e-mailem se bude jmenovat "Formulář faktury vydané-2017_12_20 18-05.pdf".
Jistá nevýhoda tohoto řešení je v tom, že se v dočasném adresáři "množí" odesílané soubory.
Jedná se o parametr spuštění (pojm. skript) bezdefaultní hodnoty, tudíž musí být definován v rámci definice tisk. sestavy resp. def. exportu. Je určen pro odesílání výstupu e-mailem, kdy se pomocí něj získává adresa příjemce, kterému má být zaslán e-mail. V rámci některých defaultně dodávaných tiskových sestav (např. formulář faktury vydané) je již předdefinován od výrobce. Využívá QuickReports funkce "NxGetDefaultEmail", která přihlíží k hodnotě firemního parametru Pořadí pro určení e-mailu při odeslání dokladů a podle toho vrací e-mail sídla firmy z hlavičky dokladu nebo z provozovny či osoby zadané na dokladu příp. dle hodnot parametru zobrazí dialog Kontakty dle omezení pro výběr e-mailové adresy na základě Firmy, Provozovny a Osoby a uživatel si vybere interaktivně.
Vystavené faktury budeme chtít tisknout do souboru a odesílat klientům e-mailem, e-mailovou adresu chceme zjišťovat z údajů provozovny firmy uvedené na dokladu. Pro maximální automatizaci celého procesu si v agendě faktur vydaných ve funkci Nastavení tisku po uložení definujeme, že po uložení faktury se má Odeslat výstup mailem, zvolíme formát, např. pdf a zvolíme příslušnou tiskovou sestavu. V rámci vlastností tisk. sestavy, kterou pro tisk dokladu budeme používat, musí být definován skript se jménem EMAIL, který bude danou adresu zjišťovat:
Příklad nadefinovaného skriptu pro vrácení e-mailové adresy.
Jako náhrada za funkci "NxGetDefaultEmail" by se do pojmenovaného skriptu EMAIL mohla využít rovnou QuickReports funkce "NxEmailAddressesDialog", která zobrazuje dialog Kontakty dle omezení pro výběr e-mailové adresy interaktivně (což je to samé chování, jako když má parametr Pořadí pro určení e-mailu při odeslání dokladů hodnotu Interaktivně). To byste využili tehdy, pokud byste nechtěli mít obecně v daném parametru hodnotu Interaktivně (aby se dialog nenabízel vždy), ale přitom aby se nabídl např. jen při odesílání vybraných tisk. sestav.
Tentýž skript ale může být samozřejmě využit i v rámci použití příkazů pro náhradu divokých proměnných (viz výše Použití pojmenovaných skriptů). Příkladem může být rovněž odeslání výstupu e-mailem, které ale budeme realizovat zadaným příkazem při uložení Tisku do souboru v rámci funkce Nastavení tisku po uložení. Pokud tedy máte k dispozici nástroj, který umí odeslat mail na definovanou adresu s vytvořeným souborem jakožto přílohou, můžete si do příkazu nadefinovat spuštění takového nástroje s divokou proměnnou %EMAIL%.
Skript nadefinovaný výše můžeme využít i pro nahrazení divoké proměnné téhož jména v příkazové řádce. Můžeme tak zajistit jiný způsob odeslání e-mailu. Pak musíme k dispozici nějaký program, který umí odeslat mail na definovanou adresu s vytvořeným souborem jakožto přílohou. Využít můžete např. aplikaci BLAT.exe nebo aplikaci MAPISend.exe, které jsou zdarma dodávány jako součást instalace, ale můžete využít i libovolný jiný svůj vlastní. Pokud použijeme Blat.exe a máme jej již správně nakonfigurován, pak může příkaz vypadat např. následovně:
blat c:\email.txt -to %Email% -attach %FileName%
Další příklady viz popis aplikace Blat.exe a popis aplikace MAPISend.exe.
Jedná se o parametr spuštění (pojm. skript) bez defaultní hodnoty, tudíž musí být definován v rámci definice tisk. sestavy resp. def. exportu. Je určen pro odesílání výstupu e-mailem, kdy se pomocí něj získává adresa příjemce, kterému má být zaslána kopie e-mailu.
Jedná se o parametr spuštění (pojm. skript) bez defaultní hodnoty, tudíž musí být definován v rámci definice tisk. sestavy resp. def. exportu. Je určen pro odesílání výstupu e-mailem, kdy se pomocí něj získává adresa skrytého příjemce, kterému má být zaslána kopie e-mailu.
Jedná se o parametr spuštění (pojm. skript) s defaultní hodnotou. Defaultně vrací název tiskové sestavy. Je určen pro odesílání výstupu e-mailem, kdy se pomocí něj získává text do položky Předmět nového vytvářeného e-mailu.
Jedná se o parametr spuštění (pojm. skript) bez defaultní hodnoty, tudíž pro další formáty musí být definován v rámci definice tisk. sestavy resp. def. exportu. Je určen pro odesílání výstupu e-mailem, kdy se pomocí něj získává tělo nového vytvářeného e-mailu, typicky nějaký text.
Není-li parametr použit, tělo mailu se získává z položky Výchozí text v nastavení e-mailového účtu (je-li vyplněna).
V systému se mohou vyskytnout dle potřeby ještě další parametry spuštění (pojmenované skripty). Např.:
- CommDocDescription - Musí být definován v rámci definice tisk. sestavy resp. def. exportu. Je určen pro předvyplnění položky Popis v rámci tvorby Dokumentu z definovatelného exportu.
- CommDriver - Určen pro specifikaci ovladače, který má být použit pro zpracování daného exportu. Musí být tedy definován přímo v rámci daného exportu.
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), viz Zpracování dokumentů, 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.