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

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


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

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

圖2 憑證設(shè)置界面
如果憑證設(shè)置描述文檔中

如果憑證設(shè)置描述文檔中

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

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



圖3 憑證生成界面
以上是憑證接口構(gòu)件模型設(shè)計(jì)的核心內(nèi)容,該模型包含的兩大核心功能,經(jīng)過系統(tǒng)編譯之后,以dll的形式呈現(xiàn),將二者加以集成,最終形成憑證接口構(gòu)件.該構(gòu)件具有很強(qiáng)的靈活性和擴(kuò)充性,因?yàn)榻M成該接口構(gòu)件的是兩個(gè)相對獨(dú)立的構(gòu)件,如果需要擴(kuò)充或修改某一方面的功能,只需要對對應(yīng)的構(gòu)件加以升級即可.
2.2.3 憑證接口構(gòu)件模型的應(yīng)用
憑證接口構(gòu)件模型的定位是同時(shí)擁有用友U8和相應(yīng)業(yè)務(wù)軟件,并有數(shù)據(jù)集成需求的企業(yè),可以根據(jù)業(yè)務(wù)軟件產(chǎn)生的財(cái)務(wù)數(shù)據(jù)類型不同,自由定義憑證模板,單個(gè)或批量生成憑證數(shù)據(jù),同時(shí)傳入用友U8.可以實(shí)現(xiàn)財(cái)務(wù)和業(yè)務(wù)的無縫對接,極大提高員工的工作效率和企業(yè)的信息化程度.該接口構(gòu)件模型已在筆者為國內(nèi)某著名重卡制造企業(yè)開發(fā)的《汽車行業(yè)消費(fèi)信貸管理系統(tǒng)》中成功運(yùn)用,運(yùn)行穩(wěn)定,效果良好.
基于.NET構(gòu)件模型設(shè)計(jì)的憑證接口構(gòu)件充分體現(xiàn)了基于構(gòu)件的軟件開發(fā)(CBD)思想,具有極強(qiáng)的擴(kuò)充性和靈活性,為企業(yè)業(yè)務(wù)和財(cái)務(wù)的集成提供了一種有效的解決方案.但該構(gòu)件目前僅支持用友U8的各個(gè)版本,對其它版本的支持還有待改進(jìn).
[1]王珉,吳廣茂,田林,等.CBD的組件選擇方法及其應(yīng)用[J].計(jì)算機(jī)工程與應(yīng)用,2006(7):33-35.
[2]王志堅(jiān),費(fèi)玉奎,婁淵清.軟件構(gòu)件技術(shù)及其應(yīng)用[M].北京:科學(xué)出版社,2005.
[3]李益兵,董成亮,郭順生.基于用戶定義函數(shù)的財(cái)務(wù)接口研究與實(shí)現(xiàn)[J].組合機(jī)床與自動(dòng)化加工技術(shù),2005(3):108-109.
[4]呂英.企業(yè)資源計(jì)劃系統(tǒng)財(cái)務(wù)模塊特點(diǎn)及其接口開發(fā)[J].微計(jì)算機(jī)應(yīng)用,2003(4):215-218.
[5]孫慧敏,邵麗麗,孫慧華.基于XML的電子病歷界面生成器的研究[J].長春大學(xué)學(xué)報(bào),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
山西省高等學(xué)校科技研究開發(fā)項(xiàng)目[20091150];運(yùn)城學(xué)院項(xiàng)目[JC-2009015]
李霞(1979-),女,山西聞喜人,碩士,講師,研究方向:軟構(gòu)件技術(shù)和優(yōu)化計(jì)算技術(shù).