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
printform_main (DSI, Form, Action, ReportDir, ReportName, Use, Name)
- Action - 0=PRINT_FILE, 1=PRINT_PREVIEW, 2=PRINT_PRINT
- ReportName - absolutni cesta k reportu
- Use - 0=(WR_USE_SELECTED) tisknout oznacena 1=(WR_USE_ALL) vsechna
- Name - jmeno reportu
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.;
LUA do DRUHU v polozce rekapitulace
return v_rozpocty_rekap.RekapitulcniPolozkaL(PDSI, KDSI)
samotna 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'
Filtry ve formregisteru.xml @
mainfilter_main(DSI, Form, Folder) a vrací buď přímo WhereString, nebo xml generovane funkcí filter.create.
V proměnné Folder je právě vybraná záložka, není-li žádná, potom nil.
Eventy
Jsou uvedeny v samostatném oddíle Eventy
Navigator
Tag <Lua> v navigátoru function(Tree)
např: return common_navigators.RebuildPopisTreeFromTable(Tree, "sklad_karty")