金蝶EASBOS開(kāi)發(fā)平臺(tái)培訓(xùn)體系_第1頁(yè)
金蝶EASBOS開(kāi)發(fā)平臺(tái)培訓(xùn)體系_第2頁(yè)
金蝶EASBOS開(kāi)發(fā)平臺(tái)培訓(xùn)體系_第3頁(yè)
金蝶EASBOS開(kāi)發(fā)平臺(tái)培訓(xùn)體系_第4頁(yè)
金蝶EASBOS開(kāi)發(fā)平臺(tái)培訓(xùn)體系_第5頁(yè)
已閱讀5頁(yè),還剩30頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 EAS BOS 開(kāi)發(fā)平臺(tái)培訓(xùn)體系1 EAS BOS 框架結(jié)構(gòu)簡(jiǎn)介1.1 學(xué)習(xí)內(nèi)容1.1.1 概述什么是金蝶EAS BOSBOS,Business Operation System,業(yè)務(wù)操作系統(tǒng),是金蝶融合多年的企業(yè)應(yīng)用軟件的經(jīng)驗(yàn)以及MDA理念研發(fā)新一代技術(shù)平臺(tái),是金蝶公司全新的管理軟件開(kāi)發(fā)工具和管理集成平臺(tái)。金蝶BOS提供了基于模型驅(qū)動(dòng)架構(gòu)(MDA)的開(kāi)發(fā)模式和相關(guān)的工具,成功的解決了企業(yè)應(yīng)用軟件在開(kāi)發(fā)、實(shí)施和維護(hù)過(guò)程中的質(zhì)量、周期、成本、風(fēng)險(xiǎn)等方面的問(wèn)題,并使企業(yè)應(yīng)用軟件能夠滿足企業(yè)管理行業(yè)特性、企業(yè)個(gè)性化和持續(xù)完善的要求,對(duì)于企業(yè)應(yīng)用軟件在行業(yè)應(yīng)用開(kāi)發(fā)和維護(hù)、實(shí)施帶來(lái)了全新的應(yīng)用模式和革

2、命。金蝶EAS BOS提供的集成管理平臺(tái),使企業(yè)應(yīng)用可以集企業(yè)門(mén)戶(Portal)、辦公自動(dòng)化(OA)、企業(yè)資源管理(ERP)、工作流(Workflow)以及業(yè)務(wù)重組(BPR)于一體,對(duì)于企業(yè)的團(tuán)隊(duì)協(xié)作、業(yè)務(wù)支持、管理控制、決策分析、商務(wù)智能以及企業(yè)信息實(shí)時(shí)化提供全面的支持。金蝶EAS BOS,集中體現(xiàn)了金蝶公司對(duì)中國(guó)特色化企業(yè)管理和國(guó)際先進(jìn)管理思想領(lǐng)域的孜孜不倦的探索和追求,融合了金蝶公司在企業(yè)應(yīng)用軟件領(lǐng)域十多年的行業(yè)經(jīng)驗(yàn)和軟件開(kāi)發(fā)經(jīng)驗(yàn),對(duì)產(chǎn)品不斷的發(fā)展與完善,為企業(yè)用戶帶來(lái)高效、靈活、柔性以及功能強(qiáng)大的企業(yè)管理系統(tǒng),幫助企業(yè)用戶在激烈的市場(chǎng)競(jìng)爭(zhēng)中贏得先機(jī)并獲得前所未有的高回報(bào)。金蝶EAS

3、BOS應(yīng)用框架金蝶EAS BOS技術(shù)特性全面的模型驅(qū)動(dòng)架構(gòu)金蝶EAS BOS在面向業(yè)務(wù)分析的基礎(chǔ)上提煉出一個(gè)業(yè)務(wù)元數(shù)據(jù)描述的抽象層(對(duì)象構(gòu)造模型)。這個(gè)抽象層是整個(gè)系統(tǒng)運(yùn)行的基礎(chǔ),包括了業(yè)務(wù)對(duì)象結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)、交互界面、系統(tǒng)部署、系統(tǒng)接口等全方位的信息。并且通過(guò)內(nèi)置的集成開(kāi)發(fā)環(huán)境,可以不斷地將獲取及更新的業(yè)務(wù)知識(shí)補(bǔ)充到這個(gè)模型中,支持業(yè)務(wù)能力的持續(xù)改進(jìn)。通過(guò)靈活的架構(gòu)及專業(yè)的工具,業(yè)務(wù)專業(yè)人員可以專心于業(yè)務(wù)的分析及業(yè)務(wù)的邏輯處理,然后通過(guò)集成開(kāi)發(fā)環(huán)境將其專業(yè)能力分析的內(nèi)容輕松地加入到系統(tǒng)中,迅速提升系統(tǒng)的業(yè)務(wù)處理能力,大大降低了實(shí)施成本。 示例:基于模型技術(shù)實(shí)現(xiàn)的IDE開(kāi)發(fā)平臺(tái)功能平臺(tái)級(jí)的技術(shù)

