Toto je starší verze dokumentu!
−Obsah
Parametry předávané LUA funkcím z OBISu
Lokalni menu @
main(DSI, Form)
Ukázka:
<MenuItem Name="test"> <Caption>test</Caption> <CmdString>@ dofile(VLUADIR().."file.lua") funkce(DSI, Form) </CmdString> <ImageIndex>43</ImageIndex> </MenuItem>
V reportu @
main(DSI, Params, Report) return variant
Params je hash
V případě speciálního bandu config_output DSI=nil a Params=nil.
Trigger <lua>
main() return string
LUA v seznamu tisku @
@psat do Typu reportu, ne do report file
main (DSI, Form, Action, ReportDir, ReportName, Use)
- Action - 1=PRINT_PREVIEW, 2=PRINT_PRINT
- ReportName - absolutni cesta k reportu
- Use - 0=(WR_USE_SELECTED) tisknout oznacena 1=(WR_USE_ALL) vsechna
Filtr SQL <lua>
main (DSI, Form) return string
Importovaci pravidla @
main(Params, DSI) return variant Params je hash {"Sloupec 0"=hodnota, …}
External Insert funkce
registruje se pomoci ShowFormSP ShowParam={ExternalInsertLua="jmeno.funkce"} vola se: funkce(Form, DSI)
XMLQuestionForm
<lua>return Params.FieldName </lua> xmlquestionform_main(Params)
Rozpocty (Nakl.)Rekapitulace
Typ L a do fieldu Druhy se pise rovnou Lua main(PDSI, KDSI) - Polozky a Kapitoly; vraci kolik se ma pricist k zakladu
pise se to bez '@', rovnou return, napr.;
return v_rozpocty_rekap.RekapitulcniPolozkaL(PDSI, KDSI)
–fce pro vypocet - do zakladu secte cenu od polozek z kapitoly typu = 'mm' a polozek s mj = 'kg' nebo mj = 'm' function v_rozpocty_rekap.RekapitulcniPolozkaL(PDSI, KDSI)
local typ = KDSI:FieldByName("typ") local mj = PDSI:FieldByName("mj") local cena = 0 if typ == "mm" and (mj=="KG" or mj=="kg" or mj=="Kg" or mj=="M" or mj=="m") then cena = PDSI:FieldByName("cena") * PDSI:FieldByName("mnozstvi") end return cena -- nebo return {cena=cena, zaklad=cena} pro nakl.rekapitulaci
end
v rekapitulaci může být vrácen i hash s parametry 'cena' a 'dph' v nákladové rekapitulaci může být vrácen i hash s parametry 'cena' a 'zaklad'
Eventy
Jsou uvedeny v samostatném oddíle Eventy