Příklady použití scriptovacích funkcí

Top  Previous  Next

Seznam témat:

příklady použití funkcí

Příklady

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"
                                                                         (SELECT * FROM dba.tab ORDER BY 1,3)

 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

Příprava bitmap z formulářů v PDF pro Vision ERP

Více nezávislých detailů

Příznaky sestav