針對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、大家都知道的:直接數據庫訪問。