Skriptovací jazyk - tvorba sestav: Porovnání verzí
| Řádek 42: | Řádek 42: | ||
'''''#13 je znak CR (čili znak s kódem 13)<br/>''''' | '''''#13 je znak CR (čili znak s kódem 13)<br/>''''' | ||
Viz příklad [[Příklady PASCAL]] | Viz příklad [[Příklady PASCAL]] | ||
| + | |||
| + | <u>'''Výstupní formáty sestavy:'''</u> | ||
| + | |||
| + | {|class="wikitable" border=1 width=1000 | ||
| + | |- | ||
| + | | '''Hodnota'''|| '''Výstupní formát''' | ||
| + | |- | ||
| + | | -1||výchozí formát sestavy | ||
| + | |- | ||
| + | | 0||textová sestava | ||
| + | |- | ||
| + | | 1||GSE (MIS) | ||
| + | |- | ||
| + | | 2||DBF | ||
| + | |- | ||
| + | | 3||CSV | ||
| + | |- | ||
| + | | 4||CSV - Excel | ||
| + | |- | ||
| + | | 5||SYLK - Excel | ||
| + | |- | ||
| + | | 6||XML | ||
| + | |- | ||
| + | | 7||HTML | ||
| + | |- | ||
| + | | 8||QR2 | ||
| + | |- | ||
| + | | 9||Excel XLS | ||
| + | |- | ||
| + | | 10||DEF Soubor | ||
| + | |- | ||
| + | | 11||Dat. košilka | ||
| + | |- | ||
| + | | 12||PDF (QR2) | ||
| + | |} | ||
===Příkaz pro spuštění QR2 sestavy=== | ===Příkaz pro spuštění QR2 sestavy=== | ||
Verze z 13. 11. 2025, 18:26
Modul pro práci se skripty podporuje vytváření sestav připravených v generátoru sestav.
Příkaz pro spuštění výpočtu sestavy z generátoru sestav
Function GSRunReport(Skupina : Integer; SestavaCislo : Integer; Parametry: String; Priznaky: integer = 0; VystupniFormat: integer = -1): String;
- Parametry musí být zapsány takto:
- promenna1=hodnota1 #13 promenna2=hodnota2 #13 ... promenna_n=hodnota_n
Příklad GSRunReport(6, 2, 'DatumOd=01/01/12'+chr(13)+'DatumOd=01/01/12')
Úprava funkce GSRunReport ve skriptovacím jazyku; přidán nový hodnota funkce Priznaky.
Pokud uvedete hodnotu Priznaky = 1, tak program bude vracet ve výsledku funkce další informace o sestavě.
- V aktuální verzi je výsledek ve formátu
- OK#13Výsledný_soubor#13počet_záznamů.:
Počet záznamů je počet vyhovujících zdrojových záznamů z hlavní tabulky (u mezisoučtových sestav tedy nejde o počet řádků v sestavě).
Function GSRunReportV(SkupinaSestav : Integer; SestavaCislo : Integer; JmenaParametru: Array of String; Hodnoty: array of Variant): String;
- V této variantě jsou parametry zadávány formou dvojice hodnot:
- [promenna_1, ..., promenna_n], [hodnota_1, ..., hodnota_n]
Příklad GSRunReportV(6, 2, ['DatumOd', 'DatumDo'], ['01/01/12', '01/01/12'])
SkupinaSestav a SestavaCislo je identifikace spouštěné sestavy nadefinované v generátoru sestav.
Vytvořenou sestavu je možné odeslat například pomocí funkce SendMailBySMTP mailem prostřednictvím protokolu SMTP nebo pomocí objektu TMOScommunicator prostřednictvím MaximObjServeru.
Výsledkem funkce je textový řetězec obsahující buď:
OK#13Jméno sestavy
nebo
CHYBA#13Chyba při výpočtu
#13 je znak CR (čili znak s kódem 13)
Viz příklad Příklady PASCAL
Výstupní formáty sestavy:
| Hodnota | Výstupní formát |
| -1 | výchozí formát sestavy |
| 0 | textová sestava |
| 1 | GSE (MIS) |
| 2 | DBF |
| 3 | CSV |
| 4 | CSV - Excel |
| 5 | SYLK - Excel |
| 6 | XML |
| 7 | HTML |
| 8 | QR2 |
| 9 | Excel XLS |
| 10 | DEF Soubor |
| 11 | Dat. košilka |
| 12 | PDF (QR2) |
Příkaz pro spuštění QR2 sestavy
Function QR2RunReport(AOwner : TComponent; QR2FileName : String; PreviewMode : integer; PrinterIndex : integer = -1): Boolean;
- Funkce spustí QR2 sestavu určenou parametrem QR2FileName. PreviewMode určuje režim zpracování (0..návrhář sestav, 1..náhled sestavy, 2..tisk sestavy, 4..nová sestava). Nepovinný parametr PrinterIndex určuje pořadové číslo tiskárny ze seznamu instalovaných tiskáren (-1 znamená výchozí tiskárnu). AOwner musí být objekt typu TForm (formulář). Formulář musí mít nastavenou vlastnost name, musí být vlastníkem všech objektů typu TDataset (např. TKAPBtrTable, TKAPMemTable, TKAPADOTable), které mají být v sestavě použity. Pro inicializaci tabulek je třeba použít funkci CreateA a objekty musí být po vytvoření pojmenovány. Formulář musí být také vlastníkem objektů TDatasource, které mají ve vlastnosti Dataset určenou odpovídající datovou tabulku.
Příklad F:= TForm.Create(Application); F.Name := 'MujFormular'; T:= TKAPBtrTable.CreateA(F); T.Name := 'MojeTabulka'; T.TableName := 'CISELNIK.BTR'; T.Open; ds := TDataSource.Create(F); ds.Dataset := T; QR2RunReport(F, 'MojeSestava', 1); F.Free;
Procedure QR2PdfExport(AOwner : TComponent; QR2FileName : String; PDF2FileName : String; RunPDF: Boolean; ShowSetupDialog: Boolean);
- Procedura spustí výpočet určené sestavy a výsledek uloží do určeného PDF souboru. Parametr RunPDF určuje, zda se má výsledný PDF zobrazit v prohlížeči PDF. Parametr ShowSetupDialog povoluje nebo zakazuje zobrazení dialogu s nastavením exportu před generováním PDF souboru.
Procedure QR2AddReportVariable(VariableName: string; Value : string);
- Procedura QR2AddReportVariable nastaví hodnotu proměnné s určeným jménem proměnné. Zjistit hodnotu proměnné lze zjistit v QR2 sestavě pomocí funkce VAR('Jménoproměnné')
Procedure QR2ClearReportVariables;
- Procedura QR2ClearReportVariables vynuluje seznam proměnných přidaných pomocí funkce QR2AddReportVariable