金蝶EAS BOS開發(fā)平臺培訓(xùn)體系_第1頁
金蝶EAS BOS開發(fā)平臺培訓(xùn)體系_第2頁
金蝶EAS BOS開發(fā)平臺培訓(xùn)體系_第3頁
金蝶EAS BOS開發(fā)平臺培訓(xùn)體系_第4頁
金蝶EAS BOS開發(fā)平臺培訓(xùn)體系_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

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

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

3、BOS應(yīng)用框架企業(yè)用戶決策房 管理房 加亍屋7EAS應(yīng)用系條匪略途業(yè)甘審XM企業(yè)IT人 員-覿國曾建-而售平臺一業(yè)界關(guān)聯(lián)一初始化骨在齡敏配置金蝶EAS BOS技術(shù)特性全面的模型驅(qū)動架構(gòu)金蝶EAS BOS在面向業(yè)務(wù)分析的基礎(chǔ)上提煉出一個業(yè)務(wù)元數(shù)據(jù)描述的抽象層(對象構(gòu)造模型九這 個抽象層是整個系統(tǒng)運行的基礎(chǔ),包括了業(yè)務(wù)對象結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)、交互界面、系統(tǒng)部署、系統(tǒng)接口等全 方位的信息。并且通過內(nèi)置的集成開發(fā)環(huán)境,可以不斷地將獲取及更新的業(yè)務(wù)知識補充到這個模型中,支 持業(yè)務(wù)能力的持續(xù)改進(jìn)。BeoLKt +Till VI ,7EiiLgdee TAS Bnn_t zleBOS Het&data r En

4、gineBnsiikEsEeportGeneratorKepositvryBusi meeRulesB-nsiiLesEObj e ctBusinessD&t ftbaseData Acc essCowles Accee模型驅(qū)動的伸系架構(gòu)通過靈活的架構(gòu)及專業(yè)的工具,業(yè)務(wù)專業(yè)人員可以專心于業(yè)務(wù)的分析及業(yè)務(wù)的邏輯處理,然后通過集成開發(fā)環(huán)境將其專業(yè)能力分析的內(nèi)容輕松地加入到系統(tǒng)中,迅速提升系統(tǒng)的業(yè)務(wù)處理能力,大大降低了實 施成本。示例:基于模型技術(shù)實現(xiàn)的IDE開發(fā)平臺功能Eingdee BOS元數(shù)據(jù)定義工具Eincdee EAS用戶盤作羿面模型驅(qū)動的開發(fā)及應(yīng)用場景平臺級的技術(shù)控制能力Apusic應(yīng)用

5、服務(wù)器Apusic應(yīng)用服務(wù)器是嚴(yán)格遵循J2EE等工業(yè)技術(shù)標(biāo)準(zhǔn)的企業(yè)應(yīng)用平臺,是國內(nèi)第一個商業(yè)J2EE應(yīng)用 服務(wù)器產(chǎn)品。通過對應(yīng)用服務(wù)器平臺技術(shù)的自主控制,金蝶EAS BOS能夠充分挖掘平臺技術(shù)潛力,提供給用戶高效、高可靠的產(chǎn)品。應(yīng)用部署孱答建工具Irtrsjis.丁血昭財C+Apus i c架構(gòu)示意圖多技術(shù)平臺支持在基于Internet的企業(yè)級應(yīng)用軟件的技術(shù)領(lǐng)域中,國際上主流的技術(shù)平臺存在著Microsoft.NET和 J2EE兩大技術(shù)架構(gòu)。這兩種技術(shù)架構(gòu)代表著平臺架構(gòu)技術(shù)的最新發(fā)展,兩者互有優(yōu)勢,目前巳經(jīng)部署或?qū)?要部署的企業(yè)信息平臺絕大多數(shù)都從兩者中選擇其一。金蝶本著幫助顧客成功的產(chǎn)品研發(fā)

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

