'当单据头触发点击事件时,显示 ClassTypeID=200000005 的单据,并返回选中的单据信息
Private Sub m_BillInterface_HeadCtlClick(ByVal ctl As Object, ByVal dctHead As KFO.IDictionary)
Dim oDataSrv As Object
Dim objLookup As Object
Dim dFilter As KFO.Dictionary
Dim lClassTypeID As Long
Dim vctRows As KFO.Vector
Dim dctRow As KFO.Dictionary
Dim i As Long
On Error GoTo Catch
lClassTypeID = 200000005
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,2,"
dFilter("FilterString") = ""
objLookup.ClassTypeID = oDataSrv.ClassTypeID
oDataSrv.Filter = dFilter
Set objLookup.DataSrv = oDataSrv
objLookup.Lookup
'获取选中的单据信息
Set vctRows = objLookup.VectReturn
For i = 1 To vctRows.Size
Set dctRow = vctRows.Item(i)
'获取单据头FID
MsgBox (dctRow.Value("FID"))
Next i
Catch:
MsgBox (Err.Description)
ExitSub:
Set oDataSrv = Nothing
Set objLookup = Nothing
Set dFilter = Nothing
End Sub
备注:该方法打开的弹出框与F7事件类似但有所不同。有F7事件代码的大侠欢迎留言。