李 霞,王 琦
(1.運城學院公共計算機教學部,山西運城 044000;2.運城學院計算機科學與技術系,山西運城044000)
基于.NET構件模型的用友U8憑證接口構件模型分析與設計
李 霞1,王 琦2
(1.運城學院公共計算機教學部,山西運城 044000;2.運城學院計算機科學與技術系,山西運城044000)
用友是國內最大的財務軟件研發企業,其U8產品占有相當大的市場份額,隨著各企業信息化建設的不斷推進,與企業相關的業務軟件也逐步形成,但是業務軟件與財務軟件之間大多還處于獨立的狀態,為了規范企業財務流程,業務和財務的集成勢在必行.憑證接口模型的提出可以輕松實現業務和財務的無縫對接.
U8 憑證 接口 構件模型
目前,隨著企業規模的不斷擴大,企業的業務也變得越來越復雜,企業中的業務軟件在規范企業業務流程、提升企業信息化程度方面發揮著越來越重要的作用.然而,業務軟件中產生的財務數據與財務系統卻很難集成,使得業務軟件的財務數據孤島逐步形成.針對企業存在的這些問題,在充分研究.NET構件模型以及用友U8憑證模型的基礎上,結合構件技術,設計開發出了針對用友U8的憑證接口構件,并在多個企業業務軟件項目中得到應用,效果良好.
目前比較流行的構件模型有COM/DCOM/CLR, EJB和CORBA.COM/DCOM/CLR是微軟公司的技術,該技術憑借其在操作系統上的強大優勢,獲得了巨大的成功.其中CLR(Common Language Runtime)可以看作是COM和DCOM技術的繼承和發展,可采用各種編程語言,利用托管代碼來訪問(例如C#、VB、F#、C++/CLI),使用的是 .NET的框架類庫FCL(Framework Class Library).它是.NET的核心,所以CLR構件模型又被稱為.NET構件模型.
.NET以程序集為基本的打包單元,程序集是一種功能上不可分割的邏輯單元,由一個或多個模塊(module,DLL或EXE文件)組成,每個程序集中有一個程序清單,它包含了程序集內所有模塊和其他文件的信息,如程序集的名稱、版本號、文化和語言、程序集包含的所有文件列表、程序集所依賴的其他程序集等.所以程序集可以看作是.NET的構件.

圖1 COM/DCOM/CLR之間的關系及應用
憑證又稱會計憑證,是指能夠用來證明經濟業務事項發生、明確經濟責任并據以登記賬簿、具有法律效力的書面證明.它是記錄經濟業務事項發生或完成情況的書面證明,也是登記賬簿的依據.
U8憑證對應的數據庫表為:GL_accvouch,基本核心字段及說明如下:


憑證接口模型的設計目標是實現業務軟件產生的財務數據與財務軟件的集成,而不同的財務數據對應的會計科目可能不一樣,因此該接口模型應包含兩大核心功能:憑證設置和憑證生成.
2.2.1 憑證設置
在業務軟件中,產生財務數據的單據都需要向財務軟件寫入憑證,而不同單據所產生的財務數據類型又不一樣,因此需要根據所產生財務數據類型的不同,實現憑證設置的自定義.
為了實現憑證設置的自定義,需要解決如下兩方面內容:
(1)憑證設置描述文檔(XML)[5]
憑證設置描述文檔主要提供與憑證相關的數據、類型、摘要、科目及借貸信息,為生成憑證數據提供一個模板.下面為一單據憑證設置的模板.

其實,最初我們只需要
(2)描述文檔解析及設置
憑證設置描述文檔生成之后,需要將其轉換成可視化的界面,讓用戶通過這個界面來進行憑證的查看和設置.憑證設置界面如圖2所示.

圖2 憑證設置界面
如果憑證設置描述文檔中

如果憑證設置描述文檔中

2.2.2 憑證生成
憑證生成是憑證接口模型的核心功能,它需要從相應的單據中提取財務數據,然后根據設置好的憑證模板,形成憑證數據,最后以事務的方式向用友U8寫入憑證.
形成憑證數據的核心功能由函數CreatePZ完成,該函數核心代碼如下:

函數CreatePZ返回類型為DataTable,其中包含了相應單據的所有憑證數據,通過以下語句可以將其以參數形式傳遞給窗體frmPingZheng,并打開該窗體,利用該窗體的相關功能實現憑證向用友U8寫入的.



圖3 憑證生成界面
以上是憑證接口構件模型設計的核心內容,該模型包含的兩大核心功能,經過系統編譯之后,以dll的形式呈現,將二者加以集成,最終形成憑證接口構件.該構件具有很強的靈活性和擴充性,因為組成該接口構件的是兩個相對獨立的構件,如果需要擴充或修改某一方面的功能,只需要對對應的構件加以升級即可.
2.2.3 憑證接口構件模型的應用
憑證接口構件模型的定位是同時擁有用友U8和相應業務軟件,并有數據集成需求的企業,可以根據業務軟件產生的財務數據類型不同,自由定義憑證模板,單個或批量生成憑證數據,同時傳入用友U8.可以實現財務和業務的無縫對接,極大提高員工的工作效率和企業的信息化程度.該接口構件模型已在筆者為國內某著名重卡制造企業開發的《汽車行業消費信貸管理系統》中成功運用,運行穩定,效果良好.
基于.NET構件模型設計的憑證接口構件充分體現了基于構件的軟件開發(CBD)思想,具有極強的擴充性和靈活性,為企業業務和財務的集成提供了一種有效的解決方案.但該構件目前僅支持用友U8的各個版本,對其它版本的支持還有待改進.
[1]王珉,吳廣茂,田林,等.CBD的組件選擇方法及其應用[J].計算機工程與應用,2006(7):33-35.
[2]王志堅,費玉奎,婁淵清.軟件構件技術及其應用[M].北京:科學出版社,2005.
[3]李益兵,董成亮,郭順生.基于用戶定義函數的財務接口研究與實現[J].組合機床與自動化加工技術,2005(3):108-109.
[4]呂英.企業資源計劃系統財務模塊特點及其接口開發[J].微計算機應用,2003(4):215-218.
[5]孫慧敏,邵麗麗,孫慧華.基于XML的電子病歷界面生成器的研究[J].長春大學學報,2004(6):27-29.
Abstract:UFIDA is one of the biggest financial software R&D enterprise of China.The Product of U8 have a considerable share in the market,with the further development and perfection of business informationization,business software forms gradually,but Business Software and financial software are still in independent state with each other.In order to standardize the financial.procedure,it is imperative to System Integration of financial software and business software.The representation of the Accounting Document Interface model achieve the seamless connection of Business and finances easily.
Key words:U8;accounting document;interface;component model
〔編輯 高海〕
Analysis and Design of UFIDA U8 Accounting Document Interface Model based on.NET Component Model
LI Xia1,WANG Qi2
(1.Department of Public Computer Teaching,Yuncheng University,Yuncheng Shanxi,044000; 2.Department of Computer Science Technology,YunCheng University,Yuncheng Shanxi,044000)
TP311
A
1674-0874(2010)05-0016-04
2010-03-02
山西省高等學校科技研究開發項目[20091150];運城學院項目[JC-2009015]
李霞(1979-),女,山西聞喜人,碩士,講師,研究方向:軟構件技術和優化計算技術.