U8二次開發(fā)教程_第1頁
U8二次開發(fā)教程_第2頁
U8二次開發(fā)教程_第3頁
U8二次開發(fā)教程_第4頁
U8二次開發(fā)教程_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、U8二次開發(fā)教程背景目前U8產(chǎn)品越來越龐大,提供的應(yīng)用與服務(wù)也越來越多樣化。公司整體的發(fā)展戰(zhàn)略要求U8要成為一個(gè)能支持規(guī)?;桓兜漠a(chǎn)品。為了達(dá)到這樣的目標(biāo),僅僅通過我們的水平產(chǎn)品是無法滿足客戶的行業(yè)化、個(gè)性化的要求的。所以二次開發(fā)就成為一個(gè)能滿足可以要求的填充劑,填補(bǔ)水平產(chǎn)品與客戶的需求中的差異的空隙。二次開發(fā)定義及范疇二次開發(fā)是與一次開發(fā)是相對應(yīng)的,所以凡是由U8產(chǎn)品開發(fā)部提供的U8產(chǎn)品、套件以外的都應(yīng)屬于二次開發(fā)的產(chǎn)品。從這個(gè)定義出發(fā)以下行為屬于開發(fā)開發(fā)范疇。分公司、大區(qū)的基于U8的開發(fā)行為。第三方合作伙伴的基于U8的開發(fā)行為。行業(yè)開發(fā)本部基于U8產(chǎn)品的開發(fā)行為。二次開發(fā)模式分析目前我們的

2、二次開發(fā)處于缺乏管理狀態(tài)。由于U8軟件缺乏足夠的開發(fā)性,導(dǎo)致二次開發(fā)人員能利用的手段和方法非常有限。同時(shí)由于U8每年都需要年結(jié),造成二次開發(fā)的數(shù)據(jù)需要手工結(jié)轉(zhuǎn)。甚至有些是利用原代碼進(jìn)行的修改,這種方式會(huì)因?yàn)榘姹旧壎斐晒δ軐?shí)效。以下列出了主要的開發(fā)模式。獨(dú)立開發(fā)模式,獨(dú)立于產(chǎn)品模式描述:在開發(fā)過程中基本不利用U8產(chǎn)品的構(gòu)件(只利用登錄構(gòu)件),開發(fā)成果形成單獨(dú)的可執(zhí)行文件及動(dòng)態(tài)庫,模塊不需要與U8門戶程序集成,二次開發(fā)模塊的權(quán)限設(shè)置、功能升級、部署均獨(dú)立于產(chǎn)品。優(yōu)點(diǎn):對產(chǎn)品的影響小,產(chǎn)品可升級性強(qiáng),不受產(chǎn)品功能制約。模塊功能靈活度大,能夠?qū)崿F(xiàn)很復(fù)雜的功能。缺點(diǎn):二次開發(fā)的模塊產(chǎn)品風(fēng)格與U8產(chǎn)品

3、風(fēng)格差距較大,產(chǎn)品中一些很完善的功能(權(quán)限、打印、格式設(shè)置、輸出等)不能被二次開發(fā)利用,打印、輸出等基礎(chǔ)功能需要重新開發(fā),開發(fā)效率低。注意問題:如果使用了U8登錄構(gòu)件,在產(chǎn)品升級后,應(yīng)測試登錄構(gòu)件是否向下兼容,如果不兼容要根據(jù)新版登錄構(gòu)件的使用文檔對二次開發(fā)程序的登錄部分作修改。禁止行為:為最大限度的保證產(chǎn)品的可升級性,禁止直接修改產(chǎn)品的系統(tǒng)數(shù)據(jù)表、視圖、存儲(chǔ)過程等數(shù)據(jù)庫對象。適用需求:與產(chǎn)品關(guān)聯(lián)度小,二次開發(fā)的功能與產(chǎn)品相對獨(dú)立,屬單獨(dú)的功能需求,不影響產(chǎn)品的業(yè)務(wù)流程,但允許由產(chǎn)品中取數(shù)。例如:在U產(chǎn)品的基礎(chǔ)上增加提成管理系統(tǒng)。通過產(chǎn)品插件接口開發(fā)模式模式描述:此模式的開發(fā)是利用產(chǎn)品開放的插

