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)

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

Tag <Lua> v navigátoru function(Tree)

např: return common_navigators.RebuildPopisTreeFromTable(Tree, "sklad_karty")