版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、ShareData2第一章:Sharedata介紹第二章:如何配置和使用變量第三章:如何配置和使用關(guān)系第四章:調(diào)整后的驗(yàn)證方法第五章:配置的注意事項(xiàng)和常見(jiàn)問(wèn)題分析目錄目錄3第一章:Sharedata介紹4背景相同的取值邏輯和數(shù)據(jù)無(wú)法共享在批量操作中,無(wú)意義或重復(fù)的業(yè)務(wù)邏輯會(huì)被執(zhí)行GetEntityProperty消耗了近乎一半的遠(yuǎn)程調(diào)用遠(yuǎn)程調(diào)用次數(shù)太多SQL 語(yǔ)句數(shù)量太多5 關(guān)系模型 解決GetEntityProperty廣泛使用造成的效能問(wèn)題 變量模型 解決在公式、校驗(yàn)、條件格式、數(shù)據(jù)跟蹤切片中頻繁調(diào)用遠(yuǎn)程服務(wù)造成的效能問(wèn)題組成6原理合并單身開(kāi)窗帶回50筆,同一個(gè)服務(wù)會(huì)發(fā)起50次遠(yuǎn)程調(diào)用,現(xiàn)
2、在合并為1次遠(yuǎn)程調(diào)用,在服務(wù)端還是執(zhí)行50次服務(wù)壓縮50次服務(wù)執(zhí)行中,如果參數(shù)相同,可壓縮減少服務(wù)執(zhí)行次數(shù)緩存服務(wù)執(zhí)行返回的結(jié)果進(jìn)行緩存,下次需再調(diào)用服務(wù)時(shí),如果輸入?yún)?shù)相同,直接取緩存7配置文件Server端ShareDataContainer.dcxmlShareData變量 VL_GetTax= Context.GetTax ITEM_IDCUSTOMER_IDSALES_CENTER_ID9ShareData關(guān)系銷(xiāo)售訂單單身SALES_ORDER_DOC_D報(bào)價(jià)單單身QUOTATION_DRL_QuotationDSOURCE_ID.ROidQUOTATION_D_ID10應(yīng)用范圍11
3、第二章:如何配置和使用變量第二章:如何配置和使用變量12新舊函數(shù)的調(diào)用方式對(duì)比 1. 舊的函數(shù)調(diào)用格式所屬TypeKey函數(shù)名稱(chēng)函數(shù)名稱(chēng)函數(shù)所需參數(shù)值13新舊函數(shù)的調(diào)用方式對(duì)比 2. 變量替換后的函數(shù)使用格式變量實(shí)體對(duì)象14配置變量 在對(duì)應(yīng)的實(shí)體對(duì)象節(jié)點(diǎn)下新增按鈕:添加變量按鈕:添加變量變量信息區(qū)域15配置變量 確定函數(shù)所在的接口DLL1)在CM的CI列表中查找2)在規(guī)格中查找3)在以下公共服務(wù)的接口DLL查找:Digiwin.ERP.CommonSupplyChain.Business.dllDigiwin.ERP.CommonRetail.Business.dllDigiwin.ERP.C
4、ommonManufacture.BusinessDigiwin.ERP.CommonFinance.BusinessDigiwin.ERP.Common.Business4) 平臺(tái)函數(shù)的接口DLL是:Digiwin.Mars.Business.Utils.dll5)在本作業(yè)的接口DLL中查找6)在功能包中排查7)咨詢(xún)SD配置變量16例如: 配置函數(shù)CurrencyConvert的變量,確定其所在的dll是: Digiwin.ERP.Common.Business.dll點(diǎn)擊方法名稱(chēng)開(kāi)窗選擇E10環(huán)境下的Digiwin.ERP.Common.Business.dll配置變量17設(shè)計(jì)器自動(dòng)加載d
5、ll里邊的函數(shù)列表函數(shù)列表選擇CurrencyConvert函數(shù)配置變量18設(shè)計(jì)器自動(dòng)把CurrencyConvert函數(shù)信息加載到變量區(qū)域配置變量19變量名稱(chēng)命名規(guī)范必須以“VL_”為前綴。顯示名稱(chēng):建議設(shè)置為公式或者校驗(yàn)的顯示名稱(chēng),便于排查核對(duì)。公式變量配置變量20配置參數(shù)列表配置變量21配置參數(shù)前置條件1.從服務(wù)規(guī)格中函數(shù)的參數(shù)使用說(shuō)明確定(參數(shù)的條件要求)參數(shù)條件作為前置條件的一部分配置變量22 2 .從作業(yè)規(guī)格中描述的業(yè)務(wù)邏輯確定根據(jù)業(yè)務(wù)邏輯這部分可作為變量的觸發(fā)條件配置變量23 3 .綜合1和2的判斷確定變量的前置條件配置變量24變量配置完成數(shù)據(jù)跟蹤切片中使用變量251.Depen
6、dencyItems 加入要使用的變量對(duì)象 DependencyItems = ActiveObject.BUSINESS_QTY;ActiveObject.VL_TryGetConvertedQty_01;ActiveObject.VL_TryGetConvertedQty_02;ActiveObject.BUSINESS_UNIT_ID, IsRunAtInitialized = false)2.調(diào)用格式 obj = entity.GetValueOrDefault(ActiveObject.VL_TryGetConvertedQty_01, new object ItemId, PreU
7、nit, PreQty, uiSTOCK_UNIT_ID );變量對(duì)象使用格式26第三章:如何配置和使用關(guān)系第三章:如何配置和使用關(guān)系新舊取值方式對(duì)比27例如:按Owner_Org.ROid,CURRENCY_ID為條件獲取CURRENCY_PRECISION對(duì)象的CONV_TOLERANCE屬性值 GetEntityProperty方式實(shí)體對(duì)象要獲取的屬性條件屬性條件屬性值新舊取值方式對(duì)比282. Sharedata關(guān)系方式實(shí)體對(duì)象Sharedata關(guān)系名屬性配置Sharedata關(guān)系29按鈕:新增sharedata關(guān)系Sharedata關(guān)系信息區(qū)域配置Sharedata關(guān)系301.設(shè)置關(guān)聯(lián)
8、實(shí)體對(duì)象設(shè)置關(guān)聯(lián)實(shí)體對(duì)象點(diǎn)擊開(kāi)窗選擇關(guān)聯(lián)實(shí)體對(duì)象CURRENCY_PRECISION配置Sharedata關(guān)系312.設(shè)計(jì)器自動(dòng)生成關(guān)系名稱(chēng),命名規(guī)范以“RL_”為前綴關(guān)系名稱(chēng)配置Sharedata關(guān)系323.配置條件關(guān)聯(lián)信息配置條件關(guān)聯(lián)信息配置Sharedata關(guān)系334.sharedata關(guān)系配置完成34第四章:調(diào)整后的驗(yàn)證方法第四章:調(diào)整后的驗(yàn)證方法35 啟動(dòng)E10客戶(hù)端,加上d /l參數(shù),以debug模式啟動(dòng)檢查方法如下:檢查方法如下:36取得要分析典型業(yè)務(wù)場(chǎng)景的事件日志l打開(kāi)要測(cè)試的建檔作業(yè),新建一筆單據(jù)l選擇以下典型業(yè)務(wù)場(chǎng)景之一:?jiǎn)紊黹_(kāi)窗20筆,或單身上引20筆l啟動(dòng)事件日志,記錄
9、單身開(kāi)窗或單身上引操作時(shí)的事件日志以銷(xiāo)貨單身品號(hào)開(kāi)窗選擇20筆為例:373839事件日志的分析事件日志的分析查詢(xún)分類(lèi)為遠(yuǎn)程調(diào)用的事件將事件日志窗口拉大40查找遠(yuǎn)程調(diào)用關(guān)鍵字,下方會(huì)列出所有遠(yuǎn)程調(diào)用事件查找遠(yuǎn)程調(diào)用關(guān)鍵字,下方會(huì)列出所有遠(yuǎn)程調(diào)用事件41查看是否存在可繼續(xù)優(yōu)化的遠(yuǎn)程調(diào)用正常的遠(yuǎn)程調(diào)用事件:ICallbackPrepareService:回調(diào)引擎數(shù)據(jù)準(zhǔn)備服務(wù)42IQueryAdvancedService、IBrowseService:開(kāi)窗服務(wù)43可優(yōu)化的遠(yuǎn)程調(diào)用事件:IGetEntityPropertyService,此服務(wù)應(yīng)該使用,此服務(wù)應(yīng)該使用ShareData關(guān)系代替關(guān)系代替4
10、4IValidatorSnippetService.CommonValidateIEnhancedValidateService.OoqlValidateIPurchasePriceService.GetPurchasePriceICurrencyPrecisionService.AmendPricePrecision以上校驗(yàn)服務(wù)和業(yè)務(wù)服務(wù),應(yīng)該使用以上校驗(yàn)服務(wù)和業(yè)務(wù)服務(wù),應(yīng)該使用ShareData變量代替變量代替45如果事件日志中出現(xiàn)了如果事件日志中出現(xiàn)了IGetEntityPropertyService、IValidatorSnippetService、IEnhancedValidateS
11、ervice、IPurchasePriceService、ICurrencyPrecisionService服務(wù)服務(wù)請(qǐng)檢查公式、校驗(yàn)、條件格式的配置,使用請(qǐng)檢查公式、校驗(yàn)、條件格式的配置,使用ShareData關(guān)系或變量,代關(guān)系或變量,代替對(duì)遠(yuǎn)程服務(wù)的直接調(diào)用替對(duì)遠(yuǎn)程服務(wù)的直接調(diào)用 。46數(shù)據(jù)準(zhǔn)備與批的概念數(shù)據(jù)準(zhǔn)備與批的概念 在沒(méi)有引用智能計(jì)算之前,回調(diào)引擎會(huì)根據(jù)業(yè)務(wù)邏輯,逐筆發(fā)起遠(yuǎn)程調(diào)用。以銷(xiāo)貨單單身品號(hào)為例,品號(hào)改變后,有以下操作:a品號(hào)帶值、b公式調(diào)用取價(jià)服務(wù)給單價(jià)賦值。如果單身開(kāi)窗帶回20筆品號(hào),使用智能計(jì)算之前的遠(yuǎn)程調(diào)用順序如下:品號(hào)1:a品號(hào)帶值遠(yuǎn)程調(diào)用、b取價(jià)服務(wù)遠(yuǎn)程調(diào)用品號(hào)2:
12、a品號(hào)帶值遠(yuǎn)程調(diào)用、b取價(jià)服務(wù)遠(yuǎn)程調(diào)用.品號(hào)20:a品號(hào)帶值遠(yuǎn)程調(diào)用、b取價(jià)服務(wù)遠(yuǎn)程調(diào)用總共發(fā)起20 * 2 = 40次遠(yuǎn)程調(diào)用47使用智能計(jì)算后,會(huì)將開(kāi)窗帶回20筆的所有遠(yuǎn)程調(diào)用收集起來(lái),進(jìn)行分析,將同類(lèi)型的遠(yuǎn)程調(diào)用的輸入?yún)?shù)進(jìn)行壓縮,并按照遠(yuǎn)程調(diào)用之間的依賴(lài)關(guān)系,分批次發(fā)起數(shù)據(jù)準(zhǔn)備遠(yuǎn)程調(diào)用。銷(xiāo)貨單單身開(kāi)窗帶回20筆品號(hào),使用智能計(jì)算之后的遠(yuǎn)程調(diào)用順序如下:如果以下兩個(gè)遠(yuǎn)程調(diào)用:a品號(hào)帶值遠(yuǎn)程調(diào)用、b取價(jià)服務(wù)遠(yuǎn)程調(diào)用 之間沒(méi)有依賴(lài)關(guān)系,只需發(fā)起1次(批)遠(yuǎn)程調(diào)用即可。(此次遠(yuǎn)程調(diào)用,會(huì)將10筆品號(hào)帶值,10筆取價(jià)的輸入?yún)?shù)全部傳到服務(wù)端,服務(wù)端會(huì)計(jì)算10筆品號(hào)帶值,10筆取價(jià),并將全部結(jié)果返
13、回)如果b取價(jià)服務(wù)遠(yuǎn)程調(diào)用 依賴(lài)于a品號(hào)帶值遠(yuǎn)程調(diào)用,則將發(fā)起2次(批)遠(yuǎn)程調(diào)用。這種批量的遠(yuǎn)程調(diào)用請(qǐng)求,稱(chēng)為ICallbackPrepareService:回調(diào)引擎數(shù)據(jù)準(zhǔn)備服務(wù),目的為后續(xù)的帶值及公式準(zhǔn)備數(shù)據(jù)。4849遠(yuǎn)程調(diào)用總次數(shù)遠(yuǎn)程調(diào)用總次數(shù) 使用智能計(jì)算后,遠(yuǎn)程調(diào)用收集起來(lái),同類(lèi)型的遠(yuǎn)程調(diào)用的輸入?yún)?shù)進(jìn)行壓縮,會(huì)明顯減少遠(yuǎn)程調(diào)用次數(shù)。并且遠(yuǎn)程調(diào)用次數(shù)不會(huì)隨業(yè)務(wù)場(chǎng)景數(shù)據(jù)筆數(shù)的增加而增加。遠(yuǎn)程調(diào)用次數(shù)基本恒定在一定的數(shù)量。如果出現(xiàn)遠(yuǎn)程調(diào)用總次數(shù)會(huì)隨著數(shù)據(jù)筆數(shù)的增加而增加的情況,就應(yīng)該檢查是否功能實(shí)現(xiàn)上存在問(wèn)題。50第五章:配置的注意事項(xiàng)和常見(jiàn)問(wèn)題分析第五章:配置的注意事項(xiàng)和常見(jiàn)問(wèn)題分析配置
14、注意事項(xiàng):51 1.確保傳值類(lèi)型和變量的參數(shù)類(lèi)型匹配確保傳值類(lèi)型和變量的參數(shù)類(lèi)型匹配 例如:TryGetConvertedQty 參數(shù)為Decimal類(lèi)型在傳值時(shí):不能直接寫(xiě)無(wú)小數(shù)格式的數(shù)值,因?yàn)檫@會(huì)被視為int型,需用Decimal(Vaule)強(qiáng)轉(zhuǎn)。 52 報(bào)錯(cuò)信息參考報(bào)錯(cuò)信息參考: 53 2.傳值是從傳值是從DependencyObject對(duì)象獲取時(shí),格式需要轉(zhuǎn)換。對(duì)象獲取時(shí),格式需要轉(zhuǎn)換。例如: 原公式格式:Context.GetPurchasePrice.RecommendedPrice 變量格式: ActiveObject. VL_GetPurchasePrice “Recomme
15、ndedPrice” 同時(shí)IF條件中需要對(duì)DependencyObject對(duì)象做判空543.服務(wù)端功能包需配置函數(shù)的服務(wù)接口和實(shí)現(xiàn)服務(wù)端功能包需配置函數(shù)的服務(wù)接口和實(shí)現(xiàn)例如付款計(jì)算GetPaymentTerm函數(shù): 接口:Digiwin.ERP.Common.Business.IPaymentTermService,Digiwin.ERP.Common.Business 實(shí)現(xiàn):Digiwin.ERP.PaymentTermService.Business.Implement.PaymentTermService,Digiwin.ERP.PaymentTermService.Business.I
16、mplement55報(bào)錯(cuò)信息參考報(bào)錯(cuò)信息參考564. 參數(shù)用到虛字段,需要轉(zhuǎn)為參數(shù)用到虛字段,需要轉(zhuǎn)為sharedata關(guān)系使用關(guān)系使用574. 參數(shù)用到虛字段,需要轉(zhuǎn)為參數(shù)用到虛字段,需要轉(zhuǎn)為sharedata關(guān)系使用關(guān)系使用帶值部分的虛字段,可以轉(zhuǎn)為sharedata關(guān)系放到參數(shù)項(xiàng)中。公式計(jì)算出的虛字段,可以把表達(dá)式邏輯放到參數(shù)項(xiàng)中。585. GetEntityProperty函數(shù)也可以被變量替換596. 參數(shù)為數(shù)組時(shí),需要使用參數(shù)為數(shù)組時(shí),需要使用“ ”括起傳值括起傳值607. 所屬所屬TypeKey要設(shè)置正確要設(shè)置正確61報(bào)錯(cuò)信息參考628.Sharedata關(guān)系關(guān)聯(lián)條件不支持使用虛字
17、段和關(guān)系關(guān)聯(lián)條件不支持使用虛字段和V.參數(shù)參數(shù)可以考慮使用GetEntityProperty變量替代639.撰寫(xiě)可被變量調(diào)用的服務(wù)和方法撰寫(xiě)可被變量調(diào)用的服務(wù)和方法注意點(diǎn):參數(shù)是數(shù)組類(lèi)型時(shí),請(qǐng)使用Icollection類(lèi)型類(lèi)型XX6410.變量的參數(shù)值前不能有空格變量的參數(shù)值前不能有空格X報(bào)錯(cuò)信息參考6511.公式組中的依賴(lài)項(xiàng)要保證變量能正確執(zhí)行公式組中的依賴(lài)項(xiàng)要保證變量能正確執(zhí)行案例1. QueryPrice函數(shù)變量配置信息6611.公式組中的依賴(lài)項(xiàng)要保證變量能正確執(zhí)行公式組中的依賴(lài)項(xiàng)要保證變量能正確執(zhí)行原公式組中使用變量時(shí)未把TAX_RATE作為依賴(lài)項(xiàng),造成變量取值錯(cuò)誤6711.公式組中的
18、依賴(lài)項(xiàng)要保證變量能正確執(zhí)行公式組中的依賴(lài)項(xiàng)要保證變量能正確執(zhí)行原因分析:添加sharedata功能后回調(diào)引擎計(jì)算順序的改變,導(dǎo)致原有公式組需增加依賴(lài)項(xiàng),公式定義如下:需把變量的參數(shù)ActiveObject.TAX_RATE作為依賴(lài)項(xiàng)場(chǎng)景1.原公式組(不使用sharedata變量)沒(méi)有依賴(lài)項(xiàng)稅率: ActiveObject.TAX_RATE,計(jì)算順序如下:稅種改變,稅率為0稅種帶值稅率,稅率為0.05稅種觸發(fā)公式,傳入稅率0.05, QueryPrice函數(shù)返回回單價(jià)不為0場(chǎng)景2.現(xiàn)公式組(使用sharedata變量)如果不加依賴(lài)項(xiàng)稅率:ActiveObject.TAX_RATE,計(jì)算順序如下:稅種改變,稅率為0公式使用sharedata變量,稅種改變,引發(fā)變量數(shù)據(jù)準(zhǔn)備,傳入稅率0, QueryPrice函數(shù)返回
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年全國(guó)中小學(xué)安全知識(shí)競(jìng)賽題250題及答案
- 2025審圖設(shè)計(jì)合同
- 2025新版?zhèn)€人房屋租賃標(biāo)準(zhǔn)合同書(shū)
- 2025鳊魚(yú)苗買(mǎi)賣(mài)服務(wù)合同
- 2025豐巢智能柜合作合同協(xié)議書(shū)范本模板
- 2025鐵塔勞務(wù)合同
- 建筑工程鋼筋購(gòu)銷(xiāo)合同
- 2025品牌設(shè)計(jì)包年服務(wù)合同
- 2025年蘇人新版選擇性必修3歷史上冊(cè)月考試卷含答案
- 2025北京市存量房屋買(mǎi)賣(mài)合同(樣本)
- 面試評(píng)估報(bào)告
- 2022年山東省青島一中自主招生化學(xué)模擬試卷一(附答案詳解)
- 液壓阻尼器工作原理
- 小學(xué)畢業(yè)紀(jì)念冊(cè)教學(xué)課件
- 寶典三猿金錢(qián)錄
- 個(gè)人房屋買(mǎi)賣(mài)購(gòu)房合同
- 聚合物粘彈性
- 養(yǎng)老護(hù)理員培訓(xùn)老年人日常生活照料
- 各種抽油泵的結(jié)構(gòu)及工作原理幻燈片
- 學(xué)習(xí)弘揚(yáng)雷鋒精神主題班會(huì)PPT雷鋒精神我傳承爭(zhēng)當(dāng)時(shí)代好少年P(guān)PT課件(帶內(nèi)容)
- 社區(qū)獲得性肺炎的護(hù)理查房
評(píng)論
0/150
提交評(píng)論