4、控制能力Apusic應(yīng)用服務(wù)器 Apusic應(yīng)用服務(wù)器是嚴(yán)格遵循J2EE等工業(yè)技術(shù)標(biāo)準(zhǔn)的企業(yè)應(yīng)用平臺(tái),是國(guó)內(nèi)第一個(gè)商業(yè)J2EE應(yīng)用服務(wù)器產(chǎn)品。通過(guò)對(duì)應(yīng)用服務(wù)器平臺(tái)技術(shù)的自主控制,金蝶EAS BOS能夠充分挖掘平臺(tái)技術(shù)潛力,提供給用戶高效、高可靠的產(chǎn)品。多技術(shù)平臺(tái)支持 在基于Internet的企業(yè)級(jí)應(yīng)用軟件的技術(shù)領(lǐng)域中,國(guó)際上主流的技術(shù)平臺(tái)存在著Microsoft.NET和J2EE兩大技術(shù)架構(gòu)。這兩種技術(shù)架構(gòu)代表著平臺(tái)架構(gòu)技術(shù)的最新發(fā)展,兩者互有優(yōu)勢(shì),目前已經(jīng)部署或?qū)⒁渴鸬钠髽I(yè)信息平臺(tái)絕大多數(shù)都從兩者中選擇其一。金蝶本著幫助顧客成功的產(chǎn)品研發(fā)理念,憑借多年積累的技術(shù)實(shí)力,通過(guò)金蝶BOS平臺(tái)無(wú)關(guān)

5、性的設(shè)計(jì),實(shí)現(xiàn)了對(duì).NET和J2EE這兩種技術(shù)架構(gòu)的支持。使得顧客在平臺(tái)選擇上有了完全的自主能力,用戶可以根據(jù)企業(yè)自身信息化發(fā)展的狀況來(lái)決定如何部署技術(shù)平臺(tái),充分保障了既有投資及未來(lái)的發(fā)展。而且,基于金蝶EAS BOS的技術(shù)平臺(tái),為客戶提供了一種途徑,使得企業(yè)原有分屬于不同技術(shù)架構(gòu)體系的應(yīng)用系統(tǒng)可以實(shí)現(xiàn)整合。通過(guò)對(duì)Web Service的廣泛支持,異種技術(shù)平臺(tái)間可以自由通信,相互集成。 多種數(shù)據(jù)庫(kù)支持 翻譯引擎支持多種大型數(shù)據(jù)庫(kù),業(yè)務(wù)系統(tǒng)可自由選擇任意數(shù)據(jù)庫(kù)產(chǎn)品作為數(shù)據(jù)承載平臺(tái),基于BOS開(kāi)發(fā)的業(yè)務(wù)系統(tǒng)如果需要運(yùn)行于新的數(shù)據(jù)庫(kù)平臺(tái)上,只需要在BOS上擴(kuò)展新的數(shù)據(jù)庫(kù)翻譯引擎子集即可,原有業(yè)務(wù)系統(tǒng)

6、無(wú)需重新開(kāi)發(fā)。金蝶EAS BOS的數(shù)據(jù)庫(kù)翻譯引擎提供了兩個(gè)子功能層,分別實(shí)現(xiàn)多種SQL版本的語(yǔ)義翻譯和異種數(shù)據(jù)庫(kù)訪問(wèn)連接。SQL語(yǔ)義翻譯引擎 雖然所有大型數(shù)據(jù)庫(kù)都支持大部分的標(biāo)準(zhǔn)SQL語(yǔ)法,但是每個(gè)廠商提供的數(shù)據(jù)庫(kù)產(chǎn)品都有各自特性的SQL語(yǔ)法子集,這些特性子集的存在造成了業(yè)務(wù)系統(tǒng)不能夠直接在多個(gè)數(shù)據(jù)庫(kù)產(chǎn)品之間遷移的障礙。金蝶EAS BOS提供的SQL語(yǔ)義翻譯引擎,可以使不同的數(shù)據(jù)庫(kù)產(chǎn)品都能夠正確理解和處理來(lái)自業(yè)務(wù)系統(tǒng)發(fā)出的操作請(qǐng)求。異種數(shù)據(jù)庫(kù)訪問(wèn)引擎每一種數(shù)據(jù)庫(kù)都有各自的訪問(wèn)處理方式從數(shù)據(jù)庫(kù)支持的網(wǎng)絡(luò)協(xié)議庫(kù)到數(shù)據(jù)庫(kù)訪問(wèn)的授權(quán)到數(shù)據(jù)庫(kù)連接的建立都各自不盡相同。金蝶EAS BOS提供的異種數(shù)據(jù)庫(kù)訪

