常用的事件函数
注意:
1、(False \ True \ None) 等关键字必须是首字母大写,正确写法会自动亮橙黄色。
2、换行缩进,必须是用 Tab 键缩进 或 敲 4个空格 代表缩进。
0、获取当前表单,单据头FID与明细行ID
this.View.Model.DataObject["Id"]#获取当前单据头FID
this.View.Model.GetEntryPKValue("FSaleOrderEntry", 0); #获取明细行ID,"FSaleOrderEntry" 为单据明细标识+“0”即行下标,一般需配合使用循环。
1、按钮被点击
def ButtonClick(e):
#注意:默认 e.Key 是大写,需将我们的按钮标识转换为大写,或者lower 统一转换为小写 e.Key.lower()
if e.Key.ToUpperInvariant() == "按钮标识".ToUpperInvariant(): #将 我们的按钮标识 转换为大写
this.View.ShowMessage("插入表单上的按钮被点击事件")
return
2、菜单栏的菜单按钮被点击
def BarItemClick(e):
if e.BarItemKey == "按钮标识":
this.View.ShowMessage("菜单栏的菜单按钮被点击")
return
3、单据体--菜单按钮--点击事件
def EntryBarItemClick(e):
if e.BarItemKey == "单据体菜单按钮标识":
this.View.ShowMessage("单据体菜单按钮点击事件")
return
4、工具栏按钮点击事件
def ToolBarItemClick(e):
if e.BarItemKey == "按钮标识":
this.View.ShowMessage("工具栏按钮点击事件")
return
5、字段的数据发生改变
def DataChanged(e):
if e.Key == "要监控的字段标识":
this.View.ShowMessage("要监控的字段数据发生改变")
return
6、初始化加载单据时
def OnLoad(e):
this.View.ShowMessage("打开单据,载入单据时")
return
7、单据体--明细行--双击--事件
def EntityRowDoubleClick(e):
this.View.ShowMessage("单据体明细行,双击事件"));
8、单据体--明细行-单击事件
def EntityRowClick(e):
if e.Row == 0:
this.View.ShowMessage("单据体明细行,单击事件");
return
9、动态列表选择(F8选择功能)
def BeforeF7Select(e):
this.View.ShowMessage("动态列表选择");
return
10、保存成功
def AfterSave(e):
this.View.ShowMessage("保存成功");
return
11、保存前
def BeforeSave(e):
this.View.ShowMessage("保存前");
return
12、焦点触发事件
def EntryCellFocued(e):
if e.NewFieldKey.ToUpper() <> "":
this.View.ShowMessage("焦点触发事件");
return
#在参数e里可以获取到新行NewRow,新列NewFieldKey,旧行OldRow,旧列OldFieldKey,这四个值!
13、服务操作插件
def EndOperationTransaction(e):
# 保存8 提交9 审核1 反审核26
if this.FormOperation.OperationId == 8:
for dataEntity in e.DataEntitys:#遍历数据包
FText = dataEntity["字段标识"];#获取数据
raise Exception("提示:xxxxx!Python主动抛异常方法");