7、只需要在BOS上擴(kuò)展新的數(shù)據(jù)庫翻譯引擎子集即可, 原有業(yè)務(wù)系統(tǒng)無需重新開發(fā)。金蝶EAS BOS的數(shù)據(jù)庫翻譯引擎提供了兩個子功能層,分別實現(xiàn)多種SQL版本的語義翻譯和異種數(shù)據(jù)庫訪問連接。EAS企業(yè)應(yīng)用系統(tǒng)KSQL (SQL語文翻譯引擎)SQL語義翻譯引擎雖然所有大型數(shù)據(jù)庫都支持大部分的標(biāo)準(zhǔn)SQL語法,但是每個廠商提供的數(shù)據(jù)庫產(chǎn)品都有各自 特性的SQL語法子集,這些特性子集的存在造成了業(yè)務(wù)系統(tǒng)不能夠直接在多個數(shù)據(jù)庫產(chǎn)品之間遷移的障礙。 金蝶EAS BOS提供的SQL語義翻譯引擎,可以使不同的數(shù)據(jù)庫產(chǎn)品都能夠正確理解和處理來自業(yè)務(wù)系統(tǒng) 發(fā)出的操作請求。異種數(shù)據(jù)庫訪問引擎每一種數(shù)據(jù)庫都有各自的訪問處理

8、方式從數(shù)據(jù)庫支持的網(wǎng)絡(luò)協(xié)議庫到數(shù)據(jù)庫訪問的授權(quán)到數(shù)據(jù)庫 連接的建立都各自不盡相同。金蝶EAS BOS提供的異種數(shù)據(jù)庫訪問引擎,可以使業(yè)務(wù)系統(tǒng)透明的訪問任何 一種數(shù)據(jù)庫,而無需了解數(shù)據(jù)庫的產(chǎn)品廠商差異以及所運行的平臺差異。EAS BOS開發(fā)B/S結(jié)構(gòu)EAB BOS開發(fā)B/S程序時,產(chǎn)生的后臺代碼EJB,前臺代碼是JSF和EXT;后臺的EJB代碼發(fā)布 在Apusic這個應(yīng)用服務(wù)器上,前臺JSF和EXT代碼也是運行在apusic應(yīng)用服務(wù)器上。JSF操作數(shù)據(jù)時,就 需要訪問EJB的方法來對數(shù)據(jù)進(jìn)行增、刪、改和查。EAS BOS開發(fā)C/S結(jié)構(gòu)EAB BOS開發(fā)C/S程序時,產(chǎn)生的后臺代碼EJB,前臺代碼

9、是swing;后臺的EJB代碼發(fā)布在Apusic 這個應(yīng)用服務(wù)器上,前臺swing代碼也是運行在客戶機(jī)上。swing操作數(shù)據(jù)時,就需要訪問EJB的方法來 對數(shù)據(jù)進(jìn)行增、刪、改和查。EAS BOS訪問流程參考資料資料BOS框架BOS開發(fā)指南 應(yīng)用框架.doc 資料BOS框架EASBOS框架入門.pptx 資料BOS框架應(yīng)用框架編程指南.doc1.2學(xué)習(xí)目標(biāo)2 EAS BOS開發(fā)環(huán)境學(xué)習(xí)2.1學(xué)習(xí)內(nèi)容概述BOSModular 是什么BOS Modular是一個在eclipse上的一個插件,在bos Modular中,可以直接托拉控件生成界面。i!麻11獨11貌11酬11幽I I,,Brofipl.