7、問(wèn)引擎,可以使業(yè)務(wù)系統(tǒng)透明的訪問(wèn)任何一種數(shù)據(jù)庫(kù),而無(wú)需了解數(shù)據(jù)庫(kù)的產(chǎn)品廠商差異以及所運(yùn)行的平臺(tái)差異。EAS BOS 開(kāi)發(fā)B/S結(jié)構(gòu)EAB BOS 開(kāi)發(fā)B/S程序時(shí),產(chǎn)生的后臺(tái)代碼EJB,前臺(tái)代碼是JSF和EXT;后臺(tái)的EJB代碼發(fā)布在Apusic這個(gè)應(yīng)用服務(wù)器上,前臺(tái)JSF和EXT代碼也是運(yùn)行在apusic應(yīng)用服務(wù)器上。JSF操作數(shù)據(jù)時(shí),就需要訪問(wèn)EJB的方法來(lái)對(duì)數(shù)據(jù)進(jìn)行增、刪、改和查。EAS BOS開(kāi)發(fā)C/S結(jié)構(gòu)EAB BOS 開(kāi)發(fā)C/S程序時(shí),產(chǎn)生的后臺(tái)代碼EJB,前臺(tái)代碼是swing;后臺(tái)的EJB代碼發(fā)布在Apusic這個(gè)應(yīng)用服務(wù)器上,前臺(tái)swing代碼也是運(yùn)行在客戶機(jī)上。swing操作

8、數(shù)據(jù)時(shí),就需要訪問(wèn)EJB的方法來(lái)對(duì)數(shù)據(jù)進(jìn)行增、刪、改和查。EAS BOS訪問(wèn)流程1.1.2 參考資料資料BOS框架BOS開(kāi)發(fā)指南_應(yīng)用框架.doc資料BOS框架EASBOS框架入門(mén).pptx資料BOS框架應(yīng)用框架編程指南.doc1.2 學(xué)習(xí)目標(biāo)2 EAS BOS 開(kāi)發(fā)環(huán)境學(xué)習(xí)2.1 學(xué)習(xí)內(nèi)容2.1.1 概述BOSModular是什么BOS Modular是一個(gè)在eclipse上的一個(gè)插件,在bos Modular中,可以直接托拉控件生成界面。BOS Modular的目錄結(jié)構(gòu)如下:BOSModular 點(diǎn)“BOSModular_zh_CN.bat”這個(gè)批處理就可以啟動(dòng)開(kāi)發(fā)工具了。BOSModul

9、ar怎么打開(kāi)各個(gè)窗口視圖1:在菜單中選擇“窗口”菜單,然后選擇“顯示視圖”子菜單,如下圖:2:再選擇“其它”菜單,彈出如下窗口,我們可以在窗口中選擇隨意窗口: BOS BIM視圖1:如上圖點(diǎn)“金蝶BOS業(yè)務(wù)建模”,在BOSModular中就會(huì)顯示業(yè)務(wù)建模視圖如下:在業(yè)務(wù)建模視圖中,我們主要是建業(yè)務(wù)單據(jù),發(fā)布業(yè)務(wù)單據(jù)。BOS設(shè)計(jì)視圖1:如上圖點(diǎn)“金蝶BOS設(shè)計(jì)模式”,在BOSModular中就會(huì)顯示業(yè)務(wù)建模視圖如下:在設(shè)計(jì)視圖下,主要是設(shè)計(jì)界面,給界面控件邦定數(shù)據(jù),修改各種元數(shù)據(jù)大綱窗口視圖數(shù)據(jù)邦定窗口視圖 屬性窗口視圖BOS JAVA視圖1:如上圖點(diǎn)“java視圖”,在BOSModular中就