4、件接口對原產(chǎn)品模塊做功能擴(kuò)展。開發(fā)成果形成單獨(dú)的動(dòng)態(tài)鏈接庫,模塊功能不能單獨(dú)使用,一般由產(chǎn)品模塊通過插件接口依據(jù)插件注冊信息自動(dòng)調(diào)用。二次開發(fā)模塊的權(quán)限設(shè)置、功能升級、部署均獨(dú)立于產(chǎn)品。優(yōu)點(diǎn):利用插件方式開發(fā),對產(chǎn)品影響小,產(chǎn)品可升級性強(qiáng)。插件機(jī)制可以規(guī)范二次開發(fā)模塊的開發(fā)方式,插件產(chǎn)品重用性強(qiáng),功能配置靈活。缺點(diǎn):受產(chǎn)品插件接口開放程度的限制,目前只有庫存模塊提供了二次開發(fā)插件接口,其他模塊還未提供,而庫存模塊也只提供了單據(jù)保存、審核、明細(xì)行雙擊等部分事件的插件接口,面對用戶多種多樣的二次開發(fā)需求,產(chǎn)品的插件接口開放程度還很不夠。注意問題:插件開發(fā)應(yīng)完全符合U8產(chǎn)品提供的插件二次開發(fā)規(guī)范,盡

5、量采用與產(chǎn)品一致的開發(fā)語言(VB6.0)做插件,保證插件數(shù)據(jù)庫操作與產(chǎn)品的數(shù)據(jù)庫操作在同一事務(wù)中。禁止行為:適用需求:客戶需求與產(chǎn)品模塊結(jié)合緊密,需要基于某一產(chǎn)品模塊做功能擴(kuò)展,盡量采用插件方式。利用產(chǎn)品提供的工具、服務(wù)的開發(fā)模式模式描述:利用產(chǎn)品提供的二次開發(fā)工具、二次開發(fā)服務(wù)實(shí)現(xiàn)客戶的個(gè)性化需求的開發(fā)模式。優(yōu)點(diǎn):基本不用或只做少量的編碼工作、開發(fā)效率高、與原產(chǎn)品風(fēng)格一致、集成度高、易部署。缺點(diǎn):產(chǎn)品提供的開發(fā)工具能夠解決的問題有限,特別是針對二次開發(fā)常涉及的供應(yīng)鏈、財(cái)務(wù)等模塊,目前只提供了自定義報(bào)表的二次開發(fā)工具。注意問題:禁止行為:適用需求:能夠利用產(chǎn)品提供的二次開發(fā)工具開發(fā)的需求盡量采

6、用二次開發(fā)工具實(shí)現(xiàn)。例如:為客戶定制開發(fā)的業(yè)務(wù)報(bào)表,一般的業(yè)務(wù)報(bào)表利用產(chǎn)品的自定義報(bào)表功能都可以實(shí)現(xiàn)。申請產(chǎn)品源碼做修改、替換原產(chǎn)品模塊或新增模塊節(jié)點(diǎn)的開發(fā)模式模式描述:向集團(tuán)申請?jiān)创a直接修改產(chǎn)品功能模塊的方式。優(yōu)點(diǎn):基于原產(chǎn)品模塊的代碼進(jìn)行二次開發(fā)可以實(shí)現(xiàn)很復(fù)雜的功能,開發(fā)靈活性、與產(chǎn)品集成度高。缺點(diǎn):如果需要以這種模式進(jìn)行二次開發(fā),必須首先向集團(tuán)伙伴開發(fā)部申請開放部分源碼,由伙伴開發(fā)部提供二次開發(fā)環(huán)境,分公司程序員不得將源碼帶回分公司。如果采用新增模塊的方式,產(chǎn)品可以做補(bǔ)丁升級;如果采用替換原產(chǎn)品模塊的方式導(dǎo)致產(chǎn)品不能進(jìn)行升級,否則產(chǎn)品升級后會(huì)覆蓋二次開發(fā)的模塊,一定要升級需要二次開發(fā)人員

7、對升級的安全性做測試,確認(rèn)產(chǎn)品升級后不會(huì)影響二次開發(fā)模塊的功能。注意問題:應(yīng)慎重選擇此種開發(fā)模式,這種模式最大的問題就是嚴(yán)重影響產(chǎn)品的數(shù)據(jù)安全性、影響產(chǎn)品的正常升級。禁止行為:沒有二次開發(fā)程序員的指導(dǎo),不能由用戶自行進(jìn)行產(chǎn)品補(bǔ)丁升級工作。適用需求:適用于不能利用插件接口、外掛模塊、二次開發(fā)工具的開發(fā)的需求,且此類需求的實(shí)現(xiàn)必須基于產(chǎn)品模塊做修改。行業(yè)插件的開發(fā)模式模式描述:行業(yè)本部針對某個(gè)行業(yè)的行業(yè)特點(diǎn)對產(chǎn)品局部功能做行業(yè)化改造或開發(fā)新模塊的開發(fā)模式,最終形成行業(yè)插件產(chǎn)品。優(yōu)點(diǎn):開發(fā)規(guī)范遵循U8產(chǎn)品的開發(fā)規(guī)范,與產(chǎn)品開發(fā)過程一致。行業(yè)插件產(chǎn)品經(jīng)過嚴(yán)格、專業(yè)的測試,保證開發(fā)質(zhì)量。缺點(diǎn):注意問題:

