===== Parametry předávané LUA funkcím z OBISu =====
==== Lokalni menu @ ====
main(DSI, Form)
Ukázka:
==== 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 ====
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 ====
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 ====
return Params.FieldName
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 v navigátoru function(Tree)
např: return common_navigators.RebuildPopisTreeFromTable(Tree, "sklad_karty")