打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
在金蝶老单据序时簿上进行二次开发(主要是增加按钮这类的操作)

1.接口及参数说明
MainFunction(ByVal sKey As string,oList AsObject,Byref bCancel as Boolean)
sKey : 菜单的Key值,也就是菜单名
oList : K3List控件
bCancel:是否取消后继操作标志
2.使用方法
序时薄的二次开发是通过菜单挂接组件来实现的。对于使用者需要按照以下步骤进行:

1).在t_BandToolMapping中的FcomName填入需要调用组件的名称,注意:不要覆盖原有内容,要在原有内容上用“| ”分割后加入自己的组件,可以加多个组件。第一个插件前一定要加“|”,因为之前的部分是记录了其他信息。

2).二次开发组件必须实现MainFunction(ByVal sKey As string,oList AsObject,Byref bCancel as Boolean)方法。要终止事件,请将bCancel设置为true。

3).oList为一个即是ICList,可以使用其中的任何Public方法。
比方说 GetSelData 为取得选取的对象
3.使用范例
例如外购入库需要对"back"MENU做二次开发,则增加应该为

Update a set a.FComName=a.FComName+Case When Right(a.FComName,1)='|' then 'K3GMSPTransBill.GMSPTransList|' else '|K3GMSPTransBill.GMSPTransList|' end
from t_BandToolMapping a left join t_MenuToolBar b on a.FToolID = b.FToolID
where FName = 'Back' and FComName not like '%K3GMSPTransBill.GMSPTransList%' and a.FID=82
(FID取iclisttemplate.fmenuID)

然后在组件K3GMSPTransBill.GMSPTransList中实现Public的MainFunction方法
下面是序时簿插件的示例

插件示例:

Public Function MainFunction(ByVal sKey As String, oList As Object, ByRef bCancel As Boolean)
Dim vectBill As KFO.Vector
Dim lmul As Long
' Dim rs As ADODB.Recordset
Dim InBatch As Form
Set InBatch = New InBatch

Set OBJ = CreateObject("K3Connection.AppConnection")

'菜单响应
Select Case sKey
Case "FMenuPC" '和你在数据库里插入的FNAME一样

'通过Set vectBill = oList.GetSelected 可以获取当前选中序时薄数据

'返回记录集方式
'Set rs = obj.Execute("select * from t_icitem")

'执行存储过程方式
' obj.Execute3 ("exec KY_PlanQty")


End Select
End Function

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
工业单据叙事簿 添加菜单和现实在工具栏上VB插件
金蝶VB插件开发,单据不满足条件,拒绝保存
VB中使MsFlexGrid和MSHFlexGrid控件支持鼠标滚动操作
Excel中响应键盘事件(VBA)
ecshop二次开发
SolidWorks二次开发C#
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服