K3BOS插件开发入门教程

BOS插件开发入门教程

本文主要针对初学者,介绍BOS插件开发与制作的基本流程与步骤,为入门所用。

以一个简单的插件开发需求为例:比如想在新开发的BOS单据上,增加一个自定义菜单按钮,按钮标题为“My BOS MenuBarButton”,位置放在编辑菜单下的驳回审核按钮之后,在工具栏上的退出按钮之前;当点击该自定义按钮时弹出提示框“Hello,This Is My First BOS Bill InterFace!”。针对此需求,让我们一起看看如何一步一步通过BOS插件来实现:

【第一步】:由于插件是基于VB语言开发,首先需要在装有金蝶K3的环境下安装Microsoft Visual Basic 6.0(简称VB6.0)开发工具。

附开发工具下载地址:https://www.360docs.net/doc/a318518837.html,/liangchan/1935.html

【第二步】:安装好VB6.0之后,在开始菜单中找到VB6.0的快捷方式,打开VB之后将出现以下界面(如图1):

图1

在此界面一定要选择“ActiveX DLL”,再点击“打开”按钮,然后会进入以下工作界面(如图2):

图2

注意界面右上方的“插件开发向导”按钮。

有的环境可能会出现打开VB6.0后并没有“金蝶k/3-BOS”菜单的问题,解决方法如下:找到K3安装目录下的ADDIN文件夹,将此文件夹下的两个DLL文件(K3BOSPLUGINSADDIN.dll 和K3GLParaConsolePlugin.dll),在CMD命令行中用RegSvr32命令进行注册。

例如:K3安装目录为C:\Program Files\Kingdee\K3ERP,那么在cmd中输入命令就为:regsvr32 "C:\Program Files\Kingdee\K3ERP\ADDIN\K3BOSPLUGINSADDIN.dll"

regsvr32 "C:\Program Files\Kingdee\K3ERP\ADDIN\K3GLParaConsolePlugin.dll"

回车提示注册成功之后,再重新打开VB就会出现“金蝶k/3-BOS”菜单,如果还没出现需要再重启下电脑解决。(备注:如果是WIN7环境,运行cmd.exe需要以管理员身份运行,

方可成功注册组件)

图3

【第三步】:插件向导界面操作

点击VB右上方的“插件开发向导”按钮,将会出现以下界面(如图4):

图4

在以上界面,我们可以看到有4个选项供选择,具体含义如下:

金蝶K/3-BOS 客户端插件:在金蝶K3客户端运行,针对K3客户端业务逻辑的扩展处理,仅适用于BOS新单。

比如更改单据菜单按钮外观及位置、增加自定义按钮菜单功能、单据字段数据更改、单据保存前的特殊校验、序时薄实现动态过滤、下推前的逻辑控制、审核或者驳回操作前的特殊判断等等客户端的逻辑扩展,都有可能用到客户端插件

金蝶K/3-BOS 中间层插件:在金蝶K3中间层运行,针对K3中间层业务逻辑的扩展处理,仅适用于BOS新单。

特别涉及到需要在中间层进行一些特殊业务处理,需要同BOS单据的中间层保存、删除、审核或驳回等操作的事务保持在同一事务里进行控制时,就会用到中间层插件。 金蝶K/3 工业单据客户端插件:在金蝶K3客户端运行,针对K3客户端业务逻辑的扩展处理,仅适用于K3老单。

金蝶K/3 工业单据中间层插件:在金蝶K3中间层运行,针对K3中间层业务逻辑的扩展处理,仅适用于K3老单。

案例要求是在单据上增加按钮,是对BOS单据客户端运行时的扩展处理,所以此处我们选

择“金蝶K/3-BOS 客户端插件”,点击确定后将进入以下界面(如图5):

图5

界面上有四种插件类型供我们选择,不同插件类型的说明如下:

金蝶K/3-BOS 客户端单据插件:针对BOS单据新增、修改及查看等场景下的业务逻辑的扩展处理。

金蝶K/3-BOS 客户端序时薄插件:针对BOS单据序时薄维护等场景下的业务逻辑的扩展处理。

金蝶K/3-BOS 基础资料序时薄插件:针对BOS基础资料序时薄维护场景下的业务逻辑的扩展处理

金蝶K/3-BOS 审批流插件:针对BOS单据运行审批流相关的业务逻辑的扩展处理。此处我们选择“金蝶K/3-BOS 客户端单据插件”,在单据界面上增加自定义按钮,点击“下

一步”将出现以下界面(如图6):

选择“新增菜单或工具栏”,点击“下一步”将出现以下界面(如图7):

点击“新增”按钮,出现以下界面(如图8):

图8

在弹出的菜单编辑界面,增加自定义按钮,定义按钮标题、在菜单栏及工具栏上的位置。定

义完成之后点击“确定”按钮,然后点击“下一步”,将进入以下界面(如图9):

图9

