Skriptovací jazyk - tvorba sestav: Porovnání verzí
(Není zobrazeno 7 mezilehlých verzí od stejného uživatele.) | |||
Řádek 1: | Řádek 1: | ||
− | Modul pro práci se skripty podporuje vytváření sestav připravených v generátoru sestav. | + | Modul pro práci se [[Skriptovací programovací jazyk|skripty]] podporuje vytváření sestav připravených v generátoru sestav. |
− | ===Příkaz pro spuštění výpočtu sestavy | + | ===Příkaz pro spuštění výpočtu sestavy z generátoru sestav=== |
'''''Function GSRunReport(SkupinaSestav : Integer; SestavaCislo : Integer; Parametry: String): String;<br/>''''' | '''''Function GSRunReport(SkupinaSestav : Integer; SestavaCislo : Integer; Parametry: String): String;<br/>''''' | ||
:Parametry musí být zapsány takto: | :Parametry musí být zapsány takto: | ||
Řádek 21: | Řádek 21: | ||
|bgcolor=#ffdead|Příklad | |bgcolor=#ffdead|Příklad | ||
|- | |- | ||
− | | | + | |GSRunReportV(6, 2, ['DatumOd', 'DatumDo'], ['01/01/12', '01/01/12']) |
|} | |} | ||
Řádek 28: | Řádek 28: | ||
Vytvořenou sestavu je možné odeslat například pomocí funkce [[Skriptovací jazyk - odesílání mailů pomocí SMTP|SendMailBySMTP]] mailem prostřednictvím protokolu SMTP nebo pomocí objektu [[Objekt TMOSCommunicator|TMOScommunicator]] prostřednictvím MaximObjServeru. | Vytvořenou sestavu je možné odeslat například pomocí funkce [[Skriptovací jazyk - odesílání mailů pomocí SMTP|SendMailBySMTP]] mailem prostřednictvím protokolu SMTP nebo pomocí objektu [[Objekt TMOSCommunicator|TMOScommunicator]] prostřednictvím MaximObjServeru. | ||
− | Výsledkem funkce je textový řetězec obsahující buď: | + | Výsledkem funkce je textový řetězec obsahující buď:<br/> |
− | OK#13Jméno sestavy | + | '''''OK#13Jméno sestavy<br/>''''' |
− | nebo | + | nebo<br/> |
− | CHYBA#13Chyba při výpočtu | + | '''''CHYBA#13Chyba při výpočtu<br/>''''' |
− | #13 je znak CR (čili znak s kódem 13) | + | '''''#13 je znak CR (čili znak s kódem 13)<br/>''''' |
Viz příklad [[Příklady PASCAL]] | Viz příklad [[Příklady PASCAL]] | ||
+ | |||
+ | ===Příkaz pro spuštění QR2 sestavy=== | ||
+ | |||
+ | '''''Function QR2RunReport(AOwner : TComponent; QR2FileName : String; PreviewMode : integer; PrinterIndex : integer = -1): Boolean;<br/>''''' | ||
+ | :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. | ||
+ | :{|class="wikitable" border=1 width=1000 | ||
+ | |- | ||
+ | |bgcolor=#ffdead|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);<br/>''''' | ||
+ | :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);<br/>''''' | ||
+ | :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;<br/>''''' | ||
+ | :Procedura QR2ClearReportVariables vynuluje seznam proměnných přidaných pomocí funkce QR2AddReportVariable |
Aktuální verze z 18. 5. 2015, 08:46
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(SkupinaSestav : Integer; SestavaCislo : Integer; Parametry: String): 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')
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
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