有論壇朋友學習Sbo Add-on開發,在Sbo 2004 SDK中文版上看到了一個例子,主要用于實作通過新增員工薪水計稅資料表,完成對機關職工的薪水發放與個人所得稅的計算。在學習過程中希望我對此執行個體調試進行一些幫助
這隻是一個Add-on執行個體,代碼并不多,實作的功能也有限。用業餘時間幫助朋友完成了這個示例的調測,所有功能調試完成。現在對此予以說明,并上載此執行個體供Sbo SDK開發初學者在學習中參考。
一、資料結構
為了支援員工薪水計稅功能,需要新增兩個資料表,分别為:
1、職員薪水表:@CESS
docNum 單據号碼 文本(20)
docDate 過帳日期 日期
EmpID 員工帳号 文本(15)
docTotal 薪水合計 機關與統計 金額
docTax 個人所得稅 機關與統計 金額
2、職員薪水行:@CEST
LineNum 行号 數值
Type 類型 文本(10)
Amount 金額 機關與統計 金額
Reference 備注 文本(250)
二、建立自定義使用者表,修改Code字段長度
通過資料庫表看似象一個自定義使用者單據對象,但是由于執行個體中沒有使用自定義對象來處理,是以就在建立自定義資料表時我們就隻使用了無類型的自定義資料表方式。
在Sbo中,自定義無類型資料表建立之後,Sbo自動在此表中增加了兩個字段:Code 文本(8)和Name 文本(30),并且将Code作為自定義資料表的主鍵。
鑒于本例的需要,Code的長度以目前的時間為種子産生,至少應該為10位,是以為了保障程式的正常運作,需要将Code的字段長度更改為 文本(15)。
三、執行個體代碼分析
本例實作的功能很有限,是以結構相應比較簡單,主要包括三部分:
1、Sbo同Add-on插件程式的統一認證:這是開發Sbo Add-on插件程式必須的,否則無法實作Sbo主程式同插件程式的內建。實作這一功能主要通過三個函數和過程來實作:
SetApplication:獲得目前正在運作的Sbo主程式
SetConnectionContext:設定發生業務資料的環境
ConnectToCompany:建立Add-on插件到Sbo現行主程式公司資料庫的連接配接
2、繪制Add-on插件業務處理界面,建立進入薪水計稅功能的菜單入口,并對菜單進行偵聽。這一功能主要通過一些函數和過程來實作。
AddSalaryFormToMenu:新增業務處理入口菜單
CreateForm:繪制業務處理界面
SBO_Application_MenuEvent:偵聽Sbo主程式通過入口菜單進入到業務處理界面
3、業務資訊錄入處理,錄入資訊儲存入庫。這一功能主要通過一些函數和過程來實作。
SBO_Application_ItemEvent:業務資訊錄入處理事件偵聽
cboEmpid_Select:機關職工選擇
CalculateTotal:薪水資訊行錄入過程中的薪水自動彙總
CalculateTax:薪水資訊行錄入過程中的自動計稅
ValidToSaveSalary:點選儲存按鈕之後對錄入資訊的合法性校驗
SaveSalary:儲存錄入資訊到資料庫
四、結論
本執行個體基本實作了一個簡單Sbo Add-on插件的業務功能,包含了Add-on插件開發的基本架構,是Sbo Add-on插件開發初學者的理想學習材料。
但是執行個體中沒有異常處理,可能對經驗不足程式設計人員的程式設計習慣造成不利的影響。
五、測試環境
VS VB.Net 2005 + MS SQL Server 2000 with SP4 + Win 2003 with SP2
本文轉自foresun 51CTO部落格,原文連結:http://blog.51cto.com/foresun/41989,如需轉載請自行聯系原作者