8、行業(yè)插件產(chǎn)品要注明適用的產(chǎn)品版本,提供詳盡的聯(lián)機(jī)幫助、使用說明、升級方法。同時(shí)要考慮能夠隨產(chǎn)品的升級而升級。禁止行為:禁止隨意占用產(chǎn)品的模塊編號做單據(jù)模板、報(bào)表模板的預(yù)置工作,行業(yè)本部增加模塊前需向產(chǎn)品管理部申請全套模塊代碼及相關(guān)標(biāo)識。適用需求:行業(yè)插件產(chǎn)品的開發(fā)。二次開發(fā)行為規(guī)范針對目前的開發(fā)現(xiàn)狀現(xiàn)我們分幾個(gè)方面制定開發(fā)行為規(guī)范,以此規(guī)范開發(fā)人員的行為,告訴二次開發(fā)人員哪些行為是安全的,哪些行為是危險(xiǎn)的。獨(dú)立模塊開發(fā)規(guī)范。利用VB或其他開發(fā)工具開發(fā)獨(dú)立的模塊是目前一般的開發(fā)行為,這種開發(fā)方式對U8的依賴最低,藕合度小,受到的升級的影響也最小。在目前U8開發(fā)性比較低的情況下這是一種合理的選擇。

9、但是這種方式無法做到與系統(tǒng)的無縫結(jié)合。在UI的風(fēng)格上也有可能造成較大的差異。開發(fā)分以下階段進(jìn)行。需求調(diào)研階段:調(diào)研規(guī)范:二次開發(fā)調(diào)研不同于產(chǎn)品功能調(diào)研,客戶提出的需求有可能代表一類行業(yè)的應(yīng)用方式,但也有可能為該客戶獨(dú)有的需求。要求二次開發(fā)人員必須仔細(xì)分析客戶提出需求的原因,首先確定是否可以通過軟件以變通的方式實(shí)現(xiàn)用戶的需求,確認(rèn)沒有其他解決方案后才可定義為二次開發(fā)需求。需求規(guī)范:對于典型行業(yè)的二次開發(fā)的需求,且符合集團(tuán)行業(yè)開發(fā)部做行業(yè)項(xiàng)目支持的條件,需要遵循行業(yè)開發(fā)部提供的二次開發(fā)需求模板編寫二次開發(fā)需求文檔。需求文檔要嚴(yán)格按照模板內(nèi)容逐項(xiàng)編寫,特別要注意業(yè)務(wù)算法、數(shù)據(jù)精度、效率要求等設(shè)計(jì)相關(guān)

10、的內(nèi)容一定要作深入調(diào)研。對于分公司負(fù)責(zé)開發(fā)的項(xiàng)目,也可以參照行業(yè)開發(fā)部提供的二次開發(fā)需求模版進(jìn)行需求編寫,作為下一步設(shè)計(jì)、研發(fā)的指導(dǎo)性文檔。二次開發(fā)需求完成后,首先要經(jīng)過用戶確認(rèn),然后提交項(xiàng)目組召集相關(guān)需求、設(shè)計(jì)、研發(fā)人員進(jìn)行需求評審,需求確認(rèn)后即可進(jìn)行設(shè)計(jì)、研發(fā)工作。設(shè)計(jì)階段:設(shè)計(jì)原則:需求設(shè)計(jì)一致性:二次開發(fā)模塊設(shè)計(jì)必須滿足軟件需求說明書的所有要求,包括所有功能要求、性能要求和其它要求。軟件需求說明的變化與軟件設(shè)計(jì)說明書的變化必須保持一致。變化不能隨意進(jìn)行,應(yīng)置于嚴(yán)格的配置管理之下,對于軟件需求確認(rèn)后的變更要嚴(yán)格控制,避免二次開發(fā)周期過長。數(shù)據(jù)結(jié)構(gòu)獨(dú)立性:對于二次開發(fā)的模塊禁止修改產(chǎn)品系統(tǒng)

11、表數(shù)據(jù)結(jié)構(gòu)及相關(guān)視圖、存儲(chǔ)過程、觸發(fā)器等數(shù)據(jù)對象,最大限度的保證產(chǎn)品的可升級性。二次開發(fā)新建數(shù)據(jù)對象的命名規(guī)則應(yīng)遵從二次開發(fā)數(shù)據(jù)對象命名規(guī)范。數(shù)據(jù)一致性、合法性:設(shè)計(jì)過程中要考慮二次開發(fā)模塊與相關(guān)產(chǎn)品模塊數(shù)據(jù)的一致性。首先要保證產(chǎn)品的數(shù)據(jù)安全,盡量避免直接新增或修改系統(tǒng)數(shù)據(jù)表的記錄。如果確實(shí)需要維護(hù)系統(tǒng)數(shù)據(jù)表的記錄,盡量采用產(chǎn)品開放的業(yè)務(wù)組件操作數(shù)據(jù)庫記錄,保證數(shù)據(jù)的完整性、合法性。產(chǎn)品化原則:對于有可能產(chǎn)品化或插件化的二次開發(fā)需求,在設(shè)計(jì)時(shí)要考慮二次開發(fā)模塊的通用性、可推廣性。二次開發(fā)模塊要達(dá)到易安裝、易使用、易維護(hù)的設(shè)計(jì)要求。盡量使用U8產(chǎn)品使用的構(gòu)件,需要向集團(tuán)申請模板編號、模塊編號,避