10、會(huì)顯示java視圖如下:在JAVA視圖中,我們修改JAVA代碼,新增邏輯。 行業(yè)版開(kāi)發(fā)環(huán)境搭建1.導(dǎo)入解決方案。2.選擇方案-轉(zhuǎn)換為行業(yè)解決方案(業(yè)務(wù)建模視圖中)3.刪除工程中 basemetas 文件夾中(除 bos eas bim_templates.zip)的文件和文件夾4.開(kāi)發(fā)完成后 選擇 基線化行業(yè)解決方案(設(shè)計(jì)開(kāi)發(fā)工具中)5在工程目錄下 將 exporttemp 文件夾中的 內(nèi)容復(fù)制到 deployed_metas 文件夾中2.1.2 參考資料資料環(huán)境4.安裝bosmodular安裝bosmodular.swf資料環(huán)境5.導(dǎo)入license及解決方案導(dǎo)入license

11、及解決方案.swf2.2 學(xué)習(xí)目標(biāo)3 EAS BOS開(kāi)發(fā)一個(gè)完整的業(yè)務(wù)單據(jù)3.1 學(xué)習(xí)內(nèi)容3.1.1 概述開(kāi)發(fā)流程(業(yè)務(wù)建模方式):1. 倒入解決方案。2. 新建業(yè)務(wù)單元。3. 菜單管理。4. 發(fā)布業(yè)務(wù)單據(jù)。5. 編寫(xiě)java代碼。開(kāi)發(fā)流程(設(shè)計(jì)工具方式):1. 倒入解決方案,或者自己新建項(xiàng)目。2. 新建元數(shù)據(jù)。3. 發(fā)布元數(shù)據(jù)。4. 編寫(xiě)java代碼。客戶端-à服務(wù)端客戶端:1.獲取界面數(shù)據(jù)。(EditUI可以通過(guò)框架自動(dòng)將界面控件中的值綁定到editData中);也可以通過(guò)控件直接獲取值。2.獲取遠(yuǎn)程調(diào)用接口。XXXFactory.getRemoteInstance()。Icur

12、rency icurrency = Icurrency Factory.getRemoteInstance(); /獲取幣別的遠(yuǎn)程調(diào)用接口3.通過(guò)接口調(diào)用后臺(tái)組件(方法)。icurrency.save(editData); /調(diào)用服務(wù)端保存方法服務(wù)端:4.獲取客戶端的數(shù)據(jù),實(shí)現(xiàn)業(yè)務(wù)邏輯。5.根據(jù)需要,通過(guò)對(duì)象或者直接寫(xiě)KSQL操作數(shù)據(jù)庫(kù)。界面控制一般在界面的onLoad 方法 或者onShow 方法中控制界面一些屬性。例如:隱藏一個(gè)控件。public void onShow()txtName. setVisible(false); /設(shè)置txtName控件不可見(jiàn)3.1.2 參考資料資料開(kāi)發(fā)流程

13、BOS V6.2開(kāi)發(fā)指南_Studio.pdf資料開(kāi)發(fā)流程EAS開(kāi)發(fā)流程.doc資料開(kāi)發(fā)流程視頻6.BIM幣別Currency.swf3.2 目標(biāo)4 BOS元數(shù)據(jù)及代碼結(jié)構(gòu)4.1 學(xué)習(xí)內(nèi)容4.1.1 概述一:關(guān)系(一)實(shí)體和實(shí)體關(guān)系1 實(shí)體(Entity)與實(shí)體之間存在聯(lián)系時(shí),需要建立關(guān)系(Relation)。2 實(shí)體可以導(dǎo)出數(shù)據(jù)表(Table)。3 新建查詢(Query)必須選擇實(shí)體。4 ListUI(UI)界面需要綁定查詢,其顯示的數(shù)據(jù)要是通過(guò)查詢獲得。5 EditeUI(UI)界面需要綁定實(shí)體,界面中的空間和實(shí)體的屬性綁定進(jìn)行值傳遞。(二)實(shí)體和代碼關(guān)系實(shí)體和UI 發(fā)布會(huì)生成對(duì)應(yīng)的Jav

