二开-k3调用用户c#开发的功能

栏目:k3wise知识作者:金蝶来源:金蝶云社区发布:2024-09-16浏览:1

二开-k3调用用户c#开发的功能

参考文档https://wenku.my7c.com/link/s/lH2bu

先给K3添加一个住控台链接

适用版本Wise15.0. Wise15.1

image.webp

image.webp

创建一个vb工程userdllloader.

创建一个类Application,名称与插入的脚本中的fclassname匹配;

image.webp引用kingdee k3base bridge interface 1.0组件;并再类中写下如上图代码;


subid请返回super,2开自己开发的功能不需要检查站点数;

callfunc中:

ffuncid是插入脚本中的fdetailfuncid;

K3ApsCshapProxy.proxyFactory对象是k3已存在的加载c#工程的代理;使用的是.net framework 2.0,因此要用k3已存在的代理对象,2开的工程必须是net framework 2.0开发的;否则无法加载;


Set dotNetDllProxy = CreateObject("K3ApsCshapProxy.ProxyFactory")            

If dotNetDllProxy Is Nothing Then                

Exit Sub            

End If            

dotNetDllProxy.AsmDllName = App.Path & "\UserCSharpPro.dll"  '组件所在的物理地址,把c#编译的组件放到k3erp目录下

dotNetDllProxy.AsmClassName = "UserCSharpPro.Class1"     ‘工程名.类名’       

dotNetDllProxy.LoadClass            

dotNetDllProxy.CallMothed "Show", Nothing     

'Show为class1中的一个public方法,show没有传参时,callmothed的第2个参数填nothing


建立一个C#工程UserCshapPro.dll;创建一个类Class1;(和与vb代码中的匹配)

image.webp


工程引用k3erp目录下的2个组件:

image.webp

kingdee.k3.aps.consolebse.dll,kingdee.k3.aps.dataaccess.dll;

class1必须继承iwiseconsole接口,sysnumber返回super;

如何和k3数据交互:

image.webp

比如我在form1窗体的按钮下查询当前账套物料数量

image.webp

accessfromcom是kingdee.k3.aps.dataaccess.dll类,用来和数据库交互;

可以用它的updateexecute方法执行更新、插入脚本;


完。

二开-k3调用用户c#开发的功能

参考文档https://wenku.my7c.com/link/s/lH2bu 先给K3添加一个住控台链接适用版本Wise15.0. Wise15.1创建一个vb工程userdllloader.创建一...
点击下载文档
分享:
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息