Skriptovací jazyk - tvorba sestav

Z K.A.P.
Verze z 18. 5. 2015, 08:46, kterou vytvořil Grepl (diskuse | příspěvky) (→‎Příkaz pro spuštění QR2 sestavy)
(rozdíl) ← Starší verze | zobrazit aktuální verzi (rozdíl) | Novější verze → (rozdíl)
Skočit na navigaciSkočit na vyhledávání

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