14、a代碼1. 實(shí)體ZTTest(Entity)發(fā)布生成的類2. 用戶界面(UI)發(fā)布生成的類二:在什么地方加代碼來(lái)實(shí)現(xiàn)一些功能1.所有的抽象類我們不能修改。2.在開(kāi)發(fā)中我們需要修改的java類主要包括*ControllerBean,*EidteUI,*ListUI 結(jié)尾的非抽象類。3*ControllerBean 主要是編寫(xiě)服務(wù)端的代碼邏輯(新增,修改,刪除等功能)。例如:在該類中我們可以重寫(xiě)_save()方法。這個(gè)方法主要是實(shí)現(xiàn)保存,我們就可以在該方法中添加自己代碼邏輯。4.*EditeUI 類是客戶端編輯界面對(duì)應(yīng)的類。5.*ListUI 類是客戶端敘事簿界面對(duì)應(yīng)的類。4.1.2 參考資料資料

15、BOS V6.2開(kāi)發(fā)指南_元數(shù)據(jù)介紹.pdf資料通用Query查詢開(kāi)發(fā)指南.doc資料BOS Studio開(kāi)發(fā)指南(元數(shù)據(jù)).ppt4.2 目標(biāo)5 EAS BOS 常用功能5.1 學(xué)習(xí)內(nèi)容5.1.1 常用功能總結(jié) 客戶端環(huán)境工具類工具類:com.kingdee.eas mon.client.SysContext 作用:靜態(tài)存儲(chǔ)用戶當(dāng)前登錄信息,登錄的當(dāng)前組織信息(ContextUtil在服務(wù)端使用)SysContext.getSysContext().getCurrentFIUnit() /獲得財(cái)務(wù)組織SysContext.getSysContext().getCurrentUs

16、erInfo() /取得用戶信息 獲取菜單參數(shù)作用:該方法返回的是一個(gè)Map,里面存放菜單的一些參數(shù)。例如菜單名稱,路徑等。getUIContext().get("UIClassParam") 獲取當(dāng)前組織的常用方法。1. CompanyOrgUnitInfo company = ContextUtil.getCurrentFIUnit(ctx); /服務(wù)端2. CompanyOrgUnitInfo company = ContextHelperFactory.getLocalInstance(ctx).getCurrentCompany();

17、/服務(wù)端3. CompanyOrgUnitInfo company = ContextHelperFactory.getRemoteInstance().getCurrentCompany();/客戶端 接口方法的訪問(wèn)方式1 客戶端訪問(wèn)ICurrency c = CurrencyFactory.getRemoteInstance();/建立實(shí)體對(duì)象c. getCurrencyCollection();/方法調(diào)用2 服務(wù)端訪問(wèn)ICurrency c = CurrencyFactory. getLocalInstance (ctx);/建立實(shí)體對(duì)象c. getCurrencyColl

