金蝶 K/3 BOS V10.1插件开发指导手册
金蝶软件(中国)有限公司
2004.9
目录
打个小广告:
金蝶二次开发技术交流QQ群
①群 30121062 已满
②群 28307002 未满
③群待定大家共同学习共同进步
1开发基础 (3)
1.1插件开发概念 (3)
1.2插件开发配置 (3)
2开发指南 (4)
2.1创建一个金蝶K/3 BOS 插件 (4)
2.1.1创建一个金蝶K/3 BOS 客户端事件插件 (4)
2.1.2创建一个金蝶K/3 BOS 中间层事件插件 (9)
2.2自定义金蝶K/3 BOS 标准菜单、工具栏 (11)
2.3添加新的菜单、工具栏 (12)
2.4添加新的事件、方法 (12)
2.5访问中间层和数据库 (12)
2.6保存数据 (12)
3参考 (13)
3.1客户端插件事件、方法、属性 (13)
3.2中间层插件事件 (13)
3.3判断业务对象引用存储过程 (13)
3.4金蝶K/3 BOS数据库结构 (13)
4示例 (13)
4.1XXX (13)
1开发基础
1.1插件开发概念
金蝶K/3运行平台为金蝶K/3 BOS开发的业务单据提供了稳定、标准的运行环境,但为了实现客户更加个性化的需求和保持金蝶K/3 BOS架构的开放性,还为客户化开发提供了插件编程机制:通过金蝶K/3 BOS业务单据和序时簿事件代理组件,把业务单据处理的关键事件接口抛出,客户可以接收这个事件代理组件,并对组件的抛出事件编程,从而实现个性化的事件处理方法,对金蝶K/3 BOS运行平台进行有效的扩充和扩展。
需要注意的是:
a) 当前版本的金蝶K/3 BOS支持的插件,仅应用在金蝶K/3的GUI版本,不
支持WEB版本;
b) 当前版本的金蝶K/3 BOS支持采用Microsoft Visual Basic 编写的插件,采
用的类型推荐为ActiveX DLL 类型;
c) 当前版本的金蝶K/3 BOS支持的插件分为客户端事件插件、中间层事件插
件;
在本手册中,我们所有关于金蝶K/3 BOS插件的定义、描述、示例等,都符合上述3点特征。
1.2插件开发配置
开发、调试金蝶K/3 BOS插件,需要安装:
a) 金蝶K/3 客户端部件
b) 金蝶K/3 BOS
c) Microsoft Visual Basic(推荐使用v6.0 版本,并且安装SP5)
另外,如果要通过插件在K/3 BOS标准单据、序时簿界面上增加菜单、工具条,
还需要安装:
d) Data Dynamics ActiveBar ActiveX v1.0.6.5
同时,我们推荐:
a) 采用Microsoft Windows 2000 Server(及以上版本)等Server类操作系统
作为开发、调试操作系统;
b) 在该操作系统上安装Microsoft SQL Server 2000数据库;
c) 在该操作系统上安装金蝶K/3 客户端部件、金蝶K/3 中间层部件、金蝶K/3
BOS;
这样,我们就可以同时开发、调试金蝶K/3 BOS客户端事件插件和金蝶K/3 BOS中间层插件了。
2开发指南
2.1创建一个金蝶K/3 BOS 插件
在安装、配置完1.2 要求的环境后,我们就可以开始创建一个金蝶K/3 BOS插件了。
2.1.1创建一个金蝶K/3 BOS 客户端事件插件
要创建一个金蝶K/3 BOS 客户端事件插件,请按照以下步骤操作:
1) 启动Microsoft Visual Basic 6.0。
2) 在出现的“New Project”对话框中选择“ActiveX DLL”。
3) 选择菜单“Project”—〉“References”。
4) 在出现的“References”对话框中,选择下述2项:
K3ClassEvents
●Kingdee Foundation Objects 1.0
如果没有在这个列表中没有找到上述2项,可以点击对话框上的“Browse”按键,在出现的打开文件对话框中分别选择本机上的
●K3ClassEvents.dll
●Kfo10.dll
这2个DLL文件即可(一般在金蝶K/3 客户端部件的安装目录中可以找到)。
5) 重新命名工程及类模块名称,保存工程。
例如将默认的新建工程名和类模块名改为下图所示。
6) 在BOSPlugIns.cls类模块的代码中写入如下的代码。
Code 1: 客户端单据事件插件连接代码
在上面的代码中,我们定义了一个名为m_BillInterface的BillEvent对象,来接受金蝶K/3 BOS 的客户端单据事件。
在BOSPlugIns.cls类模块的代码中写入如下的代码则可以接受金蝶K/3 BOS的客户端序时薄事件。
Code 2: 客户端序时薄事件插件连接代码
如果希望在一个插件中同时可以处理客户端单据事件和序时薄事件,可以通过在工程中添加1个类模块,如下图所示,分别在2个类模块中添加上述2段代码。这样就可以利用1个类来处理客户端单据事件,用另1个类来处理客户端序时薄事件了。
7) 编译工程。
8) 在金蝶K/3 BOS中设置插件。如下图所示:
上图所示的是步骤6中的同时可以处理单据事件和序时薄事件的插件的设置。
以上步骤完成后,我们就建立了一个金蝶K/3 BOS 客户端事件(包括单据事件和序时薄事件)插件。虽然我们在这个例子中没有进行任何额外的单据事件和序时薄事件操作,但经过设置后,实际上已经在使用了这个插件的单据、序时薄中调用了这个插件。我们现在需要做的,只是在这个插件中,利用获得的单据、序时薄对象,实现我们希望的具体操作了。
2.1.2创建一个金蝶K/3 BOS 中间层事件插件
要创建一个金蝶K/3 BOS 中间层事件插件,请按照以下步骤操作:
1) 执行“2.1.1创建一个金蝶K/3 BOS 客户端事件插件”中的步骤1至步骤5。唯
一不同的是在步骤4中,只需要添加
Kingdee Foundation Objects 1.0
的引用。
2) 在BOSPlugIns.cls类模块的代码中写入如下的代码。
Code 3: 中间层事件插件连接代码
在上面的代码中,我们可以看到,不同于金蝶K/3 BOS 的客户端事件插件的处理,在金蝶K/3 BOS中间层事件插件中,我们只需要实现这4个标准事件就可以了。关于这4个事件的参数含义,请参考“3.2中间层插件事件”。
3) 编译工程。
4) 在金蝶K/3 BOS中设置插件。如下图所示:
以上步骤完成后,我们就建立了一个金蝶K/3 BOS 中间层事件插件。和“2.1.1创建一个金蝶K/3 BOS 客户端事件插件”中的示例一样,我们在这个例子中没有进行任何额外的事件操作,我们现在需要做的,只是在这个插件中,利用这4个事件,实现我们希望的具体操作了。
2.2自定义金蝶K/3 BOS 标准菜单、工具栏
请注意:因为金蝶K/3 BOS中间层事件插件不处理界面事件,所以这一小节的内容,都是指金蝶K/3 BOS客户端事件插件的操作。
我们可以看到,金蝶K/3 BOS提供了一个标准的单据界面和序时薄界面,如下图所示。
在这个标准界面的菜单和工具栏项,显示、操作了金蝶K/3 BOS的标准功能,非常方便。可是有时候我们不需要其中的某些功能,例如我们不希望用户使用“套打设置”这个功能,怎么办?
AAA
2.3添加新的菜单、工具栏
2.4添加新的事件、方法
2.5访问中间层和数据库
2.6保存数据
3参考
3.1客户端插件事件、方法、属性3.2中间层插件事件
3.3判断业务对象引用存储过程3.4金蝶K/3 BOS数据库结构
4示例
4.1XXX