Uživatelské nástroje

Nástroje pro tento web


lua:eventy

Rozdíly

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

Odkaz na výstup diff

Obě strany předchozí revizePředchozí verze
Následující verze
Předchozí verze
lua:eventy [2011/02/21 14:05] Karel Petrůlua:eventy [2022/06/13 13:38] (aktuální) – [AfterPasteClipboard] Karel Petrů
Řádek 45: Řádek 45:
   * [[#UserDefined]]   * [[#UserDefined]]
   * [[#ShowLookupField]]   * [[#ShowLookupField]]
 +  * [[#AfterPasteClipboard]]
 +  * [[#AfterCopyDetails]]
  
 ===== Popis ===== ===== Popis =====
Řádek 217: Řádek 219:
 ==== ChangeFieldValue ==== ==== ChangeFieldValue ====
  
-Event se zavola pri opusteni dane bunky nebo pri ENTERu, NEZALEZI na tom zda se hodnota skutecne zmenila nebo ne, ale na tom, ze v ni uzivatel neco editoval+Event se zavola pri opusteni dane bunky nebo pri ENTERu v případěže došlo ke změně zadaného fieldu
-Databáze je v editu nebo insertu. Hodnota OldFieldByName obsahuje to co bylo v bunce pred Editem radku. Event se vola i hned po SetFieldByName a take napr. pokud se pres ... otevre lookup tabulka a potvrdi STEJNA hodnota zelenou fajfkou.+Databáze je v editu nebo insertu.
  
 <code LUA> <code LUA>
Řádek 257: Řádek 259:
 </code> </code>
 === Barva fontů === === Barva fontů ===
 +
 +    * viz. Colors.Show() resp. v LuaConsole menu
  
 {{:lua:ukazka_barev_fontu.png|Ukázka barev fontů}} {{:lua:ukazka_barev_fontu.png|Ukázka barev fontů}}
Řádek 364: Řádek 368:
 end end
  
 +</code>
 +
 +==== AfterPasteClipboard ====
 +
 +Volá se na konci kopírovaní CTRL+V, záznam je postnutý. Pokud se kopíruje více záznamů volá se jen jednou na konci, DSI na je posledním kopírovaném.
 +
 +<code LUA>
 +ClientSession:AddLUAEvent("rozpocty.rozpocty_rozpocty.AfterPasteClipboard", "rozpocty_rozpocty.AfterPasteClipboard")
 +function rozpocty_rozpocty.AfterPasteClipboard(DSI)
 +  if DSI:OwnerMiddleDB():FindDataSetItem("rozpocty_rkap"):GetState()==STATE_BROWSE then
 +    DSI:OwnerMiddleDB():FindDataSetItem("rozpocty_rkap"):Refresh() --refresh kap. aby se doplnily OnCalc fiedly, ktere se pri kopirovani nepocitaji
 +  end
 +end
 +</code>
 +
 +==== AfterCopyDetails ====
 +
 +Volá se po zkopírovaní všech slave tabulek, pro každý jednotlivý RootDSI záznam, RootDSI je postnuté.
 +
 +<code LUA>
 +ClientSession:AddLUAEvent("ROZPOCTY.rozpocty_rozpocty.AfterCopyDetails","rozpocty_rozpocty.AfterCopyDetails")
 +function rozpocty_rozpocty.AfterCopyDetails(DSI)
 +  print("AfterCopyDetails",  DSI:FieldByName("IDRozp"), DSI:GetState())
 +end
 </code> </code>
  
Řádek 394: Řádek 422:
  
 ==== BeforeActivate ==== ==== BeforeActivate ====
 +
 + * není žádný parametr funkce
  
 ==== AfterActivate ==== ==== AfterActivate ====
Řádek 461: Řádek 491:
 Volá se při zavření okna. Vrati-li funkce false, okno nebude zavřeno. Volá se při zavření okna. Vrati-li funkce false, okno nebude zavřeno.
  
-Volání: function_name(Form, DSI)+Volání: function_name(Form, DSI, Button)
  
 +Button = [MR_OK|MR_CANCEL]
 +
 +==== CanShow ====
 +
 +  * ClientSession:AddLUAEvent("form_name.CanShow", FuncName)
 +  * FuncName(Form, DSI) return ErrMsg:string|nil
 +
 +<code LUA>
 +ClientSession:AddLUAEvent("partneri_partneri.CanShow", "partneri_partneri.CanShow")
 +function partneri_partneri.CanShow(Form, DSI)
 +  Form:MergeLocalMenuFromXML(Form:GetMiddleDB():FindDataSetItem(""), partneri_partneri.GetRychleAkceXMLMenu("partneri_partneri_RychleAkceClick", "RychleAkce"))
 +end
 +
 +ClientSession:AddLUAEvent("SKUPINY.CanShow", "common_skupiny.SkupinyCanShow")
 +function common_skupiny.SkupinyCanShow(Form, DSI)
 +  if not ClientSession:IsLoggedAdmin() then
 +    return enc"K tomuto modulu má přístup pouze administrátor"
 +  end
 +end
 +</code>
 ===== Ukazka spousteni registrovanych eventu v LUA ===== ===== Ukazka spousteni registrovanych eventu v LUA =====
  
lua/eventy.1298297151.txt.gz · Poslední úprava: 2011/02/21 14:05 autor: Karel Petrů