用友U9-ERP軟件實(shí)施寶典5-UBF與客開(kāi)_第1頁(yè)
用友U9-ERP軟件實(shí)施寶典5-UBF與客開(kāi)_第2頁(yè)
用友U9-ERP軟件實(shí)施寶典5-UBF與客開(kāi)_第3頁(yè)
用友U9-ERP軟件實(shí)施寶典5-UBF與客開(kāi)_第4頁(yè)
用友U9-ERP軟件實(shí)施寶典5-UBF與客開(kāi)_第5頁(yè)
已閱讀5頁(yè),還剩331頁(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)介

UBFUBF與客開(kāi)U9U9實(shí)施應(yīng)用寶典—應(yīng)用篇前言本書(shū)內(nèi)容U9開(kāi)發(fā)平臺(tái)銜接起來(lái),提高二次開(kāi)發(fā)效率,進(jìn)而使項(xiàng)目高滿意度交付成為一個(gè)關(guān)鍵議題。二次開(kāi)發(fā)的角度講解分析進(jìn)行簡(jiǎn)單檔案單據(jù)開(kāi)發(fā)及報(bào)表開(kāi)發(fā),并輔以實(shí)例講解。本書(shū)案例均在U92.0SP2下編譯調(diào)試通過(guò)。U9的部署及常見(jiàn)問(wèn)題和注意事項(xiàng)。適用于二PC配置,服務(wù)器部署請(qǐng)參考實(shí)施技術(shù)相關(guān)。Oql。U9二次開(kāi)發(fā)命名進(jìn)行了一些約定。UBF開(kāi)發(fā)環(huán)境。BE實(shí)體建模,UI界面設(shè)計(jì),參照設(shè)計(jì),BP操作設(shè)計(jì),列表開(kāi)發(fā),單據(jù)裝配等基本操作。一些關(guān)鍵點(diǎn)。7章,打印個(gè)性化。如何將系統(tǒng)的打印模版進(jìn)行個(gè)性化的調(diào)整,本章將解答這個(gè)疑惑。OBA模版。U9免業(yè)務(wù)風(fēng)險(xiǎn)和損失、提高企業(yè)員工的生產(chǎn)率、提高員工自助服務(wù)的能力。及時(shí)預(yù)警的功能在項(xiàng)閱讀本書(shū)的對(duì)象U9開(kāi)發(fā)顧問(wèn)U9二次開(kāi)發(fā)顧問(wèn),不免都會(huì)有一番波折,導(dǎo)致的原因是多方面的,可能是環(huán)境部署的,可能是開(kāi)發(fā)規(guī)范造成的,還可能是開(kāi)發(fā)平臺(tái)的缺陷。本書(shū)總結(jié)環(huán)境部署的一些通用性問(wèn)題及開(kāi)發(fā)命名規(guī)范,對(duì)于剛?cè)腴T的初級(jí)開(kāi)發(fā)工程師,良好的編程習(xí)慣及過(guò)程規(guī)范是非常必要的。對(duì)有開(kāi)發(fā)經(jīng)驗(yàn)的顧問(wèn)作為參考手冊(cè),仍然具有較大參考價(jià)值,如相關(guān)引用的說(shuō)明、模塊介API調(diào)用說(shuō)明等。U9實(shí)施顧問(wèn)感謝感謝以下同事為本書(shū)的編撰付出的辛勤勞動(dòng):王懷亮、郭玉平、李培圣、邢華鋒楊旭、楊占軍、趙英睿20109月目 錄第一章開(kāi)發(fā)環(huán)境 1系統(tǒng)環(huán)境準(zhǔn)備 1系統(tǒng)硬件 1系統(tǒng)軟件 1開(kāi)發(fā)環(huán)境安裝 3安裝U9安裝服務(wù)器 3安裝U9應(yīng)用服務(wù)器 4安裝管理控制臺(tái) 5配置U9Portal 6登錄管理控制臺(tái) 6站點(diǎn)服務(wù)器配置 7新建企業(yè) 9JOB引擎配置 12安裝UBF 13產(chǎn)品許可 15本機(jī)許可 15網(wǎng)絡(luò)許可 16數(shù)據(jù)庫(kù)的導(dǎo)入、導(dǎo)出 18數(shù)據(jù)庫(kù)的導(dǎo)出 18數(shù)據(jù)導(dǎo)入 20報(bào)表服務(wù)器配置 26安裝運(yùn)行SqlServerReportingServices 26配置報(bào)表服務(wù)站點(diǎn)ReportServer 26部署自定義報(bào)表的DataCommand 27報(bào)表開(kāi)發(fā)環(huán)境參數(shù)設(shè)置 27UBF環(huán)境設(shè)置 27UBF連接到數(shù)據(jù)庫(kù) 28報(bào)表開(kāi)發(fā)環(huán)境 29連接報(bào)表元數(shù)據(jù)庫(kù) 31第二章UBF開(kāi)發(fā)平臺(tái) 32UBF介紹 32應(yīng)用框架 32應(yīng)用開(kāi)發(fā)流程 33詞匯表 35UBF開(kāi)發(fā)環(huán)境參數(shù)設(shè)置 37UBF環(huán)境設(shè)置 37UBF連接到數(shù)據(jù)庫(kù) 39啟動(dòng)服務(wù) 40OQL查詢語(yǔ)言 41OQL簡(jiǎn)介 41簡(jiǎn)單條件過(guò)濾 43復(fù)雜報(bào)表查詢 43OQL查詢風(fēng)格 47用戶自定義函數(shù)與SQL標(biāo)準(zhǔn)函數(shù) 49臨時(shí)表 49全景體驗(yàn) 51第三章二次開(kāi)發(fā)命名規(guī)范 52命名通用規(guī)范 52命名方法概述 52使用規(guī)范 52U9標(biāo)準(zhǔn)產(chǎn)品發(fā)布對(duì)象對(duì)照表 52命名空間規(guī)范 543.2.1概述 54組成要素 54要素說(shuō)明 55規(guī)則與約束 55舉例說(shuō)明 55解決方案規(guī)范 553.3.1概述 553.3.2約束規(guī)則 563.3.3示例 56項(xiàng)目規(guī)范 563.4.1概述 56約束規(guī)則 56項(xiàng)目粒度劃分規(guī)則 563.4.4示例 56裝備件規(guī)范 573.5.1概述 573.5.2約束規(guī)則 573.5.3示例 57組件規(guī)范 583.6.1概述 583.6.2約束規(guī)則 583.6.3示例 59模型類型規(guī)范 613.7.1概述 613.7.2約束規(guī)則 613.7.3示例 62數(shù)據(jù)庫(kù)相關(guān)命名 63第四章單據(jù)實(shí)例開(kāi)發(fā) 63需求設(shè)計(jì) 63功能概述: 64UML建模模型 64實(shí)體數(shù)據(jù): 64用戶界面 654.2 實(shí)現(xiàn) 66實(shí)體建模 66界面設(shè)計(jì) 82建立UIModel 85創(chuàng)建界面 89參照設(shè)計(jì) 1014.2.6建模 1264.2.7列表開(kāi)發(fā) 131組裝發(fā)布 135UBF構(gòu)造 135組裝工具使用 136打開(kāi)組裝工具 138生成SG文件 139應(yīng)用分組 140組件裝配 141頁(yè)面裝配 143菜單裝配 149數(shù)據(jù)發(fā)布 151執(zhí)行批處理文件 154腳本運(yùn)行 155組件更新 155菜單授權(quán) 155本章小結(jié) 161第五章報(bào)表案例開(kāi)發(fā) 1625.1 概述 1625.2 需求 1625.3 設(shè)計(jì) 164查找條件 164欄目說(shuō)明 165算法說(shuō)明 1655.4 實(shí)現(xiàn) 166新建報(bào)表模板 166新建報(bào)表目錄 167新建報(bào)表容器 167新建報(bào)表頁(yè)面 167新建DadaCommand 169編寫(xiě)DadaCommand業(yè)務(wù)邏輯 173報(bào)表模板設(shè)計(jì) 186模板布局設(shè)計(jì) 188報(bào)表參數(shù)設(shè)計(jì) 191報(bào)表處理策略 194發(fā)布瀏覽 197發(fā)布報(bào)表模板 197部署DataCommand 201菜單授權(quán) 203效果預(yù)覽 204查詢界面 204效果界面 204本章小結(jié) 205第六章打印個(gè)性化 206個(gè)性化工具平臺(tái)(UBFStudio) 206啟動(dòng)及登陸 206打印元數(shù)據(jù)庫(kù) 207設(shè)計(jì)器區(qū)域介紹 209菜單系統(tǒng) 216模版調(diào)整 219紙張調(diào)整 219區(qū)域調(diào)整 221布局調(diào)整 223增加顯示對(duì)象 229印數(shù)據(jù)擴(kuò)展 232增加用戶自定義字段 233使用OQL表達(dá)式 235創(chuàng)建UIModel打印模版 237定義打印模板名稱及語(yǔ)言類型 238設(shè)定UIModel 238打印字段定義(數(shù)據(jù)查詢定義) 240定義布局類型 241設(shè)計(jì)標(biāo)題 242完成打印向?qū)?243打印模板發(fā)布 243SQL標(biāo)準(zhǔn)函數(shù)擴(kuò)展 247操作步驟 247本章小結(jié) 248第七章個(gè)性化 251表單個(gè)性化 253卡片個(gè)性化 253Grid列表個(gè)性化 257功能區(qū)個(gè)性化 260添加自定義控件或列 261新增關(guān)聯(lián)控件 263設(shè)置默認(rèn)值 266字段管控設(shè)置 269個(gè)性化權(quán)限管控 272菜單個(gè)性化 273菜單分組的隱藏顯示 275菜單分組中菜單項(xiàng)的隱藏顯示 275菜單分組順序 275查詢個(gè)性化 276查詢條件個(gè)性化設(shè)置 276欄目顯示名稱修改 277排序個(gè)性化設(shè)置 278查詢方案的保存/刪除 279列表個(gè)性化 280報(bào)表個(gè)性化 281報(bào)表查詢條件個(gè)性化設(shè)置 281報(bào)表排序個(gè)性化 282報(bào)表行分組/列分組個(gè)性化 283調(diào)整列寬 284第八章Office應(yīng)用集成 286核心價(jià)值 286環(huán)境配置 286OBA客戶端安裝 286權(quán)限設(shè)置 287功能應(yīng)用 289模板設(shè)計(jì)和共享應(yīng)用 290U9數(shù)據(jù)導(dǎo)入導(dǎo)出 297U9數(shù)據(jù)查看 302U9數(shù)輸出和打印 302本章小結(jié) 303第九章預(yù)警 304周期性預(yù)警 305周期性預(yù)警設(shè)置 306調(diào)度方案 307管理提交 309通知管理 311實(shí)時(shí)預(yù)警 314實(shí)時(shí)預(yù)警設(shè)置 314請(qǐng)求監(jiān)控 315消息中心 317通知管理 318我的訂閱 319消息查詢 320消息通道 321本章小結(jié) 322客戶化開(kāi)發(fā)篇U9實(shí)施應(yīng)用寶典—應(yīng)用篇UBFUBF與客開(kāi)PAGEPAGE1PAGEPAGE10本章導(dǎo)讀本章主要講解U9二次開(kāi)發(fā)環(huán)境的部署、許可、已經(jīng)服務(wù)器配置;系統(tǒng)環(huán)境準(zhǔn)備系統(tǒng)硬件2G以上,CPU2.6G以上系統(tǒng)軟件1)操作系統(tǒng)Server2003+SP2IIS6.0IIS6.0的安裝位置在:/Windows/應(yīng)用程序服務(wù)器/詳細(xì)信息/Internet信息服務(wù)(IIS)。IIS6.0。U9U9實(shí)施應(yīng)用寶典—應(yīng)用篇UBFUBF與客開(kāi)點(diǎn)擊【確定】、【下一步】后,系統(tǒng)提示插入操作系統(tǒng)光盤(pán),可以插入系統(tǒng)光盤(pán),如果沒(méi)有系統(tǒng)光盤(pán),可以定位到操作系統(tǒng)文件夾的i386framework2.0(VS2005,則已經(jīng)存在該補(bǔ)丁包)framework2.0SP1安裝.netframework3.02)其它軟件IE7.0AdobeReaderPDF(打印輸出用)版本管理工具(可選)如果需要使用UBFStudioV2.0UBFStudioV2.0MSVisualSourceSafeV6.0(或更高版本),以及IBMRationalClearCase2003數(shù)據(jù)庫(kù)SQLServer2008ReportingServices,建議完全安裝開(kāi)發(fā)環(huán)境安裝U9安裝服務(wù)器務(wù)器”彈出下圖:向?qū)酵瓿杉纯?。U9應(yīng)用服務(wù)器U9123456,點(diǎn)擊“下一步”,如下所示PC,我們建議選擇“測(cè)試環(huán)境”,建立連接后,如下UBFUBF與客開(kāi)U9U9實(shí)施應(yīng)用寶典—應(yīng)用篇PAGEPAGE5PAGEPAGE6默認(rèn)全選,點(diǎn)擊“安裝”,即可安裝管理控制臺(tái)彈出下圖:U9U9Portal登錄管理控制臺(tái)“U9-ERP2.0SP2U9Portal(123456)UBFUBF與客開(kāi)U9U9實(shí)施應(yīng)用寶典—應(yīng)用篇PAGEPAGE11PAGEPAGE8站點(diǎn)服務(wù)器配置我們重點(diǎn)對(duì)數(shù)據(jù)庫(kù)服務(wù)器及報(bào)表服務(wù)器的配置進(jìn)行講解,其他按默認(rèn)配置即可。進(jìn)入界面后,選擇“站點(diǎn)管理”,如下所示雙擊“數(shù)據(jù)庫(kù)服務(wù)器”,修改用戶名和密碼;雙擊“報(bào)表服務(wù)器”,如下所示刷新;獲取報(bào)表服務(wù)器信息;如有多個(gè)報(bào)表服務(wù)器版本,請(qǐng)選擇,如沒(méi)有則為默認(rèn)ReportServerLibReportServerLib新建企業(yè)點(diǎn)擊“新增”錄入企業(yè)編碼,名稱,點(diǎn)擊“創(chuàng)建”選擇服務(wù)器錄入數(shù)據(jù)庫(kù)名稱選擇數(shù)據(jù)庫(kù)備份文件指定數(shù)據(jù)庫(kù)及庫(kù)日志文件存放路徑注意:Portal2、確認(rèn)之后開(kāi)始創(chuàng)建數(shù)據(jù)庫(kù)(OBA模塊,可以不配置文檔庫(kù)),如下所示JOB引擎配置進(jìn)入控制臺(tái)界面后,選擇“JOBUBFUBF與客開(kāi)U9U9實(shí)施應(yīng)用寶典—應(yīng)用篇PAGEPAGE13PAGEPAGE14001”,彈出如下點(diǎn)擊“確認(rèn)”。UBFUAPUBFSPLASH.HTAUBFStutio”彈出如下:按向?qū)瓿杉纯?,UBFPortalUBFUBF與客開(kāi)U9實(shí)施應(yīng)用寶典—應(yīng)用篇PAGEPAGE15PAGEPAGE16產(chǎn)品許可本機(jī)許可管理人員,獲得許可文件后導(dǎo)入即可。在管理控制臺(tái)——許可證,獲取注冊(cè)請(qǐng)求信息,畫(huà)面如下所示:系統(tǒng)管理工具->許可管理->獲取注冊(cè)請(qǐng)求信息reqmacmac確保本軟件運(yùn)行時(shí),該網(wǎng)卡設(shè)備工作正常。申請(qǐng)流程請(qǐng)向機(jī)構(gòu)負(fù)責(zé)人咨詢;得到許可文件(.txt),導(dǎo)入所申請(qǐng)的服務(wù)器即可網(wǎng)絡(luò)許可打開(kāi)控制管理臺(tái),選“站點(diǎn)管理”site”,修改許可服務(wù)器為有許可的服務(wù)器U9U9實(shí)施應(yīng)用寶典—應(yīng)用篇UBFUBF與客開(kāi)PAGEPAGE18PAGEPAGE19IP數(shù)據(jù)庫(kù)的導(dǎo)入、導(dǎo)出U9程中需要一些數(shù)據(jù),所以直接導(dǎo)入一個(gè)有數(shù)據(jù)的數(shù)據(jù)庫(kù)對(duì)開(kāi)發(fā)報(bào)表、代碼調(diào)試方便。數(shù)據(jù)庫(kù)的導(dǎo)出數(shù)據(jù)庫(kù)導(dǎo)出、導(dǎo)入工具是“用友數(shù)據(jù)管理工具”。位置:UFIDA\U9ClientV2\ClientSystemManage\UFIDA.U9.SystemManage.DataManagerClient.exe初始密碼:123456/數(shù)據(jù)管理”進(jìn)入如下界面:?jiǎn)螕裟繕?biāo)按鈕bak到現(xiàn)有備份集或者覆蓋所有現(xiàn)有備份集,單擊確認(rèn)進(jìn)行數(shù)據(jù)備份生成.BAK。數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫(kù)的導(dǎo)入還原有兩種途徑:1、使用“用友數(shù)據(jù)管理工具”還原。使用“用友數(shù)據(jù)管理工具”還原,方法如下:企業(yè)數(shù)據(jù)維護(hù)下的數(shù)據(jù)還原,進(jìn)入如下界面:bak的文件頁(yè)面選擇.mdf與.ldf 文件后,單擊確認(rèn)進(jìn)行數(shù)據(jù)庫(kù)恢復(fù)。2、使用“用友系統(tǒng)管理工具”還原。位置:\UFIDA\U9ClientV2\ClientSystemManage\UFIDA.U9.SystemManage.SystemManagerClient.exe登錄:初始密碼:123456單擊企業(yè)管理單擊右邊企業(yè)管理中的新增按鈕單擊“基本信息設(shè)置”數(shù)據(jù)庫(kù)――創(chuàng)建,打開(kāi)創(chuàng)建界面:創(chuàng)建數(shù)據(jù)庫(kù)填寫(xiě)信息:11)需要填寫(xiě)創(chuàng)建的數(shù)據(jù)庫(kù)名稱,也可以點(diǎn)擊瀏覽按鈕選擇已存在的數(shù)據(jù)庫(kù)。22)數(shù)據(jù)庫(kù)導(dǎo)出的備份文件,單擊瀏覽選擇數(shù)據(jù)文件的存儲(chǔ)位置,\UFIDA\U9V2\Database\SQL2005_V2.BAKSQL2008_V2.bak33)該文件系統(tǒng)自動(dòng)生成,可以修改文件存儲(chǔ)地址,文件目錄必須為已存在的,系統(tǒng)不會(huì)自動(dòng)創(chuàng)建目錄。U9-XX011報(bào)表服務(wù)器配置SqlServerReportingServicesSqlServerReportingServices,因?yàn)樽远xsqlserver的報(bào)表服務(wù)(SqlServerReportingServices)請(qǐng)先按安裝。ReportServerReportServerIIS。DataCommandDataCommand節(jié)中指定的報(bào)表服務(wù)庫(kù)目錄,如下圖:報(bào)表開(kāi)發(fā)環(huán)境參數(shù)設(shè)置UBF環(huán)境設(shè)置UBF\UBFStudio\IDEConfig.xmlOptions節(jié)RuntimeForReportDesigner屬性為<OptionsRuntimeForReportDesigner="true">。<OptionsRuntimeForReportDesigner="true">,UBF<OptionsRuntimeForReportDesigner="false">,UBFUBF連接到數(shù)據(jù)庫(kù)因?yàn)殚_(kāi)發(fā)中使用的報(bào)表模板文件、實(shí)體模型等相關(guān)信息都是存儲(chǔ)在數(shù)據(jù)庫(kù)中,做自定義報(bào)表開(kāi)發(fā)的前提是把UBF據(jù)庫(kù)就是U9中的公司對(duì)應(yīng)的數(shù)據(jù)庫(kù)。UBFStudioV2.0UBF\UBFStudio\Runtime\environment.xmlenvironment.xml下:<system><connectionString>packetsize=4096;userid=u9test;ConnectionTimeout=150;MaxPoolsize=1500;datasource=u9ubfdb;persistsecurityinfo=True;initialcatalog=u9test;password=u9test</connectionString></system>datasource=u9ubfdb:表示數(shù)據(jù)庫(kù)實(shí)例initialcatalog=u9test:表示數(shù)據(jù)庫(kù)名userid=u9test:表示數(shù)據(jù)庫(kù)的用戶名SQLSERVER請(qǐng)根據(jù)所使用數(shù)據(jù)庫(kù)的具體情況配置。報(bào)表開(kāi)發(fā)環(huán)境運(yùn)行登陸數(shù)據(jù)庫(kù)服務(wù)器登錄界面以及對(duì)應(yīng)密碼。連接報(bào)表元數(shù)據(jù)庫(kù)第二章UBF本章導(dǎo)讀本章將介紹了UBF開(kāi)發(fā)平臺(tái)的框架OQL進(jìn)行深入介紹UBF介紹應(yīng)用框架UBFDesigntimeRuntime以及一系列工具組成。UIFramewok應(yīng)用開(kāi)發(fā)流程(如下圖所示)。在上圖中,VSNetIDEC#代碼。UBFStudioORUBFStudio中的相應(yīng)工具將模型代碼生成為C#的框架代碼,開(kāi)發(fā)人員在此基礎(chǔ)上提供或者擴(kuò)展模型的實(shí)現(xiàn),編寫(xiě)業(yè)務(wù)邏輯;同時(shí),設(shè)計(jì)完成的。模型可以發(fā)布到運(yùn)行態(tài)元數(shù)據(jù)庫(kù)中。UBFStudioUIP詞匯表中文英文解釋產(chǎn)品包ApplicationPackage總賬等功能模塊。產(chǎn)品包可以由多個(gè)小的產(chǎn)品包構(gòu)成。每個(gè)小產(chǎn)品包由多個(gè)服務(wù)組構(gòu)成。方案ApplicationSolution的所有服務(wù)、業(yè)務(wù)實(shí)體和業(yè)務(wù)操作必須被部署在一個(gè)站點(diǎn)中,解決方案被作為操作的主文件,并對(duì)應(yīng)一個(gè)服務(wù)組。服務(wù)組ServiceGroup服務(wù)組,但服務(wù)組中的所有組件必須被整體的安裝和卸載。地部署在一個(gè)站點(diǎn)內(nèi)。的職責(zé)邊界,服務(wù)組內(nèi)部操作間的調(diào)用通過(guò)服務(wù)引擎完成,服務(wù)組對(duì)外只暴露服務(wù)但服務(wù)不能調(diào)用服務(wù)。服務(wù)組對(duì)應(yīng)設(shè)計(jì)期的解決方案。U9實(shí)施應(yīng)用寶典—應(yīng)用篇UBFUBF與客開(kāi)PAGEPAGE36PAGEPAGE37業(yè)務(wù)實(shí)體組件BusinessEntityComponent是一個(gè)業(yè)務(wù)數(shù)據(jù)管理的組件,包含一組BusinessEntity。BusinessEntityDataEntityBusinessEntity,這些Entity(BusinessObject)持久化到數(shù)據(jù)庫(kù)中,或從數(shù)據(jù)庫(kù)中裝載數(shù)據(jù)。BusinessEntityDataBusinessEntityData,BusinessEntityDataBusinessEntity相同的屬性和數(shù)據(jù)成員,但它僅用于數(shù)據(jù)的傳輸。BusinessEntityBusinessEntityEntityData業(yè)務(wù)操作組件BusinessProcessComponent業(yè)務(wù)操作組件包含一組業(yè)務(wù)邏輯的實(shí)現(xiàn)類——BusinessProcess。業(yè)務(wù)操作組件由兩個(gè)程序集組成,一個(gè)是BusinessProcessBusinessProcessAgentBusinessProcessBusinessProcessAgentBusinessProcess用BusinessProcess的實(shí)現(xiàn)。服務(wù)組件ServiceComponent服務(wù)組件包含一組服務(wù)——Service。ServiceBusinessProcessService不能被任何BusinessProcessService數(shù)據(jù)庫(kù)組件UIComponent頁(yè)面、菜單、參照等幾種不同的類型,用于完成人機(jī)交互中的不同任務(wù)。組件AnalysisComponent數(shù)據(jù)分析組件包含數(shù)據(jù)立方體、維度、KPI、報(bào)表、打印幾種組件。件WorkflowComponent用于完成工作流的流程定義。DSLDomainSpecificLanguageUBFXMLDLLUBFUBFUBF(UfidaBusinessFramework)開(kāi)發(fā)平臺(tái):采用元數(shù)據(jù)驅(qū)動(dòng)的、分布式的、面向服務(wù)的架構(gòu),它提供了統(tǒng)一的編程抽象模型,是一個(gè)適合應(yīng)用軟件開(kāi)發(fā)及部署的全角色平臺(tái)。Studio務(wù)分析模型。工具、報(bào)表設(shè)計(jì)工具、打印風(fēng)格格式設(shè)計(jì)器、規(guī)則開(kāi)發(fā)工具、商業(yè)智能元模型開(kāi)發(fā)工具等,全部集成在集成開(kāi)發(fā)環(huán)境中(IDE)VSSCCUBF))《UBF2.0(使用).doc》UBF開(kāi)發(fā)環(huán)境參數(shù)設(shè)置UBF環(huán)境設(shè)置在使用UBF Studio前,需要正確配置模型代碼生成路徑和界面生成路徑到有效的目錄。從UBFStudioU9U9實(shí)施應(yīng)用寶典—應(yīng)用篇UBFUBF與客開(kāi)PAGEPAGE50PAGEPAGE39界面中的控件解釋:名 稱控件類型說(shuō) 明安裝路徑只讀文本框Studio系統(tǒng)引用庫(kù)路徑文件夾參照系統(tǒng)引用庫(kù)PubRef模型代碼生成路徑文件夾參照模型代碼的生成路徑,在模型設(shè)計(jì)完成后生成代碼時(shí)會(huì)用到測(cè)試用例生成路徑文件夾參照UBF界面生成路徑文件夾參照界面庫(kù)路徑文件夾參照應(yīng)用組件運(yùn)行庫(kù)路徑文件夾參照組件發(fā)布為運(yùn)行態(tài)時(shí)保存的路徑,應(yīng)用模型層級(jí)樹(shù)的設(shè)置文件也保存在該目錄下。發(fā)布站點(diǎn)地址文件夾參照站點(diǎn)發(fā)布和部署時(shí)使用的路徑。數(shù)據(jù)庫(kù)腳本生成路徑文件夾參照數(shù)據(jù)庫(kù)腳本生成的路徑應(yīng)用服務(wù)器路徑文件夾參照應(yīng)用服務(wù)器的路徑說(shuō)明:配置對(duì)話框的配置信息均保存在安裝目錄下的\UFIDA\UBFV2\U9.VOB.Product.UBF\UBFStudio\IDEConfig.xml有效。UBF連接到數(shù)據(jù)庫(kù)因?yàn)殚_(kāi)發(fā)中使用的報(bào)表模板文件、實(shí)體模型等相關(guān)信息都是存儲(chǔ)在數(shù)據(jù)庫(kù)中,做自定義報(bào)UBFU9UBFStudioV2.0UBF\UBFStudio\Runtime\environment.xmlenvironment.xml<?xmlversion="1.0"encoding="utf-8"?><environment><system><connectionString>packetsize=4096;userid=sa;ConnectionTimeout=150;MaxPoolsize=1500;datasource=uf200901069;persistsecurityinfo=True;initialcatalog=U9_2010;password=sa</connectionString></system><view><mappertype="UFSoft.UBF.View.Query.MetadataDomainMapping,UFSoft.UBF.Business.Adapter"/><creatortype="UFSoft.UBF.View.Query.Adapter.TranslatorCreator,UFSoft.UBF.Business.Adapter"/></view><Path><Metadatalib>d:\</Metadatalib></Path><path><ubfbin>Runtime</ubfbin><ubfstudio>c:\ubf20\visualstudio</ubfstudio><ubfresources>c:\ubf20\resources</ubfresources><approot>c:\u9app</approot><!--class|component|assembly--><MDLoadStrategy>assembly</MDLoadStrategy></path><resource><componentid="05dfd73d-046e-457f-b08b-d17a905b2d94"/><componentid="cf4531fe-2991-444f-a84b-9f69073f62e5"/></resource><traceiisTrace="true"sqlTrace="false"/></environment>datasource=u9ubfdb:表示數(shù)據(jù)庫(kù)的服務(wù)器名initialcatalog=u9test:表明數(shù)據(jù)庫(kù)名userid=u9test:表示數(shù)據(jù)庫(kù)的用戶名請(qǐng)根據(jù)所使用數(shù)據(jù)庫(kù)的具體情況配置。啟動(dòng)服務(wù)Window如果是手動(dòng)安裝,就啟動(dòng)下面這兩個(gè)服務(wù)。1、Portal\SysManageServer\ServiceHostingConsole.exe2、Portal\ApplicationServer\ServiceHostingConsole.exe這兩個(gè)服務(wù)是UBF、PortalUBFPortal個(gè)服務(wù)已經(jīng)啟動(dòng)。為方便可創(chuàng)建快捷方式到桌面。OQL查詢語(yǔ)言O(shè)QL簡(jiǎn)介對(duì)象查詢語(yǔ)言O(shè)QL有兩種風(fēng)格,即有兩種不同的使用場(chǎng)景:簡(jiǎn)單條件過(guò)濾與復(fù)雜報(bào)表查C#風(fēng)格一致,OQL是大小寫(xiě)敏感的,因此所有的關(guān)鍵字都必須小寫(xiě)。1)基本功能1、ObjectQueryLanguage提供了一種基于對(duì)象的查詢語(yǔ)言。2OPath語(yǔ)法風(fēng)格的路徑表達(dá)式。3、支持屬于多個(gè)Entity的多列。4、OOOrderLine.Order.Customer.ContactName。5、支持聚合函數(shù),SQL99標(biāo)準(zhǔn)函數(shù)(Entity語(yǔ)義)。6、支持列間表達(dá)式計(jì)算。7Group&Order&As(列別名)8EntityView定義,可以在Query定義中使用已有的EntityView!9、支持名空間的使用,支持中文。10fromleftjoin,rightjoin,fulljoin,crossjoin。11select,from,where子句中支持子查詢。12OQL別名指代OPath,使OQL的表達(dá)更加簡(jiǎn)潔。13、UDF(UserDefinedFunction)的直接支持。14、union,unionall。15、臨時(shí)表的支持。16、OQL風(fēng)格指南17、對(duì)C風(fēng)格a?b:cCaseWhen表達(dá)式的支持。18、對(duì)標(biāo)準(zhǔn)日期時(shí)間函數(shù)的支持。cast/convert類型轉(zhuǎn)換函數(shù)的支持。20Update&Delete語(yǔ)句。優(yōu)勢(shì)與比較安裝將$Dev\PubRef\Business\UFSoft.UBF.View.Query.dll添加到項(xiàng)目引用中,$Dev\PubRef\Business\UFSoft.UBF.Business.Adapter.dll,$Dev\PubRef\System下UFSoft.UBF.Util.Expression.dll,UFSoft.UBF.Util.dll,UFSoft.UBF.Util.SQLBuilder.dll,UFSoft.UBF.Util.Log.dll,Tools.dll需要拷貝到運(yùn)行目錄。environment.xml/environment/view/creator,如$Dev/PubRef/Businessenvironment.xml所示:<view><creatortype="UFSoft.UBF.View.Query.Adapter.TranslatorCreator,UFSoft.UBF.Business.Adapter"/></view>簡(jiǎn)單條件過(guò)濾簡(jiǎn)單條件過(guò)濾在概念上是針對(duì)一個(gè)強(qiáng)類型的對(duì)象集合指定一個(gè)過(guò)濾條件,對(duì)集合中的每個(gè)對(duì)象應(yīng)用此過(guò)濾條件進(jìn)行篩選,結(jié)果是所有滿足條件的對(duì)象所構(gòu)成的子集合。UBFBEBE.Finder.Find(xxx)返回對(duì)象集合。ObjectSpaceOPath(OPath啟發(fā)而來(lái)),表示查詢條件,使用時(shí)應(yīng)當(dāng)指定對(duì)應(yīng)的主實(shí)體,即條件是在該主實(shí)體上過(guò)濾。OQL僅用在E.nde.ndAPI,)簡(jiǎn)單條件"Customer.IDALFKI'",CustomerCustomer,ID是CustomerCustomerCustomers表,ID映射為CustomerID列。EntityJoin條件"Customer.Order.ShipNameQueryEngineOrderCustomer類的一個(gè)屬性,仍然沒(méi)有即報(bào)錯(cuò)。最后一列總是屬性,ShipNameOrder實(shí)體的屬性。OPath風(fēng)格指定條件"Customer.Order.ID>100andCustomer.Order.ID!=0",更復(fù)雜的路徑表達(dá)式:"Customer.Order.OrderLine.ProductIDisnotnull",注意isnotnullProductID列是否為空。Betweenand"Order.OrderLine.UnitPricebetween23and50",邏輯或條件+參數(shù)"OrderLine.UnitPrice14orOrderLine.Quantity@a",參數(shù)以@命名規(guī)則@是ADO.NETXPath中的元素屬性混淆。in"Product.OrderLine.Order.ShipNamein('a','b','CCCC')",like¬like"Product.OrderLine.Order.Employee.LastNamenotlike'D%'",復(fù)雜報(bào)表查詢兼容性注意問(wèn)題SQL風(fēng)格特性的引入,OQLselect關(guān)鍵字,否則無(wú)法解析。這是新增功能所引起的唯一不兼容的地方,實(shí)際上更有助于意識(shí)到OQL兩種風(fēng)格:條件過(guò)濾和報(bào)表查詢的差異。基本語(yǔ)法(select[Column]{,[Column]}{fromjoinClause}{whereCondition}{groupbycolumns{havingCondition}}orderbycolumns)(union|unionall)(select…)使用實(shí)體類沒(méi)有別名時(shí)假設(shè)為當(dāng)前類的屬性。@"selectdistinctAgefromPersonswhereName='Pat'",@"selectdistinctx.AgefromPersonsx where x..Name='Pat'",from子句from子句可用逗號(hào)分隔多個(gè)路徑表達(dá)式(OPath),innerjoin處理,crossjoin處理。@"selectc.AddressfromPersonsp,p.Childrenc",crossjoin,要對(duì)兩個(gè)集合作笛卡爾積。@"selectpfromPersonsp,Flowersf wherep.Name=f.Name",@"select*fromAuditLoglog,Paymentpayment",leftjoin左外連接@"select*fromItemitemleftjoinitem.Bidswhereitem.Descriptionlike'%gc%'",OPath表達(dá),OQLCompilerSQLon條件。@"select*fromBidbidleftjoinbid.Itemleftjoinbid.Bidderwherebid.Amount>100",innerjoinjoininnerjoin,OPathleft,right,full,三種外連接,outer關(guān)鍵字是可選的,inner也是可選的,OQLCompilerSQLon條件。@"select* fromItemitemjoinitem.Bidsbidwhereitem.Descriptionlike'%gc%'andbid.Amount>100",@"select*fromItemifulljoini.Selleruwhereu.UserName='steve'",@"selectitem.IDfromItemitemrightjoinitem.Bidswherebid.Amount>100",@"selectitem.ID,item.Description,bid.AmountfromItemitemrightouterjoinitem.Bidsbidwherebid.Amount>100",@"select*fromCatascatinnerjoincat.Mateasmateleftouterjoincat.Kittensaskitten",@"select*fromCatascatcrossjoincat.Mate.Kittensaskittens",@"select*fromCatascatleftouterjoincat.Kittensaskittenonkitten.BodyWeight>10.0",CrossjoinOQLCompilerSQLon條件。@"select*fromUseruser,LogRecordlogwhereuser.UserName=log.UserName",Distinct關(guān)鍵字@"selectdistinctitem.DescriptionfromItemitem"。數(shù)據(jù)庫(kù)函數(shù)upper,任意這樣的數(shù)據(jù)庫(kù)函數(shù),用戶自定義函數(shù)可隨意使用@"selectitem.StartDate,item.EndDate,upper(item.Name)fromItemitem",CountCount(*)@"selectcount(*)fromItem",Count@"selectcount(item.SuccessfulBid)fromItemitem",Count(distinct…)@"selectcount(distinctitem.Description)fromItemitem",Min,Max@"selectmin(bid.Amount),max(bid.Amount)fromBidbidwherebid.Item.ID=1",@"selectmax(BodyWeight)asmax,min(BodyWeight)asmin,count(*)asnfromCatcat",Groupby@"selectbid.Item.ID,count(bid),avg(bid.Amount)fromBidbidwherebid.Item.SuccessfulBidisnullgroupbybid.Item.ID",@"selectuser.LastName,count(user) fromUseruser groupbyuser.LastNamehavinguser.LastNamelike'A%'",子查詢INPredicate中@"selects.SalaryfromStudentswheresin(selectsec.AssistantfromSectionssec)",EXISTSPredicate中@"selectscope1fromPersons,Citiescwhereexists(selectscope2fromChildrensaschild)",(correlatedsubquery)@"select*fromUseruwhere10<(selectcount(i)fromu.Itemsiwherei.SuccessfulBidisnotnull)",嵌套的標(biāo)量子查詢(nestedscalarsubquery)@"select*fromBidbidwherebid.Amount+1>=(selectmax(b.Amount)fromBidb)",全稱子查詢@"select*fromItemitemwhere100>all(selectb.Amountfromitem.Bidsb)",存在子查詢@"select*fromItemitemwhere100<any(selectb.Amountfromitem.Bidsb)",@"select*fromItemitemwhere100=some(selectb.Amountfromitem.Bidsb)",@"select*fromDomesticCatascatwherecat.Name=some(selectname.NickNamefromNameasname)",@"select*fromCatascatwherenotexists(select*fromCatasmatewheremate.Mate=cat)",子查詢用在in謂詞中@"select*fromItemitemwhere100in(selectb.Amountfromitem.Bidsb)",@"select*fromDomesticCatascatwherecat.Namenotin(selectname.NickNamefromNameasname)"where條件中@"select*fromCatasfatcatwherefatcat.Weight>(selectavg(cat.Weight)fromDomesticCatcat)",select子句中@"selectcat.id,(selectmax(kit.weight)fromcat.kittenkit)fromCatascat",from子句中作為”derivedclass”@"select*fromCataleftjoin(selectp.NamerfromPlayerpwhere3>count(p.Scores))bonc.Name=b.Namewherec.Age>3",dateadd/datediff/datepart/datename中關(guān)鍵字的支持現(xiàn)在可以支持在dateadd/datediff/datepart/datename四個(gè)函數(shù)調(diào)用中用T-SQL風(fēng)格的關(guān)鍵字day/year/month,etc,但是這不是一種標(biāo)準(zhǔn)和同一的風(fēng)格,建議用字符串即單引號(hào)的方式.函數(shù)名大小寫(xiě)均可。@"selectdateadd(day,3,'20061031')fromProducts"@"selectdateadd('day',3,'20061031')fromProducts";'20061031',getdate())fromProducts";@"selectdatediff(dd,'20061031',getdate())fromProducts";@"selectdatepart(month,'20061031')fromProducts";@"selectdatepart('month',getdate())fromProducts";@"selectdatename(Hour,getdate())fromProducts";@"selectgetdate()fromProducts";@"selectgetutcdate()fromProducts";@"selectday(getdate())fromProducts";@"selectmonth(getdate())fromProducts";@"selectyear(getdate())fromProducts";對(duì)cast類型轉(zhuǎn)換函數(shù)的支持OQLcast必須以下述純函數(shù)風(fēng)格調(diào)用@"selectcast('abc',varchar(5))fromProducts";convert函數(shù)使用沒(méi)有特殊限制@"selectCONVERT(bigint,convert(varbinary(20),5.1))fromProducts";字符串函數(shù)注意字符串函數(shù)中,leftrightleftjoinrightjoinleftright用作字符串函數(shù)名時(shí)不能用小寫(xiě),全大寫(xiě)或大小寫(xiě)混合均可。@"selectLeft('abc',2)fromProducts";@"selectRIGHT('abc',2)fromProducts";Update&Delete語(yǔ)句的支持@"updateUFIDA::U9::CBO::PL::PriceList::PriceListpsetp.ID=10232wherep.ID<0";@"updateUFIDA::U9::CBO::PL::PriceList::PriceListsetID=10232whereID<0";@"deletefromUFIDA::U9::CBO::PL::PriceList::PriceListpwherep.IDisnulland1=2";@"deletefromUFIDA::U9::CBO::PL::PriceList::PriceListwhereIDisnulland1=2"注意1、UpdateDelete語(yǔ)句只能用來(lái)操縱報(bào)表編程中的臨時(shí)表,其它情形下行為不可預(yù)料。2、Deletefrom關(guān)鍵字是必選,這與SQLServerOraclefrom可省的習(xí)慣不同,但與SQL99標(biāo)準(zhǔn)兼容。3、OQLupdate/delete可使用表別名,SQL不支持。OQL查詢風(fēng)格如下所示:select2asApplyDocType,3asDocTag,billhead.idasDocDataTag,billhead.DocNo+billline.LineNumasDataNo,billhead.ReceivalDateasDataDate,0asPriorityGrade,0asDocOrderNo,billhead.ReceivalCurrencyasDocCurrency,billhead.RCToFCExchRateasDocExchangeRate,0asCanEnjoyDiscount,asSettlementMethod,billhead.Department.NameasDepartment,Transactor,billhead.ReceiverasReceiver,billhead.Project.NameasProject,nullasItembillheadinnerjoinbillhead.ReceivalBillLinebilllinewherebillhead.Organization=1002006051600036001andbillhead.HasSubReceive=0='C01'andbillhead.ReceivalCurrency=1105400andbillhead.ID=25809101使用別名風(fēng)格從本質(zhì)上更體現(xiàn)了ObjectQuery的本質(zhì)語(yǔ)義,即OQL其實(shí)是在查詢集合,billhead,billline可以理解成foreach的循環(huán)變量,理解這種風(fēng)格會(huì)使我們U9的應(yīng)用開(kāi)發(fā)人C3.0VisualStudio2008C3.0的語(yǔ)言查詢功能。join的,用別名形式,形如UFIDA::U9::AR::Receival::ReceivalBillHeadainnerjoina.ReceivalBillLinebfrom.B.B.C,可寫(xiě)為:fromAaleftjoina.Bbleftjoinb.Cc,select子句,where子句,導(dǎo)航表達(dá)式的級(jí)數(shù)沒(méi)有限制。+相對(duì)于主實(shí)體開(kāi)始的導(dǎo)航表達(dá)式如下所示:select2asApplyDocType,asDocTag,idasDocDataTag,DocNo+ReceivalBillLine.LineNumasDataNo,ReceivalDateasDataDate,0asPriorityGrade,0asDocOrderNo,RCToFCExchRateasDocExchangeRate,0asCanEnjoyDiscount,asSettlementMethod,Department.NameasDepartment,ReceiverasReceiver,Project.NameasProject,nullasItemwhereOrganization=1002006051600036001andHasSubReceive=0andCustomer.CustomerCode='C01'andReceivalCurrency=1105400andID=25809101joinOQL的標(biāo)準(zhǔn)形式。SQL風(fēng)格的類名.屬性名是不支持的。SQL的習(xí)慣和特征。用戶自定義函數(shù)與SQL標(biāo)準(zhǔn)函數(shù)SQL標(biāo)準(zhǔn)函數(shù)不用任何特殊處理,直接在OQL語(yǔ)句中當(dāng)函數(shù)使用,只是對(duì)應(yīng)的參數(shù)用對(duì)xml文件(udf.xml)中注冊(cè):<?xmlversion="1.0"?><udf-binding><udffunction="hello"/><udffunction="puke"owner="sys"/></udf-binding>hello定義如下:createfunctionhello()returnsnvarchar(40)asbeginreturn'HelloFaint!'endownerOQLdbo這樣:"selectIDasIDhelloDocType.IDasDocTypefromUFIDA::U9::CBO::PL::PriceList::PriceList"將被翻譯為:@"selectA1.[ID]as[ID],dbo.hello(),A2.[ID]as[DocType]fromCBO_PriceListasAinnerjoin[Base_Doc]asA1on(A.ID=A1.ID) leftjoin[Base_DocType]asA2on(A1.[DocType]=A2.[ID])"臨時(shí)表View,a.k.a.NamedOQL來(lái)實(shí)現(xiàn),將API來(lái)體現(xiàn),在語(yǔ)法上與EntityView的使用沒(méi)有區(qū)別。以下是一個(gè)通過(guò)BE封裝的,在報(bào)表DataCommand中臨時(shí)集合使用例子。注意EntityViewQueryusing語(yǔ)句。usingSystem;usingSystem.Data;usingUFSoft.UBF.Report.Entity;usingUFSoft.UBF.Report;usingUFSoft.UBF.Report.Interface;usingUFSoft.UBF.Sys.Database;usingUFSoft.UBF.Business;usingUFSoft.UBF.View.Query;{///<summary>///OQLReportCommand的摘要說(shuō)明。///</summary>publicclassOQLReportCommand:BaseReportDataCommand{privateEntityViewQueryq=newEntityViewQuery();publicOQLReportCommand(){////TODO:在此處添加構(gòu)造函數(shù)邏輯//}publicoverrideIDataReaderExecuteDataReader(){(集合)Schema,用來(lái)創(chuàng)建//臨時(shí)集合對(duì)象。ObjectQueryquery=q.CreateQuery("select*fromAssociation::A_Ass1to1");//query對(duì)象查詢?yōu)閟chema創(chuàng)建臨時(shí)表。//這相當(dāng)于執(zhí)行select*into#aaaViewfromA_Ass1to1.using(IDataReaderreader=q.ExecuteReader("aaaView",query)){//TODOwhatyoulike.}DataSetresult=q.ExecuteDataSet(query);{//TODOWhatyouwant.}//相當(dāng)于執(zhí)行select*from#aaaView.aaaView是前面定義的臨時(shí)集合對(duì)象。IDataReaderreader2=q.ExecuteReader(q.CreateQuery("select*fromaaaView"));returnreader2;}}}publicintExecuteNonQuery(stringTempVariable,ObjectQueryquery,paramsUFSoft.UBF.PL.OqlParamoqlParameters)Queryint,表示受影響的紀(jì)錄數(shù)。ds,注意這個(gè)dsEntityViewQuery方newEntityViewQueryq=newEntityViewQuery();inti=q.ExecuteNonQuery("aaaView",q.CreateQuery("select*fromAssociation::A_Ass1to1"),null);Assert.IsTrue(i>0);EntityViewQueryq=newEntityViewQuery();DataSetds0=q.ExecuteDataSet(q.CreateQuery("select*fromAssociation::A_Ass1to1whereid>@ttt"),newOqlParam(1));ds0.Tables[0].Rows[1][4]);row[4]="yel";q.UpdateDataSet(ds0);ds0=q.ExecuteDataSet(q.CreateQuery("select*fromAssociation::A_Ass1to1whereid>@ttt"),newOqlParam(1));ds0.Tables[0].Rows[1][4]);全景體驗(yàn)最后,來(lái)一次大規(guī)模的全景體驗(yàn):@"selecto.id,sum(price.amount),count(item)fromOrderasojoino.lineItemsasitemjoinductasproduct,Catalogascatalogjoincatalog.pricesaspricewhereo.paid=falseando.customer=@customerandduct=productandcatalog.effectiveDate<sysdateandcatalog.effectiveDate>=all(selectcat.effectiveDatefromCatalogascatwherecat.effectiveDate<sysdate)groupbyohavingsum(price.amount@minAmountorderbysum(price.amount)desc"。本章導(dǎo)讀本章主要介紹U9二次開(kāi)發(fā)通用命名規(guī)范命名通用規(guī)范命名方法概述itemInfo;ItemInfo;btnSave,txtName;使用規(guī)范PascalCamelvoidGetInfoByCode(stringstrCode)2)類或者函數(shù)中聲明的常量,變量3)私有類成員變量UIU9標(biāo)準(zhǔn)產(chǎn)品發(fā)布對(duì)象對(duì)照表ID代碼節(jié)點(diǎn)層次名稱30000101CBO2基礎(chǔ)設(shè)置30020201GL230030202AR2應(yīng)收管理30040203AP2應(yīng)付管理UBFUBF與客開(kāi)U9實(shí)施應(yīng)用寶典—應(yīng)用篇PAGEPAGE53PAGEPAGE5430050204NM2票據(jù)管理30060205TI2稅務(wù)發(fā)票30070206CM2現(xiàn)金銀行30080207CFP2現(xiàn)金流監(jiān)控30090208FA2固定資產(chǎn)30100209ER2費(fèi)用報(bào)銷30150503SD2銷售與分銷30160504PM2采購(gòu)管理30170505INV2庫(kù)存管理30210601BOM2工程數(shù)據(jù)30230603CRP2細(xì)能力30240604ECN2工程變更30250605MO2生產(chǎn)管理30270607SFC2車間管理30280608MRP2需求計(jì)劃30300610MOOS2可視化排程30320901CA2成本會(huì)計(jì)30330902IC2料品成本30340302PA2薪資管理30350303BEN2福利保險(xiǎn)30410301HM2人事管理30511001CP2客戶門戶30521002VP2供應(yīng)商門戶30610701QC2質(zhì)量管理30711201CS230810508DM2渠道管理31011101SM2系統(tǒng)管理32010210GC2全球合并32020211RET2關(guān)系企業(yè)交易32030212FN2資金結(jié)算33010213TB2全面預(yù)算34021301PMM2項(xiàng)目計(jì)劃控制34031302CBS2項(xiàng)目成本命名空間規(guī)范概述使用層次模型組織類,其優(yōu)點(diǎn)是可以防止對(duì)象命名上的沖突。組成要素公司名.產(chǎn)品線.客戶化.行業(yè).一級(jí)模塊.二級(jí)模塊UFIDA.U9.Cust.行業(yè).一級(jí)模塊.二級(jí)模塊要素說(shuō)明UFIDA產(chǎn)品線:U9客戶化:Cust行業(yè): CBO-公共TY -糖業(yè)JG YC-煙草YY-醫(yī)藥FZ-服裝PM -項(xiàng)目Note:行業(yè)的劃分和縮寫(xiě)命名待進(jìn)一步確認(rèn)規(guī)則與約束公司名(UFIDA)、產(chǎn)品線(U9)、客戶化(Cust)是固定不變的;U9一級(jí)模塊、二級(jí)模塊可根據(jù)具體的項(xiàng)目情況自行定義,但要用縮寫(xiě)、命名要有含義;舉例說(shuō)明加多寶營(yíng)銷管控平臺(tái):UFIDA.U9.Cust.PM.:UFIDA.U9.Cust.TY.解決方案規(guī)范概述(SG)的基本單元。U9U9實(shí)施應(yīng)用寶典—應(yīng)用篇UBFUBF與客開(kāi)PAGEPAGE100PAGEPAGE57約束規(guī)則“Cust_”+二級(jí)名稱和前臺(tái)(UI)AppUI示例件后綴名)Cust_Order.ubfsln項(xiàng)目規(guī)范概述一個(gè)解決方案下可有多個(gè)項(xiàng)目,模型項(xiàng)目組主要包括實(shí)體項(xiàng)目、操作項(xiàng)目、服務(wù)項(xiàng)目、UI項(xiàng)目、報(bào)表項(xiàng)目、查詢項(xiàng)目。約束規(guī)則(BE、BP、SV、UI、Rpt)項(xiàng)目粒度劃分規(guī)則BEBE務(wù)組下的實(shí)體。BP、SV示例如紅框所示:裝備件規(guī)范概述UFIDA.U9.Cust.OrderBE,那么編UFIDA.U9.Cust.OrderBE.dll。約束規(guī)則“UFIDA.U9.Cust.”+項(xiàng)目名。示例UFIDA.U9.Cust.OrderBEUFIDA.U9.Cust.OrderDocTypeUI如果涉及客開(kāi)模塊較多,可以在項(xiàng)目名中加入服務(wù)組,如UFIDA.U9.Cust.SCM.OrderDocTypeUI。組件規(guī)范概述UBFUIFromRef(參照)組件報(bào)表模板項(xiàng)目:報(bào)表模板組件約束規(guī)則BE組件主實(shí)體名稱+“BE”BP組件“BP”結(jié)尾即可SV組件“SV”結(jié)尾即可UIModel組件與實(shí)體組件綁定的UIModel:主實(shí)體名稱+“UIModel”UIModel:以“UIModel”結(jié)尾即可UIForm組件與實(shí)體組件綁定的UIForm:主實(shí)體名稱+“UIForm”“UIForm”結(jié)尾即可參照組件參照實(shí)體名稱+業(yè)務(wù)含義+“Ref”“業(yè)務(wù)含義”可以是:1)Find;該參照用于相應(yīng)工具欄“查找”按鈕事件

溫馨提示

  • 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)論