Uživatelské nástroje

Nástroje pro tento web


lua:lua_dialogy

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Následující verze
Předchozí verze
lua:lua_dialogy [2007/01/04 10:30] Libor Kadaníklua:lua_dialogy [2011/08/03 13:16] (aktuální) – [Přehled možností] pavel
Řádek 1: Řádek 1:
 ===== Lua dialogy ===== ===== Lua dialogy =====
  
-==== Přehled možností == 
  
-<code> 
-  local res = dlg.create(Caption="Test dialog", Encoding="ISO-8859-2", 
-  Items= 
-    "label1", "label", "Nápis", 
-    "edit1", "edit", "editační pole", "", "default val", 
-    "lookup1", "lookup", "lookup pole", "partneri_partneri:firma", "default val", 
-    "lualookup1", "lualookup", "lualookup pole", "return cf.ShowMsg('LuaLookup pole')", 
-    "combo1", "combo", "combo pole", "zobraz1=vrat1|zobraz2=vrat2", 
-    "checkbox1", "checkbox", "checkbox pole", "", "1", 
-    "calendar1", "calendar", "kalendář pole", "To", "1.1.2005", 
-    "calbetween1", "calbetween", "datum od|datum do","From|To","1.1.2005|31.12.2005", 
-    "calc1", "calc", "kalkulačka pole", "1.1.2005,EUR", "", "1000", 
-    "dir", "dirdialog", "Výběr adresáře", "", "default dir", 
-    "file", "filedialog", "Výběr souboru", "Filter EXE|*.exe|Filter DLL|*.dll", "default file" 
-  , 
-  Buttons= 
-    "show", "Ukaž výsledek", 18, 
-    "cancel", "Storno", 19 
  
-  )+ 
 + 
 +==== Přehled možností == 
 + 
 +<code lua> 
 +  local res = dlg.create({Caption="Test dialog", Encoding=encoding, 
 +  Items={ 
 +    {"label1", "label", "Nápis", nil, nil, "return Sender..' changed, value: '..cf.tostring(Params[Sender])"}, 
 +    {"edit1", "edit", "editační pole", "", "default val"}, 
 +    {"memo1", "memo", "memo pole", "", "default memo val"}, 
 +    {"edit_integer", "edit", "integer editační pole", "integer", "1,123"}, 
 +    {"edit_float", "edit", "float editační pole", "float", 1.123}, 
 +    {"edit_currency", "edit", "currency editační pole - zaokrouhluje default hodnotu", "currency", "1.123"}, 
 +    {"lookup1", "lookup", "lookup pole", "partneri_partneri:firma", "default val"}, 
 +    {"lualookup1", "lualookup", "lualookup pole", "return cf.ShowMsg('LuaLookup pole')", "default val"}, 
 +    {"combo1", "combo", "combo pole", "tohlesezobrazuje1=tohlesevraci1|tohlesezobrazuje2=tohlevraci2"}, 
 +    {"list1", "listbox", "listbox pole", "tohlesezobrazuje1=tohlesevraci1|tohlesezobrazuje2=tohlevraci2"}, 
 +    {"checkbox1", "checkbox", "checkbox pole", "", "1"}, 
 +    {"calendartime1", "calendartime", "kalendář time", "", os.time()}, 
 +    {"calbetweentime1", "calbetweentime", "datum od time|datum do time","From|To", {os.time(), os.time()+24*3600}}, 
 +    {"calc1", "calc", "kalkulačka pole", "1.1.2005,EUR", "1000"}, 
 +    {"dirdialog1", "dirdialog", "Výběr adresáře", "", "default dir"}, 
 +    {"filedialog1", "filedialog", "Výběr souboru", "Filter EXE|*.exe|Filter DLL|*.dll", "default file"
 +  }, 
 +  Buttons={ 
 +    {"show", "Ukaž výsledek", 18}, 
 +    {DLG_CANCEL, "Storno", 19} 
 +  } 
 +  })
 </code> </code>
  
-{{dialog.png|}}+{{:lua:dialog.png|}} 
 + 
 + 
 +==== Správná práce s datumy ==== 
 + 
 +[[lua:datetime|Odkaz]]
  
  
Řádek 33: Řádek 47:
  
  
-<code>+<code lua>
 <lua>        <lua>       
-  local res = dlg.create(Caption="Výběr", Encoding="windows-1250"+  local res = dlg.create(Caption="Výběr", Encoding=encoding
-  Items="datum", "calbetween", "datum od|datum do","From|To",    +  Items="datum", "calbetweentime", "datum od|datum do","From|To",    
          "znamenko", "combo", "Odběratelé/dodavatelé","Odběratelé=1|Dodavatelé=-1",          "znamenko", "combo", "Odběratelé/dodavatelé","Odběratelé=1|Dodavatelé=-1",
          "pocet", "edit", "Vypsat prvních ... (prázdno = všechny)"          "pocet", "edit", "Vypsat prvních ... (prázdno = všechny)"
Řádek 52: Řádek 66:
 LEFT JOIN partneri_partneri partneri ON partneri.idpartner = prijemky.idpartner LEFT JOIN partneri_partneri partneri ON partneri.idpartner = prijemky.idpartner
 where        where       
-  prijemky.datum between ']]..res.datumfrom..[[' and ']]..res.datumto..[[' and+  prijemky.datum between ']]..cf.FormatSQLUnixTime(res.datumfrom)..[[' and ']]..cf.FormatSQLUnixTime(res.datumto)..[[' and
   prijemky.znamenko = ']]..res.znamenko..[['   prijemky.znamenko = ']]..res.znamenko..[['
 group by prijemky.idpartner, partneri.firma group by prijemky.idpartner, partneri.firma
Řádek 61: Řádek 75:
 </code> </code>
  
- + 
 + 
 + ==== Použítí "lualookup" pole  ==== 
 + 
 +Příklad použití "lualookup" pole pro výběr hodnot z navázané tabulky. 
 +Tento p říklad se používá při tisku obratové předvahy v deníku. 
 + 
 +<code lua> 
 +--zobrazeni osnovy pro vyber uctu. 
 +--osnova se zobrazuje pres lualookup z dialogu 
 +--vraci oznacene ucty jako string oddeleny strednikama 
 + 
 +--Params je pole s hodnotama vsech fieldu v dialogu 
 +--Sender je jmeno fieldu, ktery akci vyvolal 
 +function ucto_denik.reports.SelectIDUcet(Params, Sender) 
 +  local md=ClientSession:ActivateMid("ucto_osnova"
 +  local ds=md:FindDataSetItem("ucto_osnova"
 +  local form=WindowsManager:CreateDetailMidDBForm(md) 
 +  local OutSP=WindowsManager:ShowFormSP(form, {Modal=true}) 
 +  local values=form:GetSelectedRows() 
 +  local str="" 
 +  table.foreachi( values, function(k, v) 
 +    if k ~= values.n then 
 +      str = str..v..";" 
 +    else --posledni (nedavat strednik) 
 +      str = str..v 
 +    end 
 +  end) 
 +  ClientSession:Passivate(md) 
 +  return str 
 +end 
 + 
 +-- ucto print dialog (datum OD, DO, druh, prefix, vyber uctu) 
 +function ucto_denik.reports.UctoPrintDialog() 
 +  local res = dlg.create({Caption="Zadejte rozmezí datumů, druh a prefix", Encoding=encoding, 
 +  Items={ 
 +    {"datum", "calbetween", "datum od|datum do","From|To"}, 
 +    {"iddruh", "lookup", "Prefix druhů dokladů", "ucto_udruh:iddruh" }, 
 +    {"idstred", "lookup", "Středisko", "common_stred:idstred" }, 
 +    {"iducet", "lualookup", "Vyber účty - jednotlivé účty oddělené středníkem", "return ucto_denik.reports.SelectIDUcet(Params, Sender)"
 +  }}) 
 +  return res 
 +end 
 + 
 +</code> 
lua/lua_dialogy.1167906628.txt.gz · Poslední úprava: 2007/01/25 14:59 (upraveno mimo DokuWiki)