Skriptovací jazyk - tvorba sestav: Porovnání verzí

Z K.A.P.
Skočit na navigaciSkočit na vyhledávání
Řá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