在图9界面选择你想要实现的插件接口事件,这些插件接口事件是K3系统在单据运行时的不同时机抛出来供插件开发者进行插件编码处理的。具体事件的触发时点及参数,可以参考界面右边的说明。详细的插件接口事件说明及示例,可参考BOS插件开发手册,在K3安装目录K3ERP下搜索文件:K3BOSAdd.pdf,该PDF文档即为插件开发手册。

当然在不了解这些插件接口事件的情况下,可以不用选择,直接点击“下一步”,最后再点击“完成”按钮,进入以下界面(如图10):

图10

【第四步】:编写代码

图10的界面就是我们编写插件代码的工作界面,在右上方选择不同的插件事件进行编码处理,实现特殊的业务逻辑处理。

比如案例要求实现点击自定义按钮时弹出提示框,那么我们就选择MenuBarClick事件(所有BOS单据菜单按钮单击时都会抛出给插件进行捕获处理),在此事件里根据按钮的名称捕获到自定义按钮的单击操作,然后编写代码实现单击操作的功能。那么此功能的插件代码编写应该如下:

Private Sub m_BillInterface_MenuBarClick(ByVal BOSTool As K3ClassEvents.BOSTool, Cancel As Boolean)

Select Case BOSTool.ToolName

Case "Test"

'此处添加处理Test 菜单对象的Click 事件

MsgBox "Hello,This Is My First BOS Bill InterFace!"

Case Else

End Select

End Sub

图11

--备注:按钮名称BOSTool.ToolName是菜单按钮的唯一标识,在向导界面新增按钮时已经定义好了,请看图8 中的名称(Test)。

如果想捕获系统内置菜单按钮的名称来进行插件处理,可进入BOS集成开发工具,找到对应的BOS单据,右键选择“操作管理”进行查看某个菜单按钮的“操作代码”,即为按钮的标识名称。

【第五步】:编译生成DLL文件

将图11生成的VB工程文件进行保存,保存成功后,点击“文件”(File)菜单下的“生成”(Make)

按钮,选择文件生成的路径,编译生成相应的DLL文件。

图12

图13

备注:此处演示用并没有更改工程名及类名,建议实际开发时更改成有意义的名称,命名中

不要出现中文字符。另外可将文件中多余的类Class1去掉。

【第六步】:插件挂接BOS单据

进入BOS集成开发工具,找到需要进行插件开发的BOS单据,在整单属性栏找到“插件”

图14

点击“插件”后,出现以下界面:

图15

我们可以看到,图15界面有很多栏位,需要根据你开发的插件类型来进行选择,可参考图5向导界面选择的插件类型来决定。类型与栏位对应关系如下:

金蝶K/3-BOS 客户端单据插件单据事件处理组件名

金蝶K/3-BOS 客户端序时薄插件序时薄事件处理组件名

金蝶K/3-BOS 基础资料序时薄插件基础资料序时薄事件处理组件名

金蝶K/3-BOS 审批流插件审批流事件处理组件名

图5中我们选择的是“金蝶K/3-BOS 客户端单据插件”,故此处点击“单据事件处理组件名”栏位后的按钮,点击后弹出界面如下:

图16

点击图中的浏览按钮,在弹出的文件浏览窗口中找到【第五步】编译生成的DLL文件,如下图所示:

点击上图中的打开按钮,将出现以下界面(如图18):

图18

在图18中勾选上你要挂接插件的工程名.类名,即插件的VB工程里的工程名及类名,如下图红色标记所示:

图19

在图18中我们勾选上Project1.BOS_BillEvent_PlugIns,然后点击“确定”按钮,然后可以看到单据事件处理组件名出现了我们插件的工程名.类名,如下图所示:

图20

点击图20中的“确定”按钮,最后再点击BOS集成开发工具的保存按钮,保存成功后即完成了插件与BOS单据进行挂接的操作。

图21

进行单据测试,便可以看到我们开发的BOS插件的功能效果,如下图:

图22

图23

注意:最后将插件DLL文件部署到客户的正式环境中时有两种方式:

●第一种:如果开发的是客户端插件,在K3客户端较少的情况下,可通过手工COPY第

四步中编译生成的DLL文件(Project1.dll)到各个K3客户端,然后在客户端机器上,用Regsvr32命令按照类似于图3中注册组件的方式进行手工注册插件DLL文件。如果是中间层插件的话,直接在K3中间层服务器环境下注册部署即可。

●第二种:通过BOS集成开发工具的发布部署功能,将您开发的插件制作成安装包EXE,

然后将生成的安装包拷贝到客户正式的K3中间层服务器环境中去,再直接双击运行该安装包即可。关于BOS发布部署功能的详细介绍,请进入BOS集成开发工具里按F1进入帮助手册界面,找到“第13章发布与部署”—“13.2制作部署”章节进行了解。

以上整个过程便是K/3 BOS插件开发与制作的基本流程,请参考进行实践学习,谢谢!

文中若有不妥之处,请指正!

作者:李国军

2014年2月28日晚于金蝶软件园

相关文档
最新文档