import clr
clr.AddReference('System')
clr.AddReference('System.Data')
clr.AddReference('Kingdee.BOS')
clr.AddReference('Kingdee.BOS.Core')
clr.AddReference('Kingdee.BOS.App')
clr.AddReference('Kingdee.BOS.ServiceHelper')
from Kingdee.BOS import *
from Kingdee.BOS.Core import *
from Kingdee.BOS.Core.Bill import *
from Kingdee.BOS.Core.DynamicForm.PlugIn import *
from Kingdee.BOS.Core.DynamicForm.PlugIn.ControlModel import *
from Kingdee.BOS.Core.List import*
from Kingdee.BOS.Core.List.PlugIn import *
from Kingdee.BOS.Core.SqlBuilder import *
from Kingdee.BOS.Core.Metadata 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 *

def PrepareFilterParameter(e):
    custfilterObj = e.CustomFilter
    filterStr = e.FilterString

def BarItemClick(e):
    key = e.BarItemKey.ToUpperInvariant()
    if key == "TestBtn".ToUpperInvariant():
        return

def AfterBarItemClick(e):
    key = e.BarItemKey.ToUpperInvariant()
    if key != "TestBtn".ToUpperInvariant():
        return
    selectedRowsInfo = this.ListView.SelectedRowsInfo
    billIDs = selectedRowsInfo.GetPrimaryKeyValues()
    datas = this.ListModel.GetData(selectedRowsInfo)
    if datas.Count <= 0:
        this.View.ShowWarnningMessage("未选择任何行！")
        return
    for row in datas:
        billNo = row["FBILLNO"]

def ListRowDoubleClick(e):
    row = e.Row
    colKey = e.ColKey

def OnFormatRowConditions(args):
    if args.DataRow.ColumnContains("FMaterialId_Ref"):
        fc = FormatCondition()
        fc.ForeColor = "#FFFF9B98"
        args.FormatConditions.Add(fc)

def BeforeDoOperation(e):
    opCode = e.Operation.FormOperation.Operation.ToUpperInvariant()
    if opCode == "DELETE":
        e.Cancel = True
        this.View.ShowWarnningMessage("取消删除")

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