Příklady použití scriptovacích funkcí |
Top Previous Next |
Seznam témat: SETSTRPROP Funkce SETSTRPROP - Nastavení hodnoty řetězcové vlastnosti elementu Samozřejmě je potřeba příslušně pojmenovat elementy (vlastnosti elementu - volby).
Příklad 1: záměna položek z databáze dle zadání parametrů:
IF (typZH=1) SETSTRPROP('SelZHD','datafield','zh_dan_plan') ... nastavení (zamění) databázové položky SETSTRPROP('ZHD1','Expression','sum(karty.zh_dan_plan)')... nastavení (zamění) výrazu ve vypočteném elementu v součt. řádku ELSE SETSTRPROP('SelZHD','datafield','zh_dan') SETSTRPROP('ZHD1','Expression','sum(karty.zh_dan)') ENDIF
Příklad 2: Nastavení třídění dle zadaných parametrů:
IF (var_sort=0) SETSTRPROP('oblast_trideni','Expression','konto') ... sdružování dle databázové položky "konto"
SETSTRPROP('db_pol','datafield','konto') ... nastavení (zamění) databázové položky SETSTRPROP('cap_tr','Caption','Konto:') ... nastavení pevného textu SETSQLCLAUSE('KARTY', 'Order by', '1,3') ... nastavení klauzuli v SQL dotazu typu select v datovém zdroji "KARTY" ENDIF IF (var_sort=1) SETSTRPROP(('oblast_trideni','Expression','oskup_ozn') SETSTRPROP('db_pol','datafield','oskup_ozn') SETSTRPROP('cap_tr','Caption','Odpisová skupina:') SETSQLCLAUSE('KARTY', 'Order by', '2,3') ENDIF
Funkce v prvím případě (proměnná var_sort=0) nastaví seskupování dlem položky KONTO, nastavíse též pojmenování a a zajistí se tisk položky. Ve druhém případě (var_sort = 1) se vše přenastaví dle položky oskup_ozn.
ADDSQLCLAUSE Funkce ADDSQLCLAUSE přidá zadaný dodatek ke klauzuli v SQL dotazu typu SELECT Příklad 3: Rozšíření omezení ve WHERE v datovém zdroji "karty"
ADDSQLCLAUSE('karty','where',' and (co = 'K')')
Původní dotaz: SELECT * FROM dba.tab WHERE rok = 2014 ORDER BY 1,3 Rozšířený dotaz: SELECT * FROM dba.tab WHERE rok = 2014 and (co = 'K') ORDER BY 1,3
DIALOGINIT, DIALOGADDITEM, DIALOGSHOW DIALOGINIT(<title>) - založí editační dialogové okno se zadaným titulkem. DIALOGADDITEM(<type>, <varname>, <title>[, <params>]) - v dialogovém okně vytvoří editační prvek. Přípustné typy jsou TEXT,INT,FLOAT,DATE,BOOL,LOOKUP,COMBO. Parametr <varname> určuje proměnnou udržující hodnotu pole. Parametr <params> má specifický význam pro prvky typu LOOKUP a COMBO (viz příklad). DIALOGSHOW() - zobrazí dialogové okno a vrátí TRUE nebo FALSE pokud uživatel okno potvrdí resp. stornuje. Příklad 4: V jednom formuláři výběr období a dotaz na třídění:
SET DlgIsValid=FALSE LOOP DIALOGINIT('Parametry sestavy') DIALOGADDITEM('LOOKUP', 'varobd', 'Vyberte období','id_dat1; select id_dat1, nazev from dba.gobdobi order by id_dat1 desc') DIALOGADDITEM('COMBO', 'vartr', 'Zvolte třídění', 'Podle firmy, Podle času;0')
IF (DIALOGSHOW=FALSE) RETURN(FALSE) //stornuje generování sestavy EXIT ENDIF
SET DlgIsValid=YESNOBOX('Použít tyto parametry pro tisk?') SET varobd = getvar('varobd') SET vartr = getvar('vartr')
IF (varobd = '') OKBOX('Chybí parametr "období"') SET DlgIsValid=FALSE ENDIF IF (vartr = '') OKBOX('Chybí parametr "způsob třídění"') SET DlgIsValid=FALSE
IF (DlgIsValid=TRUE) BREAKLOOP ENDIF ENDLOOP
GETREPORTFILENAME Funkce vrací jméno aktuálně generované sestavy
Příklad 5: V patě sestavy info o sestavě:
Návrh elementu sestvy
Výsledek
REFORMATDATE Příklad 6: Změna formátu proměné typu datum:
SET var_zprac = REFORMATDATE(GETVAR('vardat'), 'YYYY-MM-DD')
Související témata Nastavení výšky oblasti, dotaz přímo ze sestavy - SETINTPROP, QUERY Jak obarvit položku podle její hodnoty |