'定义 BillEvent 接口. 必须具有的声明, 以此来获得事件
Private WithEvents m_BillInterface As K3ClassEvents.BillEvent
'Private WithEvents m_objListInterface As K3ClassEvents.ListEvents
Public Sub Show(ByVal objInterface As Object)
'BillEvent 接口实现
'注意: 此方法必须存在, 请勿修改
'If Not (objInterface Is Nothing) Then
'Select Case VBA.UCase$(TypeName(objInterface))
'Case “BILLEVENT”
Set m_BillInterface = objInterface
'Case “LISTEVENTS”
'Set m_objListInterface = objInterface
'Case Else
'End Select
'End If
End Sub
Private Sub Class_Terminate()
'释放接口对象
'注意: 此方法必须存在, 请勿修改
Set m_BillInterface = Nothing
'Set m_BillInterface1 = Nothing
End Sub
Private Sub m_BillInterface_BeginEdit(ByVal dct As KFO.Dictionary, ByVal col As Long, ByVal row As Long)
If dct(“Fkey”) = “FMaintainNumber” Then
m_BillInterface.MenuBar.BOSTools(“mnuDataLookUp”).Enabled = True
End If
End Sub
Private Sub m_BillInterface_MenuBarClick(ByVal BOSTool As K3ClassEvents.BOSTool, Cancel As Boolean)
Dim dct As Dictionary
Dim lClassTypeID As Long
Dim row As Long
Dim col As Long
lClassTypeID = 1002112
m_BillInterface.GetActiveField dct, col, row
If BOSTool.ToolName = “mnuDataLookUp” And dct(“Fkey”) = “FMaintainNumber” Then
showF7 lClassTypeID
End If
End Sub
Private Function showF7(ByVal lClassTypeID As Long) As Object
Dim oDataSrv As Object
Dim objLookup As Object
Set oDataSrv = m_BillInterface.K3Lib.CreateK3Object(“K3ClassTpl.DataSrv”)
oDataSrv.ClassTypeID = lClassTypeID
Set objLookup = m_BillInterface.K3Lib.CreateK3Object(“K3ClassLookUp.BillLookUp”)
Set dFilter = New KFO.Dictionary
dFilter(“HeadSort”) = “” '单据头排序条件
dFilter(“EntrySort”) = “” '单据体排序条件
dFilter(“SelectPage”) = “1,3,” '1为单据头,2为[收款计划]单据体,3为[产品明细]单据体,此处表明选单单据体为[单据头]和[产品明细]
objLookup.ClassTypeID = oDataSrv.ClassTypeID
oDataSrv.Filter = dFilter
Set objLookup.DataSrv = oDataSrv
objLookup.Show
Set oDataSrv = Nothing
Set objLookup = Nothing
Set dFilter = Nothing
End Function
作者:kywds
来源:CSDN
原文:https://blog.csdn.net/kywds/article/details/7523579
版权声明:本文为博主原创文章,转载请附上博文链接!