18、ection();/方法調(diào)用 數(shù)據(jù)庫(kù)工具用法總結(jié)1DbUtil用法。com.kingdee.eas.util.app.DbUtil(1)查詢操作StringBuffer sql = new StringBuffer(); sql.append("select fid from t_cas_ztdemo");/返回結(jié)果集,結(jié)果集的取值和JAVA ResultSet 相同 IRowSet rowSet = DbUtil.executeQuery(ctx, sql.toString();(2) 增加、刪除、修改操作調(diào)用 DbUtil. Execute().2. IF

19、MIsqlFacade用法。com.kingdee.eas.fm mon.IFMIsqlFacade;IFMIsqlFacade fMIsqlFacade = FMIsqlFacadeFactory.getRemoteInstance();客戶端IFMIsqlFacade fMIsqlFacade = FMIsqlFacadeFactory.getLocalInstance(ctx);服務(wù)端StringBuffer sql = new StringBuffer();sb.append(" select a.fid from T_BD_Acct_Contorl a");sb.

20、append(" inner join t_org_company c on a.FDestCompanyID = c.fid");sb.append(" where a.FAccountTableID = ? and a.FIsDefaultForRefer = 0");/其中 new Object 傳遞的參數(shù),可以是多個(gè)用逗號(hào)分開(kāi)IRowSet rs = fMIsqlFacade.executeQuery(sb.toString(), new Object accountTableId); 期間工具工具類:com.kingdee.eas

21、.basedata.assistant.PeriodUtils作用:該工具類中包含很多關(guān)于期間處理的方法,涉及到關(guān)于期間的問(wèn)題可以在該類中查找相應(yīng)的方法。提供靜態(tài)方法可獲取期間,進(jìn)行期間運(yùn)算、比較等功能例:/根據(jù)日期、組織獲得期間對(duì)象。/date 為日期,companyInfo 為組織PeriodInfo periodInfo = PeriodUtils.getPeriodInfo(date, companyInfo);/ 根據(jù)期間ID獲得期間對(duì)象 periodId為期間IDPeriodInfo periodInfo = PeriodFactory.getLocalInstance(ctx).

22、getPeriodInfo(new ObjectUuidPK(BOSUuid.read(periodId);/根據(jù)期間ID 獲得對(duì)應(yīng)期間的下一期間 periodId為期間IDPeriodInfo periodInfo = PeriodUtils.getNextPeriodInfo(ctx, new ObjectUuidPK(BOSUuid.read(periodId);/判斷該期間是否為調(diào)整期periodInfo.isIsAdjustPeriod() /獲取期間對(duì)應(yīng)的開(kāi)始日期、結(jié)束日期。Date endDate = periodInfo.getEndDate();Date beginDate

23、= periodInfo.getBeginDate();/日期轉(zhuǎn)換public static Timestamp getTime() Timestamp createtime;Date date = new Date();long time = date.getTime();Calendar d = Calendar.getInstance();d.setTime(new Timestamp(time);d.set(Calendar.MILLISECOND, 0);createtime = new Timestamp(d.getTime().getTime();return createtim

24、e;t_pm_mainmenuitem 菜單表 日期幫助工具工具類:com.kingdee.eas.fm mon.DateHelper作用: 日期幫助類,主要提供與日期相關(guān)的方法,例如計(jì)算指定日期的前一天、日期所在月的第一天等例:DateHelper.getFirstDayOfCurMonth() /獲取當(dāng)前月的第一天DateHelper.getEndDayOfCurMonth() /獲取當(dāng)前月的最后一天 對(duì)象查詢IAccount_Control acctCtrl = Account_ControlFactory.getLocalInstance(ctx);Enti

25、tyViewInfo evi=new EntityViewInfo();FilterInfo filter=new FilterInfo();evi.setFilter(filter);/添加所需要查詢的對(duì)象evi.getSelector().add("accountTableID");evi.getSelector().add("availDataFrom");evi.getSelector().add("availDataTo");evi.getSelector().add("accountPeriodType"

26、;);/設(shè)置過(guò)濾條件 / FilterItemInfo參數(shù)含義 FilterItemInfo(arg1,arg2,arg3);/ arg1: 過(guò)濾對(duì)象名/ arg2: 值(和過(guò)濾對(duì)象做比較)/ arg3: 對(duì)象與值的比較方式.值為空時(shí),默認(rèn)為等于 CompareType 獲取比較方式filter.getFilterItems().add(new FilterItemInfo("accountTableID", "QkvFqwEXEADgAD1sChkaBhdpjm0=");filter.getFilterItems().add(new FilterIte

27、mInfo("isDefaultForRefer", new Integer(0);/根據(jù) EntityViewInfo 對(duì)象為條件 獲取查詢結(jié)果,返回的值是一個(gè)集合Account_ControlCollection acctCtrlCols = acctCtrl.getAccount_ControlCollection(evi); 根據(jù)主鍵(id)查詢1查詢主鍵對(duì)應(yīng)的所有數(shù)據(jù)。IAccount_Control acctCtrl = Account_ControlFactory.getLocalInstance(ctx);String id = "1

28、23" / 要查詢對(duì)象的idAccount_ControlInfo acctCtrInfo = acctCtrl.getAccount_ControlInfo(new ObjectUuidPK(id);2. 查詢主鍵對(duì)應(yīng)的指定的數(shù)據(jù)。IAccount_Control acctCtrl = Account_ControlFactory.getLocalInstance(ctx);String id = "123" / 要查詢對(duì)象的id/ 添加所需要查詢的對(duì)象SelectorItemCollection selector = new SelectorItemColle

29、ction();selector.add("accountTableID");selector.add("accountPeriodType");Account_ControlInfo acctCtrInfo = acctCtrl.getAccount_ControlInfo(new ObjectUuidPK(id), selector);0 消息提示框工具類:com.kingdee.eas.util.client.MsgBox該工具類擁有多個(gè)方法,根據(jù)不同的需要調(diào)用方法,只能在客戶端使用。例子:1. MsgBox.showInfo(&qu

30、ot;YES");2. MsgBox.showConfirm2("YES");3. MsgBox.showConfirm3("YES");4. MsgBox.showConnectionError("YES");5. MsgBox.showConfirm3a("YES", "error");1 資源文件引用工具類:com.kingdee.eas.util.client.EASResource com.kingdee.eas.util.ResourceBase常用方法:EA

31、SResource. getString(String resClassName, String resName)resClassName:資源文件resName:資源文件中的屬性名例:MsgBox.showInfo(this, EASResource.getString("com.kingdee.eas.fi.cas.CasResources","CheckAccount");ResourceBase.getString("com.kingdee.eas.fi.gl.GLAutoGenerateResource","974

32、_GLAccountRefContrastProcess", ctx.getLocale();2 BigDecimal類型的使用方式工具類:java.math.BigDecimal作用:金額、單價(jià)的值需要付值為BigDecimal類型BigDecimal amounts1 = new BigDecimal(String.valueOf(3.00);BigDecimal amounts2 = new BigDecimal(String.valueOf(2.00);/相加amounts1.add(amounts2);/相減amounts1.subtract(amounts2

33、);3 F7控件付值public void initF7Acct( IUIObject owner, KDBizPromptBox f7, CompanyOrgUnitInfo company) if(company.getAccountTable()=null) return; /為F7控件設(shè)置Query f7.setQueryInfo("com.kingdee.eas.basedata.master.account.app.F7AccountViewQuery"); EntityViewInfo evi = new EntityViewInfo(); Fi

34、lterInfo filterInfo = new FilterInfo();/設(shè)置過(guò)濾條件 evi.setFilter(filterInfo); filterInfo.getFilterItems().add(new FilterItemInfo("isLeaf", "1"); filterInfo.getFilterItems().add(new FilterItemInfo("companyID.id", company.getId().toString(); filterInfo.getFilterItems().add(ne

35、w FilterItemInfo("accountTableID.id", company.getAccountTable().getId().toString(); f7.setEntityViewInfo(evi); f7.setDisplayFormat("$number$-$name$"); f7.setEditFormat("$number$"); f7.setCommitFormat("$number$"); f7.setEditable(true);/ f7Acct.setSelector(new A

36、ccountPromptBox(owner, company, filter, false, true);/此句不增加,將在第一次查詢?cè)O(shè)置的條件不生效f7.getQueryAgent().resetRuntimeEntityView();4 通用過(guò)濾ListUI界面中的幾個(gè)方法。/可以設(shè)置通用過(guò)濾所包含的界面protected CommonQueryDialog getQueryDlg() throws Exception CommonQueryDialog dialog = super.getQueryDlg();dialog.setShowFilter(false); /是否

37、顯示自定義頁(yè)簽dialog.setShowSorter(true); /是否顯示排序頁(yè)簽return dialog;/獲取用戶自定義界面(條件頁(yè)簽)public FMFilterBaseUI getFilterUI() throws Exception if (filterUI = null) filterUI = new FundsMoveBillFilterUI();return filterUI;/添加自定義界面public CommonQueryDialog initCommonQueryDialog()CommonQueryDialog conditionDialog = super

38、.initCommonQueryDialog();/設(shè)置固定查詢界面try CustomerQueryPanel userPanel = getFilterUI();if(userPanel != null)conditionDialog.addUserPanel(userPanel); catch (Exception e) super.handUIException(e);return(conditionDialog);/處理自定義查詢頁(yè)簽界面protected CommonQueryProcessor getQueryProcessor() /FundsMoveBillProcess 要

39、繼承 com.kingdee.eas.base monquery.client monQueryProcessorreturn new FundsMoveBillProcess(this);在CommonQueryProcessor(查詢界面自定義查詢頁(yè)簽中屬性的處理類)及其子類中,獲取CommonQueryPanel,以及用戶自定義界面(*FilterUI.java)。方 法:CommonQueryPanel commonQueryPanel = (CommonQueryPanel)get("COMMON_QUERY_PANEL"); commonQueryPanel.g

40、etCustomerQueryPanel().get(i);/獲取用戶自定義界面(條件頁(yè)簽)。 Object editor = get(CURRENT_EDITOR); /獲取自定義頁(yè)簽比較值對(duì)應(yīng)的控件。 String field = (String) get(CURRENT_FIELD_PROP); /獲取自定義頁(yè)簽過(guò)濾條件屬性名5 SysUtil.abort方法工具類:com.kingdee.eas.util.SysUtil;作 用:停止當(dāng)前UI的所有操作,或終止服務(wù)端方法SysUtil. abort()6 常用F7 Query1科目F7com.kingdee.

41、eas.basedata.master.account.app.F7AccountViewQuery2科目表com.kingdee.eas.basedata.master.account.app.AccountTableQuery3客戶F7com.kingdee.eas.basedata.master.cssp.app.F7CustomerQuery4供應(yīng)商F7com.kingdee.eas.basedata.master.cssp.app.F7SupplierQuery5客商統(tǒng)一碼F7com.kingdee.eas.basedata.master.cssp.app.F7BizAnalysis

42、CodeQuery6物料F7com.kingdee.eas.basedata.master.material.app.F7MaterialQuery7輔助核算F7com.kingdee.eas.basedata.master.auxacct.app.F7AsstAccountQuery8幣別F7com.kingdee.eas.basedata.assistant.app.F7CurrencyQuery9輔助核算類型F7com.kingdee.eas.basedata.master.auxacct.app.F7AsstActTypeQuery10匯率F7com.kingdee.eas.based

43、ata.assistant.app.F7ExchangeRateQuery11銀行賬戶F7com.kingdee.eas.basedata.assistant.app.F7AccountBankQuery12銀行F7com.kingdee.eas.basedata.assistant.app.F7BankQuery13用戶F7com.kingdee.eas.base.permission.app.F7UserQuery14銀行F7com.kingdee.eas.basedata.assistant.app.F7BankQuery If not exists (select * from KSQ

44、L_USERCOLUMNS where KSQL_COL_NAME ='FTransportTypeID' and KSQL_COL_TABNAME='T_ST_BalanceBaseType')alter table T_ST_BalanceBaseType add FTransportTypeID VARCHAR(44);7 獲取狀態(tài)1主要是獲取該EditUI的狀態(tài) public static final String STATUS_ADDNEW = "ADDNEW" 新增 public static final Strin

45、g STATUS_EDIT = "EDIT" 修改 public static final String STATUS_VIEW = "VIEW" 查看public String getOprtState() return this.oprtState; / 獲取狀態(tài) public void setOprtState(String oprtType) this.oprtState = oprtType; this.uiParam.put("oprtState", oprtType); 8 手動(dòng)調(diào)用BOTPIBTPMana

46、ger iBTPManager = BTPManagerFactory.getLocalInstance(ctx);IBOTMapping botMapping = BOTMappingFactory.getLocalInstance(ctx);/ 查詢是否存在此botp規(guī)則 EntityViewInfo ev = new EntityViewInfo();FilterInfo filter = new FilterInfo();ev.setFilter(filter);filter.getFilterItems().add(new FilterItemInfo("name"

47、;,"ST_Weigh-Sample(Pur)");BOTMappingCollection /獲取對(duì)應(yīng)的botp規(guī)則botMappingCollection=botMapping.getBOTMappingCollection(ev);String idList = new StringweighCollection.size();if(weighCollection=null|weighCollection.size()=0)return null;/構(gòu)建idList參數(shù) 原對(duì)象的IDfor(int i=0;i<weighCollection.size();i+)

48、idListi = weighCollection.get(i).getId().toString();/目標(biāo)對(duì)象SampleBillInfo destBillInfo=new SampleBillInfo();List list=new ArrayList();SelectorItemCollection selectors=null;/生成單據(jù) BTPTransformResult btpResult=iBTPManager.transformForBotp(idList,new String1 ,list, selectors, destBillInfo.getBOSType().toS

49、tring(), new ObjectUuidPK(botMappingCollection.get(0).getId().toString(),weighCollection.get(0).getBOSType().toString(); SampleBillCollection destBillColls = (SampleBillCollection)btpResult.getBills();BOTRelationCollection botRelationCols = btpResult.getBOTRelationCollection(); destBillInfo = (Sampl

50、eBillInfo)destBillColls.getObject(0);9 敘事簿枚舉自動(dòng)轉(zhuǎn)換與排序解決方案主要用途:一般情況下敘事簿上的枚舉是自動(dòng)轉(zhuǎn)換的,排序也可以在Qurey元數(shù)據(jù)中配置。這個(gè)主要是用在出現(xiàn)特殊情況下處理枚舉自動(dòng)轉(zhuǎn)換和排序。protected IQueryExecutor getQueryExecutor(IMetaDataPK queryPK, EntityViewInfo viewInfo) IQueryExecutor exec=super.getQueryExecutor(queryPK,viewInfo); /設(shè)置排序 if ("comkingdeeeasstbatchbizappsampleBatchQuery".equalsIgnoreCase(queryPK.toString() if (viewInfo.getSorter() = null| viewInfo.getSorter().size() <= 0) SorterItemInfo aSorterItemInfo = new SorterItem

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論