12、免和產(chǎn)品沖突。編碼階段:盡量采用與產(chǎn)品模塊開發(fā)語言一致的開發(fā)語言。首先VB語言編碼規(guī)范遵循U8產(chǎn)品使用的VB編碼規(guī)范,見附件。利于二次開發(fā)模塊的產(chǎn)品化。其他開發(fā)語言編碼規(guī)范也可參照VB的編碼規(guī)范執(zhí)行。其次,作如下補(bǔ)充:注釋規(guī)范:模塊開頭說明:增加“相關(guān)產(chǎn)品模塊及本模塊與產(chǎn)品模塊的關(guān)系”、“作者單位”、“作者電子郵箱”、“適用產(chǎn)品版本”配置管理工具可采用SourceSafe作配置管理。自定義報(bào)表開發(fā)規(guī)范開發(fā)模式:采用產(chǎn)品提供的自定義報(bào)表工具開發(fā)報(bào)表。優(yōu)點(diǎn):產(chǎn)品提供的自定義報(bào)表工具功能提供了友好的報(bào)表定義界面,能夠滿足用戶提出的一般性報(bào)表的要求,適用范圍廣、不用編寫代碼,開發(fā)出的報(bào)表風(fēng)格與產(chǎn)品一致

13、,分發(fā)部署方便。缺點(diǎn):不能適應(yīng)用戶提出的復(fù)雜報(bào)表的二次開發(fā)需求,報(bào)表提供的功能有限。部署方式:可采用“名師在線網(wǎng)套件配置工具”由自定義報(bào)表的賬套導(dǎo)出報(bào)表格式文件,利用該工具導(dǎo)入用戶賬套。3)調(diào)試方法:可利用自定義報(bào)表工具中的“生成SQL語句”生成SQL命令,然后利用“查看結(jié)果”測試由系統(tǒng)生成的SQL命令是否可以正常執(zhí)行,執(zhí)行后返回的數(shù)據(jù)是否為預(yù)期返回?cái)?shù)據(jù)。如果生成的SQL命令為標(biāo)準(zhǔn)SQL命令,可以將命令串拷貝到MSSQLSERVER的查詢分析其中進(jìn)行調(diào)試。4)不支持的功能及處理辦法:自定義報(bào)表在調(diào)試交叉表的過程中不支持“查看結(jié)果”的功能,造成調(diào)試自定義報(bào)表困難。在執(zhí)行“查看結(jié)果”時(shí),如果SQL

14、命令有錯(cuò)誤,自定義報(bào)表均報(bào)“SQL語句定義錯(cuò)誤,請查看別名定義是否有不合法的字符,條件是否輸入關(guān)系操作符,關(guān)系定義是否正確,”而不能反饋SQL命令錯(cuò)誤的真實(shí)原因,造成調(diào)試不便。當(dāng)前的自定義報(bào)表功能開發(fā)較早,從產(chǎn)品的架構(gòu)上看遠(yuǎn)遠(yuǎn)不能滿足產(chǎn)品開發(fā)和二次開發(fā)的要求,特別是目前不支持存儲(chǔ)過程,不支持用戶自定義數(shù)據(jù)表的取數(shù),不支持多層表頭及不規(guī)則表頭的報(bào)表的開發(fā),不支持由篩選條件確定動(dòng)態(tài)列的報(bào)表的處理。由U8平臺(tái)設(shè)計(jì)部正在開發(fā)U8新一代報(bào)表引擎,提供了豐富的報(bào)表數(shù)據(jù)源定義及靈活的報(bào)表展現(xiàn)自定義功能,可以滿足新時(shí)期產(chǎn)品報(bào)表開發(fā)及行業(yè)、伙伴二次開發(fā)的需要。5)目前存在的BUG及問題:不支持報(bào)表數(shù)據(jù)源為存儲(chǔ)過

