针对K3的二次开发功能可以分为两大类,一类是在K3主控台中运行的,另一类是独立在K3主控台之外运行的。
一、可在K3主控台中运行的二次开发功能类型如下表所示:
|
类型
|
开发内容
|
开发方式
|
开发工具
|
|
1
|
增加核算项目类别
|
增加核算项目定义
|
K3
主控台或SQL Server
脚本编辑器
|
|
2
|
增加辅助资料类别
|
增加辅助资料定义
|
K3
主控台或SQL Server
脚本编辑器
|
|
3
|
K3
单据增加手工录入字段
|
修改单据定义
|
BOS
或SQL Server
脚本编辑器
|
|
4
|
K3
单据增加关联信息或计算信息字段
|
修改单据定义
|
BOS
或SQL Server
脚本编辑器
|
|
5
|
增加新的K3
单据类型
|
增加单据定义
|
BOS
或SQL Server
脚本编辑器
|
|
6
|
增加K3
单据间的关联关系
|
修改单据定义
|
BOS
或SQL Server
脚本编辑器
|
|
7
|
单据保存、审核、反审核时,进行数据合法性检查、同步修改其他数据
|
增加数据库触发器
|
SQL Server
脚本编辑器
|
|
8
|
在K3
单据录入界面,针对当前操作的单张单据增强用户交互能力
|
增加单据插件
|
Visual Basic 6.0
,或其他支持ActiveX DLL
组件编程的开发工具。E-BOS
单据插件用C#
开发
|
|
9
|
在K3
序时薄界面,针对一行或多行单据进行增加的功能处理
|
增加序时薄插件
|
Visual Basic 6.0
,或其他支持ActiveX DLL
组件编程的开发工具。E-BOS
单据插件用C#
开发
|
|
10
|
从K3
主控台直接打开运行二次开发的功能
|
增加主控台插件
|
Visual Basic 6.0
,或其他支持ActiveX DLL
组件编程的开发工具
|
|
11
|
增加K3
序时薄式报表
|
K3
查询分析工具(可以通过BOS
发布)
|
|
|
12
|
增加自定义格式报表
|
K3
万能报表(可以通过BOS
发布)
|
|
|
13
|
增加自定义复杂格式报表
|
BOS
万能报表工具
|
|
|
14
|
增加电子表格式报表
|
K3
财务会计模块的“报表”功能,或BOS
万能报表工具(早期K3
的二次开发平台)
|
|
第1、2、3、4、5、6类型的开发,可以在K3主控台或BOS中直接手工创建,但这样做很不方便移植,一方面是因为手工创建没有形成程序代码可复用,移植其他新账套时仍需手工创建;另一方面是手工创建生成的业务对象定义的内码依赖于当时账套的数据环境,而在其他新账套手工再创建时可能产生不一样的内码,可能导致相关使用这些定义的二次开发功能需要修改程序;还有就是直接手工创建的定义容易被管理员用户误改或误删。所以建议较复杂的、或商业化的二次开发,通过写SQL脚本来实现。
第7类型的开发,因为功能在数据库端执行,与前端主控台只能进行一种方式的交互操作,即:回滚数据库事务并抛出错误提示让主控台显示错误并打断操作。如果需要主控台进行复杂的交互操作,需用第8类型的开发方式来实现。
第12、14类型的开发,早期K3版本不支持发布功能,需独立在K3主控台之外运行。
二、独立在K3主控台之外运行的程序,可通过以下几个途径访问K3系统:
1、调用K3客户端的登录组件,获取K3用户和数据库连接信息。
2、调用K3客户端的EBCGL组件,显示K3的基础资料、凭证等界面进行数据查询和维护。
3、调用K3客户端的BASEDATAEXCHANGE组件,引入或引出K3的基础资料数据。
4、调用K3客户端的发票接口组件,引入或引出K3的发票数据。
5、调用K3中间层的业务组件,操作K3的凭证或单据数据。
6、调用K3的WebService服务,引入或引出K3的基础资料、凭证等数据。
7、大家都知道的:直接数据库访问。
1、调用K3客户端的登录组件,获取K3用户和数据库连接信息。
2、调用K3客户端的EBCGL组件,显示K3的基础资料、凭证等界面进行数据查询和维护。
3、调用K3客户端的BASEDATAEXCHANGE组件,引入或引出K3的基础资料数据。
4、调用K3客户端的发票接口组件,引入或引出K3的发票数据。
5、调用K3中间层的业务组件,操作K3的凭证或单据数据。
6、调用K3的WebService服务,引入或引出K3的基础资料、凭证等数据。
7、大家都知道的:直接数据库访问。
