二次开发实现的步骤:
第一步、新建组件工程(假设工程名为ReDevPro,包含一个类名为
第二步、在clsReDev类代码中声明
第三步、必须添加以下代码否则系统不能够传递事件到你的组件中
第四步、在m_BillTransfer的各事件中编写相应处理代码。例如
二次开发实现的步骤—续:
第五步、编写完成以后编译你的工程
第六步、注册二次开发组件使单据调用时能触发
FTypeID:二次开发插件类型,0为客户端插件;2为中间层插件
FTypeDetailID:单据类型ID,客户端表示对应表ICTransactionType的
FIndex:组件调用顺序,按FTypeDetailID排取一个值
FComponentName:客户端二次开发组件,如PrjDemo.clsDemo
FComponentSrv:中间层保存二次开发组件名称
FDescription:描述
举几个二次开发的例子
范例一
在菜单中添加一个菜单,并实现该功能
Private Sub m_BillTransfer _BillInitialize()
End Sub
Private Sub m_billtranty_UserMenuClick(ByVal Index As Long, ByVal Caption As String)
If Caption = "ddd" Then
'
End If
End Sub
范例二
改变单据头的Filter 属性值,在插件中看到已经改变,
为什么没有传到k3bills中去,用以下代码即可实现
Private Sub m_BillTransfer_BeforHeadLookUp(ByVal CtlIndex As Long, ByVal nLookUpClsID As Long, Cancel As Boolean)
End Sub
范例三
在插件中改变辅助属性的值为什么不起作用,插件中对表体的赋值有的不能按照m_BillTransfer.SetGridText的形式修改,一定要调用m_BillTransfer.BillForm.SetBillDataInput方式才可以真正修改
'SetBillDataInput 辅助属性包,字段名,单据体(0:单据头;1:单据体),行号
范例四
在插件中填界面字段的三值
Private Const OperNo = 22
On Error GoTo HErr
HErr:
End Sub
二次开发中间层接口
Public Function HookInvoke(ByVal EventID As Long, dctParams As KFO.Dictionary) As Long
返回值1为正常,返回值0为失败,可以向上抛出异常和提示信息