15、程;自定義的參照語句不支持U8參照窗體模式;不支持動(dòng)態(tài)列及多表頭(行或列為多表頭);沒有較細(xì)化的自定義報(bào)表功能的使用說明;報(bào)表定義出現(xiàn)錯(cuò)誤,執(zhí)行過程中不能提示發(fā)生錯(cuò)誤的真正原因;報(bào)表沒有數(shù)據(jù)不能預(yù)覽各列數(shù)據(jù)如果超過列寬,則不能自適應(yīng)顯示。自定義報(bào)表引出數(shù)據(jù)(以excel格式為例),表頭不能以在查詢界面中的漢字顯示,顯示為定義時(shí)的名稱。COM+開發(fā)規(guī)范Com+使用方式在你的接口類(如BF,BFDISPATCH)上標(biāo)記特性ServiceVisible。你可以使用ServiceVisible(ServiceTypes.SingleCall)或ServiceVisible(ServiceTypes.S

16、ingleton)來指定是SingleCall對象,還是Singleton對象。默認(rèn)(ServiceVisible()是SingleCall。如ServiceVisible(ServiceTypes.SingleCall)publicclassBuesinessFacade.MethodTypes特性MethodTypes特性可以指定在方法上,構(gòu)造參數(shù)可以使用MethodTypesOption枚舉Sync:只生成同步方法(默認(rèn),或不寫)。Async:只生成異步方法,不包含同步方法。Both:同時(shí)提供同步方法和異步方法。OneWay:指定該方法為OneWay。如MethodTypes(Metho

17、dTypesOption.Sync)publicDataSetGetData(stringid).Context的使用如果你的接口程序集是從UFSoft.U8.Framework.BizBase.dll中的BFBase和BOBase或IcontextContainer繼承或?qū)崿F(xiàn)易碼網(wǎng),那么就可以利用Context來傳遞自定義對象或數(shù)據(jù)(必須是可序列化的)。女廿,在客戶端,對BF訪問時(shí),通過Add方法可以向Context傳遞額外的數(shù)據(jù),該數(shù)據(jù)可以隨著調(diào)用傳遞到服務(wù)端。BFObjectbf=newBFObject();bf.context.Add(“key”,”value”);bf.DoSomrt

18、hing();objectvalue=bf.context“key”在服務(wù)端的BF,你也可以取出并改變Context的值,然后讓它原路返回到客戶端。this.context“key”=“newvalue”;除此之外,SingleCall對象在服務(wù)端任何狀態(tài)改變,客戶端都無法直接得到。不過,需要注意的是,當(dāng)你從BFBase繼承的時(shí)候,服務(wù)端無法向客戶端傳遞數(shù)據(jù),因?yàn)槟愕慕M件是COM+組件,具有JIT特性,狀態(tài)無法取得,除非你禁用了JIT(非常不推崇)。如果不是COM+組件(從BOBase或?qū)崿F(xiàn)IContextContainer),不會(huì)有此問題??蛻舳讼蚍?wù)端傳遞Context沒有任何限制。Com

19、+生成方式生成工具Generate.exeUsage:Generatesourcedestination-keyfile:-lib:source:指定你的接口程序集位置destination:指定你的生成目標(biāo)路徑,工具將在你指定的目錄下建立Clientinterface和ServerInterface兩個(gè)目錄,用來存放文件,每個(gè)目錄會(huì)生成兩個(gè)文件,一個(gè)是接口,一個(gè)是代理.-keyfile:如果是強(qiáng)名稱(COM+)文件,指定簽名文件。-lib:指定你的接口程序集所依賴的文件的目錄,用”;”來標(biāo)記,如-lib:C;Winnt;C:winntsystem32發(fā)布工具Publish.exeUsageF

20、ilepath|Directory-si-ciFilepath|Directory:可以指定一個(gè)文件,或則一個(gè)目錄-si:表明要發(fā)布SI-ci:表明要發(fā)布CI可以把依賴文件放入Reference目錄下最后會(huì)在你指定的目錄或文件所在的目錄生成Portal.exe.config或web.config文件,如果原先已經(jīng)存在,那么會(huì)在原來的基礎(chǔ)上修改。Com+組件規(guī)范無狀態(tài)性開發(fā)的接口組件,最好不要具有公共屬性,公共字段,不允許具有靜態(tài)成員,靜態(tài)方法。可序列化接口組件的接口類型必須可被序列化,及返回類型,參數(shù)類型必須是可被序列化的類型。特別注意的是,當(dāng)你使用集合類型或DataSet的時(shí)候,你需要確保運(yùn)

21、行時(shí),它里面所包含的類型必須能夠被序列化。out參數(shù)不允許使用out參數(shù),可以使用ref參數(shù)代替。內(nèi)部引用接口組件的接口上所引用的類型,最好在其他的程序集中實(shí)現(xiàn),最好不要在自己程序集中實(shí)現(xiàn),因?yàn)槿绻窃谧约簝?nèi)部實(shí)現(xiàn),如果使用了自定義類型,那就不能寫在你的接口程序集里,因?yàn)槿绻@樣,就增加了CI對程序集自身的依賴性,這樣CI被部署到客戶端,程序集自身也要被部署到客戶端了,但是CI和程序集同名,無法放在一起。但是生成工具也會(huì)嘗試生成,不過將略去初始值(只具有默認(rèn)值),移除內(nèi)部邏輯代碼(方法,屬性中的邏輯)。如果在接口程序集中聲明了一些類型,而在接口類中沒有引用,那么生成工具將忽略(移除)這些類型。