10、Bokla無生時問即1遷05月網(wǎng)日單指日朋河L遷05月網(wǎng)日用 CxnliBt恂kt渝idlAti rT iwub容明研|i-j P-indPi7*Tn*TQjijwLsMtrA 1 bhji!e?擴(kuò)明5忡FPfCrtJ-tBoKirf Pmm ./T.4 I ITS r:t7oo2E-ir tlgLflut 1 V函 lid =3 coailJiillnte (Lab d.Coniainei ccoitHmdlAr (LaI AlCdTit-airiAi立(Nzglrgo.)白 -=-J c cotte ar Kthi (LitclC iiitw Zl pYttc-arbhiri Ptrori

11、p LBoz)田 Ui 4:H.tr-At4Typ4 LibqlJCrait 應(yīng)攻 ijl ccaitoccurl in e (Lbh tlC:ni-3i 中m cont womit CLateLC dclI: ainer -L3 contcuLJact (LAlalCdiitwiriAiIDO胃亳 CarLaieBjeci s tcrEdCarB.isl. j-KecL3l:i:rEd tlT LO新即口 制胃市的嗣Ll:i :通;qrr顯示視圖四上門路說匹7稀蹙視閣另喜為m.田諺丑跟_17數(shù)據(jù)排定 國圖片祝圖 廣i .Q K其柚魚) Mt+aLft+Q, Q導(dǎo)骯首旬砂碗酬W語言礎(chǔ)我有痢輯x

12、Mialg式赫式|FrwiplEoM 田f發(fā) 日凸|2:再選擇“其它”菜單,彈出如下窗口,我們可以在窗口中選擇隨意窗口:BOS BIM視圖虞妙調(diào)試 金蝶E%設(shè).一磐丁g 岳金蝶眺業(yè).J咯資源1:如上圖點“金蝶BOS業(yè)務(wù)建?!?,在BOSModular中就會顯示業(yè)務(wù)建模視圖如下:包業(yè)罟單元管理沮呂王大綱口 口 :cqlztc:iTLew :由訂十 I& t5十 5 crri-tnT7 cp-I- 二 erri十&叩十吧即十 I& fdc十 125 na十 l2 FTiTi-I- 二 ricm-i- . / qm+rp1-2十serri由B 3t十頓+ &財冬系藐+蹬供應(yīng)鏈+ &基礎(chǔ)系場十&基礎(chǔ)資料

13、中 &人力資濯-象用戶自定義-必開投+浙安全運營管理+ B安全運營數(shù)據(jù)駒集t於領(lǐng)導(dǎo)日程+ &資金管理在業(yè)務(wù)建模視圖中,我們主要是建業(yè)務(wù)單據(jù),發(fā)布業(yè)務(wù)單據(jù)。BOS設(shè)計視圖唐格調(diào)試耗金喋BUS設(shè).|財 E 卷金蝶E頁業(yè).邕包斜類 應(yīng)暨大思片 了廿 4 - qk t ci :=ltl e wGT m etadata:EI J -:LTl0- | kingiiee0 easi i-=F) mE| IHapp:cli ent L57:web :=-jE|a C:it_KatqRegist er. bjj i + W gm+ 3 cije t oni路: lim pei-mi55:。以cp_leaiiei

14、_5. p ermi szi un i+ baEsmetaz在設(shè)計視圖下,主要是設(shè)計界面,給界面控件邦定數(shù)據(jù),修改各種元數(shù)據(jù)大綱窗口視圖E 蹈包隹基傳甘 u 宜 |目 筮UIj 0-三 1 繼承 E.liiltt l:Ro口 tP 純 e:l W ebLayont - 0 4謎承)m.t.Fi- eeP =me 1 (Fr eeP:duel)巴篇口:nLJLJLJ十 + + + 十+一- 0 省承)rout Form (Jorm) Smart I roo tTu ulBar (T u ulBar) T 北: 己-:iTLtE i iDat 電 (Lib sLC c-nt 乏i n& c i:i

15、TLtH:TLlL e r I. Lit e_C cmt a i nei m s gAr e a (M s gAr e mJ匚 qxl* c H 口ti (L:xb 1C cut ai nei- c ontrit wTjtp e CL:ib elC ont :ii m c out oc curT i m q (Lab elCcin t ai c utlt :=jti ciimt l.L:d_b elC uTL-taiTier. contsiibj ec t I.LaLeLC ont aine ccxiti-egisti_=iti ctlFecple .LprfTitregi stratiurJ

16、eop 1 eA|謎承)iruiu FiY i rLiiowlJ crT a g CU z qfT s4Act i :tlzE-Q DataUbj e rls:冒 Stitses數(shù)據(jù)邦定窗口視圖邙拉曰K 摭皿擔(dān) 巨屈性 才數(shù)據(jù)郵定 w .J巳路畦國袖湖引用:S稱對甄名稱包:ST是衡It認(rèn)屬性窗口視圖車牌號?romp +1! ox能撤銷重傲費用類型PrijTlp tliOK經(jīng)辦人Promp +U okX刪除但)1復(fù)制饋粘貼口金額單據(jù)E登記人FrumptBqx合并單元格抵命單元格插入行添加行插入列添加列.耳會語言編輯狀態(tài)編輯xhtml模式冊1除行刪除列.屬性日基本3 新建Act i on|g=新建

17、姑tUM1.贛設(shè)置焦點順序昌尾性 bindingCLinztriirLtjsv:fn;uri e.異性1佰bimdl.K C-33U tr hi DL匕 J 1VU n-une1pt nlreci a Lt- 4ti ocJe spit=1 ; 2ani f-?rcromjLiuii L產(chǎn)H i si , nuia=D l bJ dx. x tj-1 小口,n e a=93行為12 ILavlviJL 田L(fēng)l ralrTttr-a.9 田Csnvsirttfcan.r*r tvcIHe asd.! HpLiyFam !di Sitled物5 W田41L lFotna.t. nv c? u-4k

18、Jt slLl p filst重Q 田F4nd.4Kwd r-i quLX-* rt 44 Y-lli dtxtvEllll S3 h-lvi nlfrl噌U.i Li HrlnFavrTvn咽有 M1P.BOS JAVA 視圖酎妙調(diào)試盈金蝶處設(shè).-皇丁皿a金蝶郵業(yè).啟資源1:如上圖點“java視圖”,在BOSModular中就會顯示java視圖如下:E包資源管理器-膏丁-fjT?已 qkttjaiL 紉 uEerlibnB灣& &-0 & &waaBB回ffiEBaB國EaaBB .田:ffl-S:-0田田;:,!:s“;0:r-i-0 .M::,“”“”sr c理整醫(yī)、ghasemetas

19、 cache deploy iiHjpli:iyb!il_nifc!t:E lib1爪手neiiMetaz rimt irne srct UFTlp terrip or:=ii-y web:diLt_log. t BlfilFi-LjH: t.c qkt o ;ne w_1 i b. xml daticenterz. xmlste. wnJ. b:&Il epl O5rAg:HiLt. xnl depl uyeil. jirc-p erti es depl uyRe c oril. 2:iTli g. 3-rrril SubS yzte m_b c- e . xml SubS j/三 t e

20、m_e . xmlSubS v三 t e rriCh:WLar erit. xrrilSbSys t s mJ1 i 11 er.:iitiL在JAVA視圖中,我們修改JAVA代碼,新增邏輯。211.1行業(yè)版開發(fā)環(huán)境搭建導(dǎo)入解決方案。選擇方案-轉(zhuǎn)換為行業(yè)解決方案(業(yè)務(wù)建模視圖中)刪除工程中basemetas文件夾中(除bos eas bim_templates.zip)的文件和文件夾開發(fā)完成后選擇基線化行業(yè)解決方案(設(shè)計開發(fā)工具中)5在工程目錄下 將exporttemp文件夾中的 內(nèi)容復(fù)制到 deployed_metas文件夾中參考資料資料環(huán)境4.安裝 bosmodular安裝 bosmodu

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

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

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

24、置ZTTistid ORM-RPC訪問 .有客 戶皤為冼程奇慈.IZ.TTestBu或n耘兮早 客戶辟使用 廖口暮尸建及服務(wù)寤Ab slracLZTTeslInfo數(shù)據(jù)催讒的伉對象抽盤笑富戶端匿服舞器ETTestlnfo以Ab sb-acLZTTe3tIi以繼承,用戶在此斐礎(chǔ)戶訝 作整由.潺尖再次生底時正強(qiáng)色“舂戶端彥班資器ZTTsstC&llection數(shù)據(jù)枝逸的面對嘉集合客戶端及服務(wù)監(jiān)ZTTestFactoiyZTTsst&fJ生成壁客戶品及服務(wù)器ZlTesLController生觀蛆件旅口Ab stractZTTestContro Llej-Beain組件生現(xiàn)開發(fā)中的補充:邏輯也花該類上

25、縫承 后誼竺一漆務(wù)器ZTTeEtCoin. trail erBean從 Ab Ftrs ctZTTeEtControl lerBean 繼承,用 戶在 業(yè)矗石出F洪有福曲. 技生再壽出成時不轉(zhuǎn)罟.服咎8&2,用戶界面(UI)發(fā)布生成的類名稱作用部署位置Ab?ha otz iiestli stUIUI發(fā)布生成的抽鬼類,在該類中定義了控 件,事件等.客戶端zrreListn從AbstiacrZTTffitLjstn繼承,用戶在此基 礎(chǔ)上進(jìn)行修改,氓美再次生成時不祖蓋* 客戶端的違輯.主要是在該類炭觀。客戶端二:在什么地方加代碼來實現(xiàn)一些功能所有的抽象類我們不能修改。在開發(fā)中我們需要修改的java類

26、主要包括*ControllerBean,*EidteUI,*ListUI 結(jié) 尾的非抽象類。*ControllerBean主要是編寫服務(wù)端的代碼邏輯(新增,修改,刪除等功能)。例如:在該類中我們可以重寫_save()方法。這個方法主要是實現(xiàn)保存,我們就可以在該方法中 添加自己代碼邏輯。*EditeUI類是客戶端編輯界面對應(yīng)的類。方法名稱-描述界面初始仕事件.可以在此;-L獲取切的上下文和初始化數(shù)據(jù)=L設(shè)置控件風(fēng)格;3、設(shè)置界面組件的狀態(tài);/將業(yè)務(wù)數(shù)據(jù)裝載到控件 散據(jù)綁定代碼在烈y 中。刀隊控件中獲得最新的業(yè)務(wù)數(shù)據(jù)-數(shù)據(jù)綁定代碼在sup 就 storeF i 己Id $ 中刀W.Wf.f-UJW

27、 W在客戶端檢查業(yè)務(wù)翌輯合法性,不合法時拋出異常。4 此壯的檢查罪噩代替服務(wù)粼的橙驗,戰(zhàn)是為了在業(yè)務(wù)數(shù)據(jù)非 法時盡量少地提交服務(wù)端_ 口創(chuàng)建一個新業(yè)務(wù)對家,在新噌時被調(diào)用- 可以在此處為業(yè)務(wù)對象的屬性賦默認(rèn)值.2獲取列表射應(yīng)實體的業(yè)務(wù)接口,以便倜用業(yè)務(wù)方法Q5.*ListUI類是客戶端敘事簿界面對應(yīng)的類。方法客稱秒描述p界面初始化事件??梢栽诖?;L荻取UI的上下文和初始化數(shù)據(jù);# x設(shè)宣控件風(fēng)格;h設(shè)菅界面組件的狀態(tài);a獲取選擇行的18檢查選取的對彖是否為空指示關(guān)聯(lián)的編輯in對象名萩取列表對應(yīng)賣體的業(yè)務(wù)接口,以便調(diào)用業(yè)務(wù)方法。p參考資料資料BOS V6.2開發(fā)指南_元數(shù)據(jù)介紹.pdf 資料通用

28、 Query 杳詢開發(fā)指南.doc資料BOS Studio 開發(fā)指南(元數(shù)據(jù)).ppt4.2目標(biāo)5 EAS BOS常用功能5.1學(xué)習(xí)內(nèi)容常用功能總結(jié)客戶端環(huán)境工具類工具類: 作 用:靜態(tài)存儲用戶當(dāng)前登錄信息,登錄的當(dāng)前組織信息(C ontextUtil在服務(wù)端使用)SysContext.getSysContext().getCurrentFIUnit() 獲得財務(wù)組織SysContext.getSysContext().getCurrentUserInfo() /取得用戶信息獲取菜單參數(shù)作 用:該方法返回的是一個Map,里面存放菜單的一些參數(shù)。例如菜單名稱,路徑等。 getUIContext(

29、).get(UIClassParam)獲取當(dāng)前組織的常用方法。CompanyOrgUnitInfo company = ContextUtil.getCurrentFIUnit(ctx); /服艮務(wù)端CompanyOrgUnitInfo company =ContextHelperFactory.getLocalInstance(ctx).getCurrentCompany(); /服務(wù)端CompanyOrgUnitInfocompanyContextHelperFactory.getRemoteInstance().getCurrentCompany();/客 戶端接口方法的訪問方式客戶端訪

30、問ICurrency c = CurrencyFactory.getRemoteInstance();/健立實體對象c. getCurrencyCollection();/方法調(diào)用服務(wù)端訪問ICurrency c = CurrencyFactory. getLocalInstance (ctx);/健立實體對象c. getCurrencyCollection();/方法調(diào)用5115數(shù)據(jù)庫工具用法總結(jié)DbUtil 用法。 查詢操作StringBuffer sql = new StringBuffer();sql.append(select fid from t_cas_ztdemo);/返回結(jié)果

31、集,結(jié)果集的取值和JAVA ResultSet相同IRowSet rowSet = DbUtil.executeQuery(ctx, sql.toString();增加、刪除、修改操作調(diào)用DbUtil. Execute().IFMIsqlFacade 用法 。 mon.IFMIsqlFacade;IFMIsqlFacade fMIsqlFacade =FMIsqlFacadeFactory. getRemotelnstance ();客戶端IFMIsqlFacadefMIsqlFacade=FMIsqlFacadeFactory. getLocalInstance (ctx);服務(wù)端Strin

32、gBuffer sql = new StringBuffer();sb.append( select a.fid from T_BD_Acct_Contorl a);sb.append( inner join t_org_company c on a.FDestCompanyID = c.fid);sb.append( where a.FAccountTableID = ? and a.FIsDefaultForRefer =0);/其中new Object 傳遞的參數(shù),可以是多個用逗號分開IRowSet rs = fMIsqlFacade.executeQuery(sb.toString()

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

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

35、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 cre

36、atetime; t_pm_mainmenuitem 菜單表5117日期幫助工具工具類:作 用:日期幫助類,主要提供與日期相關(guān)的方法,例如計算指定日期的前一天、日期所在月的第一 天等例:DateHelper.getFirstDayOfCurMonth() /獲取當(dāng)前月的第一天 DateHelper.getEndDayOfCurMonth() /獲取當(dāng)前月的最后一天對象查詢IAccount_Control acctCtrl =Account_ControlFactory.getLocallnstance(ctx);EntityViewInfo evi=new EntityViewInfo();F

37、ilterinfo filter=new FilterInfo();evi.setFilter(filter);/添加所需要查詢的對象evi.getSelector().add(accountTablelD);evi.getSelector().add(availDataFrom);evi.getSelector().add(availDataTo);evi.getSelector().add(accountPeriodType);/設(shè)置過濾條件/ Filterlteminfo參數(shù)含義FilterItemInfo(arg1 arg2,arg3);/ argl:過濾對象名/ arg2:值(和過濾

38、對象做比較)/ arg3:對象與值的比較方式.值為空時,默認(rèn)為等于CompareType獲取比較方式 filter.getFilterItems().add(new FilterItemInfo(accountTablelD, QkvFqwEXEADgAD1sChkaBhdpjm0=);filter.getFilterItems().add(new FilterItemInfo(isDefaultForRefer, new Integer(0);根據(jù)EntityViewInfo對象為條件獲取查詢結(jié)果,返回的值是一個集合 Account_ControlCollection acctCtrlCol

39、s = acctCtrl.getAccount_ControlCollection(evi);根據(jù)主鍵(id)查詢查詢主鍵對應(yīng)的所有數(shù)據(jù)。IAccount_Control acctCtrl =Account_ControlFactory.getLocallnstance(ctx);String id = 123; / 要查詢對象的 idAccount_ControlInfo acctCtrInfo = acctCtrl.getAccount_ControlInfo(new ObjectUuidPK(id);查詢主鍵對應(yīng)的指定的數(shù)據(jù)。IAccount_Control acctCtrl =Acco

40、unt_ControlFactory.getLocallnstance(ctx);String id = 123; / 要查詢對象的 id/添加所需要查詢的對象SelectorltemCollection selector = new SelectorItemCollection();selector.add(accountTablelD);selector.add(accountPeriodType);Account_ControlInfo acctCtrInfo = acctCtrl.getAccount_ControlInfo(new ObjectUuidPK(id), selector

41、);51110消息提示框工具類: 該工具類擁有多個方法,根據(jù)不同的需要調(diào)用方法,只能在客戶端使用。例子:1. MsgBox.showInfo(YES);2. MsgBox.showConfirm2(YES);3. MsgBox.showConfirm3(YES);MsgBox.showConnectionError(YES);MsgBox.showConfirm3a(YES, error);資源文件引用工具類: 常用方法:EASResource. getString(String resClassName, String resName) resClassName:資源文件 resName:資

42、源文件中的屬性名例:MsgBox. showinfo (this , EASResource. getString ( com.kingdee.eas.fi.cas.CasResources, CheckAccount);ResourceBase.getString( com.kingdee.eas.fi.gl.GLAutoGenerateResource, 974_GLAccountRefContrastProcess, ctx.getLocale();2 BigDecimal類型的使用方式工具類: 作用:金額、單價的值需要付值為BigDecimal類型BigDecimal amounts!

43、 = new BigDecimal(String.valueOf(3.00);BigDecimal amounts2 = new BigDecimal(String.valueOf(2.00);/相加amounts1.add(amounts2);/相減amounts1.subtract(amounts2);3 F7控件付值public void initF7Acct(lUIObject owner,KDBizPromptBox f7,CompanyOrgUnitInfo company) ( if(company.getAccountTable()=null)( return;/為F7控件設(shè)置

44、Queryf7.setQueryInfo(com.kingdee.eas.basedata.master.account.app.F7 AccountViewQuery);EntityViewInfo evi =new EntityViewInfo(); FilterInfo filterInfo =new FilterInfo();/設(shè)置過濾條件 evi.setFilter(filterInfo); filterInfo.getFilterItems().addnew FilterItemInfo(isLeaf, 1);filterInfo.getFilterItems().addnew F

45、ilterItemInfo(companyID.id, company.getId().toString();filterInfo.getFilterItems().addnewFilterItemInfo(accountTableID.id, company.getAccountTable().getId().toString(); f7.setEntityViewInfo(evi); f7.setDisplayFormat$number$-$name$); f7.setEditFormat$number$); f7.setCommitFormat$number$); f7.setEdita

46、bletrue);/f7Acct.setSelector(newAccountPromptBox(owner, company, filter,false, true);/此句不增加,將在第一次查詢設(shè)置的條件不生效 f7.getQueryAgent().resetRuntimeEntityView();通用過濾ListUI界面中的幾個方法??梢栽O(shè)置通用過濾所包含的界面protected CommonQueryDialog getQueryDlg() throws Exception ( CommonQueryDialog dialog = super.getQueryDlg(); dialog

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

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

49、etQueryProcessor() ( /FundsMoveBillProcess 要繼承monquery.client.CommonQueryProcessor return new FundsMoveBillProcess(this);在CommonQueryProcessor (查詢界面自定義查詢頁簽中屬性的處理類)及其子類中,獲取 CommonQueryPanel,以及用戶自定義界面(*FilterUI.java)。方 法: CommonQueryPanel commonQueryPanel =(CommonQueryPanel)get(COMMON_QUERY_PANEL);com

50、monQueryPanel.getCustomerQueryPanel().get(i);/獲取用戶自定義界面(條件頁 簽)。Object editor = get(CURRENT_EDITOR); /獲取自定義頁簽比較值對應(yīng)的控件。String field = (String) get(CURRENT_FIELD_PROP); 獲取自定義頁簽過濾條件屬 性名SysUtil.abort 方法工具類: com.kingdee.eas.util.SysUtil;作用:停止當(dāng)前UI的所有操作,或終止服務(wù)端方法SysUtil. abort()常用 F7 Query科目F7科目表客戶F7供應(yīng)商F7客商統(tǒng)

51、一碼F7物料F7輔助核算F7幣別F79輔助核算類型F710匯率F711銀行賬戶F712銀行F713用戶F714銀行F7If not exists (select * from KSQL_USERCOLUMNS where KSQL_COL_NAME =FTransportTypeIDand KSQL_COL_TABNAME=T_ST_BalanceBaseType)alter table T_ST_BalanceBaseType add FTransportTypeID VARCHAR(44);獲取狀態(tài)1.主要是獲取該EditUI的狀態(tài)public static final String ST

52、ATUS_ADDNEW = ADDNEW”;新增public static final String 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);手動調(diào)用BOTPIBTP

53、Manager iBTPManager = BTPManagerFactory.getLocallnstance(ctx);IBOTMapping botMapping = BOTMappingFactory.getLocallnstance(ctx);/查詢是否存在此botp規(guī)則EntityViewInfo ev = new EntityViewInfo();Filterinfo filter = new FilterInfo(); ev.setFilter(filter);filter.getFilterItems().add(newFilterItemInfo(name,ST_Weigh

54、-Sample(Pur);BOTMappingCollection/獲取對應(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ù)原對象的IDfor(int i=0;iweighCollection.size();i+)idListi = weighCollection.g

55、et(i).getId().toString();/目標(biāo)對象SampleBillInfo destBillInfo=new SampleBillInfo();List list=new ArrayList();SelectorItemCollection selectors=null;/生成單據(jù)BTPTransformResultbtpResult=iBTPManager.transformForBotp(idList, new String1 ,list, selectors, destBillInfo.getBOSType().toString(), new ObjectUuidPK(bo

56、tMappingCollection.get(0).getId().toString(),weig hCollection.get(0).getBOSType().toString();SampleBillCollection destBillColls =(SampleBillCollection)btpResult.getBills();BOTRelationCollection botRelationCols = btpResult.getBOTRelationCollection();destBillInfo = (SampleBillInfo)destBillColls.getObject(0);51119敘事簿枚舉自動轉(zhuǎn)換與排序解決方案主要用途:一般情況下敘事簿上的枚舉是自動轉(zhuǎn)換的,排序也可以在Qurey元數(shù)據(jù)中配置。這個主要是用在出現(xiàn)特殊情況下處理枚舉自動轉(zhuǎn)換和排序。protected IQueryExecutor getQueryExecutor(IMetaDataPK queryPK,EntityViewInfo viewInfo)IQueryExecu

溫馨提示

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

評論

0/150

提交評論