Skriptovací jazyk - tvorba sestav
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