22、類型忽略接口組件的一些基類型將會(huì)被忽略,比如服裝之家 HYPERLINK ServicedComponent,MarshalByRefObject等系統(tǒng)基類型,他們的屬性,方法不會(huì)被生成。OneWay方法只能具有Void返回值,不能具有帶ref參數(shù)的方法。第三方集成開發(fā)規(guī)范EAI二次開發(fā)可分為兩種模式:一、直接利用EAI管理工具。利用EAI工具可以將U8數(shù)據(jù)以標(biāo)準(zhǔn)XML文件的形式導(dǎo)出U8數(shù)據(jù)庫或?qū)?biāo)準(zhǔn)XML數(shù)據(jù)文件導(dǎo)入U(xiǎn)8系統(tǒng)。二次開發(fā)程序員需要編寫一個(gè)工具將標(biāo)準(zhǔn)XML數(shù)據(jù)文件進(jìn)行適當(dāng)轉(zhuǎn)換寫入外部系統(tǒng)或取出外部系統(tǒng)數(shù)據(jù)寫成標(biāo)準(zhǔn)XML數(shù)據(jù)文件。數(shù)據(jù)流程如下:優(yōu)點(diǎn):這種開發(fā)模式比較簡單,充分利用E

23、AI工具提供的功能,編程簡單缺點(diǎn):只能提供批量導(dǎo)入導(dǎo)出功能。二、利用EAI提供的組件,進(jìn)行靈活的二次開發(fā)。包括兩種方式:本地COM方式、Internet方式。1)本地COM方式:功能:這種方式可根據(jù)開發(fā)者的需要批量處理或者實(shí)時(shí)處理。優(yōu)點(diǎn):接口調(diào)用非常簡單,簡化了編程,開發(fā)者只需將標(biāo)準(zhǔn)數(shù)據(jù)傳入接口即可。功能:這種方式可根據(jù)開發(fā)者的需要對數(shù)據(jù)進(jìn)行實(shí)時(shí)處理,可實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)導(dǎo)出導(dǎo)入。優(yōu)點(diǎn):接口調(diào)用簡單,適用于遠(yuǎn)程調(diào)用方式。缺點(diǎn):不能適于大數(shù)據(jù)量數(shù)據(jù)的導(dǎo)入。EAI應(yīng)用開發(fā)規(guī)范:EAI工具目前不適用于大數(shù)據(jù)量的一次性導(dǎo)入,否則會(huì)導(dǎo)致導(dǎo)入時(shí)間過長甚至造成不能導(dǎo)入的問題,在數(shù)據(jù)量較大時(shí)最好拆分成多個(gè)小文件,再

24、做導(dǎo)入。目前EAI不支持對業(yè)務(wù)單據(jù)的刪除、修改功能,要求第三方軟件的業(yè)務(wù)單據(jù)導(dǎo)出數(shù)據(jù)后不能再在原系統(tǒng)中修改造成系統(tǒng)間業(yè)務(wù)數(shù)據(jù)不一致。在從第三方軟件導(dǎo)出業(yè)務(wù)單據(jù)前,要保證業(yè)務(wù)單據(jù)上涉及的基礎(chǔ)檔案在U8系統(tǒng)內(nèi)已存在,否則應(yīng)連帶先將關(guān)聯(lián)基礎(chǔ)檔案導(dǎo)出,向U8系統(tǒng)導(dǎo)入相關(guān)基礎(chǔ)檔案后,再導(dǎo)業(yè)務(wù)單據(jù),保證業(yè)務(wù)數(shù)據(jù)的完整性。年結(jié)與建帳因U產(chǎn)品采用年度帳的形式,每年需要生成一個(gè)新帳套,年末需要利用年結(jié)工具進(jìn)行年度結(jié)轉(zhuǎn)的工作。對于標(biāo)準(zhǔn)產(chǎn)品年結(jié)工作可以利用年結(jié)工具完成,但產(chǎn)品未提供二次開發(fā)年結(jié)接口,二次開發(fā)的模塊的年結(jié)必須單獨(dú)進(jìn)行。二次開發(fā)年結(jié)常見的問題:二次開發(fā)過程中新增的數(shù)據(jù)表、視圖、存儲(chǔ)過程等數(shù)據(jù)對象不能自動(dòng)

