金蝶 k3 BOS开发百问百答 :
http://www.docin.com/p-509465103.html
vb6.0工业单据 增加工具栏按钮:
Private Sub m_BillTransfer_LoadBillEnd(ByVal ShowType As Long)
With m_BillTransfer.BillForm.tlbTool.Buttons
.Add .Count + 1, "BtnIn", "引入数据", , 21
End With
iRow = 0
iCol = 0
End Sub
Private Sub m_BillTransfer_RetEvents(ByVal Para As KFO.IDictionary)
'TODO: 请在此处添加代码响应事件 RetEvents
On Error GoTo ErrHandle
If Para("EventID") = "Bill_ButtonClick" And Para("EventIDProp") = 1 Then
If Para("Para")("Button").Key = "BtnIn" Then
‘触发内容
End If
End If
Exit Sub
ErrHandle:
'MsgBox Err.Description, vbInformation, "金蝶提示"
End Sub
工业单据:装载数据之后触发事件(下推生成单据或者修改单据)
Private Sub m_BillTransfer_EndBillFormActive()
end sub
工业单据如何获取字段的顺序号
'**********************************
'返回单据字段顺序(isEntry True是表体)
'**********************************
Public Function GetCtlIndexByFld(ByVal fldName As String, Optional ByVal isEntry As Boolean = False) As Long
Dim ctlIdx As Long
Dim i As Integer
Dim isFind As Boolean
Dim vValue As Variant
fldName = UCase(fldName)
isFind = False
With m_BillTransfer
If isEntry Then
For i = LBound(.EntryCtl) To UBound(.EntryCtl)
If UCase(.EntryCtl(i).FieldName) = fldName Then
ctlIdx = .EntryCtl(i).FCtlOrder
isFind = True
Exit For
End If
Next i
Else
For i = LBound(.HeadCtl) To UBound(.HeadCtl)
If UCase(.HeadCtl(i).FieldName) = fldName Then
ctlIdx = .HeadCtl(i).FCtlIndex
isFind = True
Exit For
End If
Next i
End If
End With
If isFind = True Then
GetCtlIndexByFld = ctlIdx
Else
GetCtlIndexByFld = 0
End If
End Function
新单开发 装载数据事件(下推单据后装载分录数据过程中触发事件):
Private Sub m_BillInterface_AfterFillRow(ByVal lRow As Long, ByVal dctPage As KFO.IDictionary, ByVal dctEntryData As KFO.IDictionary, ByVal dctLink As KFO.IDictionary) end sub