===== Parametry předávané LUA funkcím z OBISu ===== ==== Lokalni menu @ ==== main(DSI, Form) Ukázka: test @ dofile(VLUADIR().."file.lua") funkce(DSI, Form) 43 ==== 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")