25、結(jié)轉(zhuǎn)至新的年度帳套。二次開發(fā)模塊的年末數(shù)據(jù)不能自動(dòng)結(jié)轉(zhuǎn)到新年度帳套的期初。目前沒有二次開發(fā)模塊與產(chǎn)品模塊年結(jié)的強(qiáng)制順序關(guān)系,造成結(jié)轉(zhuǎn)數(shù)據(jù)不正確。因二次開發(fā)過程中不規(guī)范的修改產(chǎn)品系統(tǒng)表的行為,導(dǎo)致帳套不能正常升級。問題解決方案:禁止直接修改產(chǎn)品系統(tǒng)表表結(jié)構(gòu)。二次開發(fā)模塊需單獨(dú)建立數(shù)據(jù)表,數(shù)據(jù)表名參照二次開發(fā)規(guī)范(代碼規(guī)范部分)。在必須要增刪產(chǎn)品系統(tǒng)表記錄時(shí),要嚴(yán)格遵守業(yè)務(wù)數(shù)據(jù)邏輯關(guān)系、數(shù)據(jù)表外鍵關(guān)系。對于新增數(shù)據(jù)對象的年結(jié)問題,可采用先升級帳套模板庫,在模板庫中建好二次開發(fā)模塊所需的數(shù)據(jù)對象,然后再進(jìn)行年結(jié)。對于新增數(shù)據(jù)表內(nèi)數(shù)據(jù)的結(jié)轉(zhuǎn),必須由二次開發(fā)人員提供二次開發(fā)模塊的年結(jié)工具或結(jié)轉(zhuǎn)方法說明文

26、檔。對于二次開發(fā)模塊的結(jié)轉(zhuǎn)順序問題,可通過二次開發(fā)模塊的年結(jié)工具編寫代碼判斷前置模塊結(jié)轉(zhuǎn)標(biāo)識,來決定是否可以結(jié)轉(zhuǎn)。建賬過程描述1在UFSystem中的UA_Account中增加一條紀(jì)錄,記錄帳套信息2在UFSystemz中的UA_Period增加紀(jì)錄,對應(yīng)著當(dāng)前年度帳的會(huì)計(jì)期間恢復(fù)UFModel.bak到年度數(shù)據(jù)庫UFData_帳套號_年度,在Ufsystem中的UA_account中填寫對應(yīng)的路徑信息打開年度庫在Accinformation表中作如下修改cSysID=AAandcName=iSystemIDcValue=Ua_account中的cSysIdcSysID=AAandcName=

27、iSystemYearcValue=工業(yè)/商業(yè)cValue=SQLcValue否存貨分類cValue否客戶分類cValue否供應(yīng)商分類cSysID=AAandcName=cSysVerNocSysID=AAandcName=bGoodClasscSysID=AAandcName=bCustClasscSysID=AAandcName=bProvClasscValue否集團(tuán)版7.cSysID=AAandcName=bFrgnCurrencyAcc否使用外幣8.cSysID=AAandcName=bGroupVer存貨、供應(yīng)商、客戶無分類時(shí),建立分類檔案的無分類初始記錄修改外幣設(shè)置表Foreign

28、currency如果是集團(tuán)帳套,改變年度帳的編碼設(shè)置,并修改了單據(jù)頭的自定義項(xiàng)目如果是醫(yī)藥流通企業(yè)類型,修改自定義項(xiàng)行業(yè)性質(zhì)為醫(yī)院時(shí),從UFSub模板中復(fù)制模板數(shù)據(jù)在aa_picture表中插入Logo信息5用戶權(quán)限表中,加賬套主管(該年度的)權(quán)限記錄6按行業(yè)性質(zhì)預(yù)置科目7調(diào)用調(diào)用編碼方案控件(U8GradeDef.IGradeDef)8.調(diào)用數(shù)據(jù)精度控件(數(shù)據(jù)精度.UFDataPre)9調(diào)用系統(tǒng)啟用控件(U8PSysStart.IsysStart)10.同步accinformation表和gradedef表中的編碼規(guī)則目前年結(jié)調(diào)用的DLL子模塊調(diào)用的DLLCRMUFCRMJZ.clsCRMJ

29、Z網(wǎng)上報(bào)銷NEEndYear.EndYear生產(chǎn)訂單U8MDBSrv.clsDBTransfer設(shè)備管理UFEQEndY.EndYear銷售管理UFGXLJZ.clsJZSN預(yù)算管理U8BGJZ.clsBGJZ合同管理UFCMJZ.CCMJZ資金管理UFFmEndY.EndYear應(yīng)收/應(yīng)付UFARJZ.ClsJZ結(jié)算中心UsFDYear.clsUFFD固定資產(chǎn)UFFA_DLL.clsUFFA人力資源UFHRJZ.clsHRJZ)成本管理UfcaEndy.endyear合并報(bào)表HBBB_DataTrans.Trans總帳/集團(tuán)財(cái)務(wù)UFGLJZ.clsGLJZZzPub.clsPub項(xiàng)目管理UF

