import clr
clr.AddReference('System')
clr.AddReference('System.Data')
clr.AddReference('Kingdee.BOS')
clr.AddReference('Kingdee.BOS.DataEntity')
clr.AddReference('Kingdee.BOS.Core')
clr.AddReference('Kingdee.BOS.App')
clr.AddReference('Kingdee.BOS.App.Core')
clr.AddReference('Kingdee.BOS.ServiceHelper')
from Kingdee.BOS import *
from Kingdee.BOS.Core import *
from Kingdee.BOS.Core.DependencyRules import *
from Kingdee.BOS.Core.Bill import *
from Kingdee.BOS.Core.DynamicForm.PlugIn import *
from Kingdee.BOS.Core.DynamicForm.PlugIn.ControlModel import *
from System import *
from System.Data import *
from Kingdee.BOS.App.Data import *
from System.Collections.Generic import List
from Kingdee.BOS.ServiceHelper import *
from Kingdee.BOS.Core.DynamicForm import *
from Kingdee.BOS.Core.Metadata.EntityElement import *
from Kingdee.BOS.Core.Metadata.FieldElement import *
from Kingdee.BOS.Orm.DataEntity import *

def AfterCreateModelData(e):
    billObj = this.Model.DataObject
    this.View.Model.SetValue("FDate", "2022-7-1")

def AfterBindData(e):
    this.View.GetControl("FDate").Enabled = False

def BarItemClick(e):
    key = e.BarItemKey.ToUpperInvariant()
    if key == "TESTBTN1".ToUpperInvariant():
        this.View.ShowMessage("菜单点击")

def ButtonClick(e):
    BtnKey = e.Key.ToUpperInvariant()
    if BtnKey == "F_ora_LINK".ToUpperInvariant():
        this.View.ShowMessage("按钮点击")

def EntityRowDoubleClick(e):
    entityKey = e.Key.ToUpperInvariant()
    row = e.Row
    fldKey = e.ColKey.ToUpperInvariant()

def EntityRowClick(e):
    entityKey = e.Key.ToUpperInvariant()
    row = e.Row

def AfterDeleteRow(e):
    entityKey = e.EntityKey.ToUpperInvariant()
    row = e.Row
    deletRowObj = e.DataEntity

def DataChanged(e):
    fldKey = e.Field.Key.ToUpperInvariant()
    if fldKey == "ABC":
        row = e.Row
        oldValue = e.OldValue
        newValue = e.NewValue

def BeforeF7Select(e):
    fldKey = e.FieldKey.ToUpperInvariant()
    if fldKey == "FMATERIALID":
        supObj = this.View.Model.GetValue("FSupplierId")
        if supObj == None:
            this.View.ShowWarnningMessage("请先选择供应商")
            e.Cancel = True
            return
        e.ListFilterParameter.Filter = "'VEN00001'"

def BeforeDoOperation(e):
    opCode = e.Operation.FormOperation.Operation.ToUpperInvariant()
    if opCode == "SAVE":
        e.Cancel = True
        this.View.ShowWarnningMessage("取消保存")

def AfterDoOperation(e):
    opCode = e.Operation.Operation.ToUpperInvariant()
    this.View.ShowMessage(str(opCode))