30、PMJZ.clsPMJZZzPub.clsPub網(wǎng)上銀行USNBJZ.clsJieZhuan報(bào)賬中心UFWHJZ.clsWHJZ外掛程序調(diào)用手冊參見附件二次開發(fā)單點(diǎn)登錄手冊.doc外掛程序命名規(guī)范U8中使用的產(chǎn)品有自己的規(guī)范,產(chǎn)品以大寫的英文字母表示如AR應(yīng)收系統(tǒng),該產(chǎn)品下的子產(chǎn)品用產(chǎn)品的字母開頭后面接字母或數(shù)字AR101設(shè)置,AR10101初始設(shè)置,在門戶的中的顯示為樹的形式,其中AR為AR101的父節(jié)點(diǎn),AR101為的父節(jié)點(diǎn)。其他新產(chǎn)品的起名,或二次開發(fā)的產(chǎn)品的起名必須遵循上面的規(guī)則,并不能和已有的產(chǎn)品名稱相重,下面是在U中以使用的產(chǎn)品名稱及相應(yīng)的對應(yīng)的關(guān)鍵字?;谝陨系牧斜硐榷x以下二次

31、開發(fā)規(guī)范二次開發(fā)項(xiàng)目的一級產(chǎn)品名開頭必須是EF,然后是項(xiàng)目名,如EFNF表示是二次開發(fā)南孚項(xiàng)目。此長度不能超過6位。二級產(chǎn)品如果是在U8的一級產(chǎn)品下,且必須加入EF。如MO(生產(chǎn)訂單)下的產(chǎn)品名稱可以是MOEFNF01。表明是生產(chǎn)訂單下增加了南符項(xiàng)目的子節(jié)點(diǎn)EFNF01。二級產(chǎn)品如果是在二次開發(fā)項(xiàng)目的一級產(chǎn)品下,則只需要遵循通用的命名規(guī)范就可以。三級產(chǎn)品同二級產(chǎn)品要求。的開發(fā)規(guī)范界面一致性規(guī)范產(chǎn)品已經(jīng)制定的嚴(yán)格的一致性規(guī)范,點(diǎn)擊下面的連接可以看到規(guī)范代碼規(guī)范VB程序開發(fā)規(guī)范參見附件.Net程序命名空間規(guī)范U8的命名空間規(guī)范應(yīng)遵守.NetFramework規(guī)范的,在分段部分不完全一樣,U8的規(guī)范

32、分為至少4段,即UFSoft.U8.AppSvr.UI.1.分別為公司名段:UFSoft2總產(chǎn)品名段:U83小產(chǎn)品名段,服務(wù)框架:指定產(chǎn)品模塊名稱和服務(wù)的框架,如AppSvr-應(yīng)用服務(wù)器,Workflow工作流服務(wù)器,Sale銷售管理,Stock庫存,Framework等含義比較清晰的詞或詞組,不要用很難理解的太簡單或太冗長的詞或詞組界面層次名段:UIUserInterface,UIPUserInterfaceProcesses,CIClientSideInterface,SI一ServerSideInterface,BFBusinessFagade,BBusinessObject,DAODa

33、taAccessObject,DODataObject對后續(xù)的段不做要求.Net程序開發(fā)規(guī)范參見附件20031008U8NET代碼規(guī)范.pdf數(shù)據(jù)庫規(guī)范二次開發(fā)命名規(guī)范凡是二次開發(fā)項(xiàng)目的數(shù)據(jù)庫對象名前面必須增加項(xiàng)目簡拼。以下例子以南孚電池為例類型規(guī)則例子表簡拼表名NFDCStock視圖簡拼v視圖名NFDCVStock存儲(chǔ)過程簡拼p存儲(chǔ)過程名NFDCPCalc函數(shù)簡拼F存儲(chǔ)過程名NFDCFgetAmount索引簡拼索引名NFDCIabc字段類型對于數(shù)量、單價(jià)、金額字段應(yīng)為decimal數(shù)據(jù)類型,如現(xiàn)存量表中的各累計(jì)字段、單據(jù)表中需回寫累計(jì)值的字段、二次數(shù)據(jù)表中的累計(jì)字段等。對于各種單據(jù)表,為解決加鎖問題可考慮加時(shí)間戳字段(timestamp,notnull)建議不要使用float類型,否則可能會(huì)出現(xiàn)數(shù)據(jù)精度問題。如果是字符則必須是NVarchar或NChar類型,不要使用varchar和Char類型。建議減少使用NChar類型如果是主鍵則建議使用GUID類型,默認(rèn)值是Newid()。性能規(guī)范1.在設(shè)計(jì)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論