金蝶云K3 Cloud業(yè)務預警業(yè)務開發(fā)總結(jié)_第1頁
金蝶云K3 Cloud業(yè)務預警業(yè)務開發(fā)總結(jié)_第2頁
金蝶云K3 Cloud業(yè)務預警業(yè)務開發(fā)總結(jié)_第3頁
金蝶云K3 Cloud業(yè)務預警業(yè)務開發(fā)總結(jié)_第4頁
金蝶云K3 Cloud業(yè)務預警業(yè)務開發(fā)總結(jié)_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、業(yè)務預警業(yè)務開發(fā)總結(jié)最近研究了下業(yè)務預警的業(yè)務開發(fā),我們有兩點需求目前平臺還支持不了,1、能本月預警 下個月到期的數(shù)據(jù);2、預警結(jié)果可以顯示明細、也可以顯示匯總,甚至希望能顯示時間段 內(nèi)的數(shù)據(jù)本文檔只是個人總結(jié),還有很多不完善的地方希望和大家溝通,相互學習。這里以應收單的業(yè)務預警為例1. BOSIDE中新建預警對象平臺沒有提供模板,不過供應鏈做過,我們直接復制供應鏈的預警對象就好預警對象中有5個參數(shù)1、數(shù)據(jù)源:需要預警的數(shù)據(jù)來源,可以是單據(jù)、基礎資料、報表,我這里選擇的是應 收單2、預警方案解析插件:預警方案建立并啟動后,后臺服務根據(jù)預警周期條件,自動執(zhí)行預警方案,在此過 程中,通過預警服務插

2、件進行靈活干預和控制;可以重寫類痛ftp/thu腳 |上厚:)I I,移 IKingdee.BOS.Core.Warn.PlugIn. AbstractWarnServicePlugIn 來實現(xiàn)干預;2.1解析消息變量之前事件在此事件中,可以自定義需要保存到預警消息的關鍵數(shù)據(jù)。一般用于報表預警。以 下是示例:/ /解析預警消息之前/用途:主要用于報表預警,唯一確定一條報表數(shù)據(jù)所需要的關鍵數(shù)據(jù)是不 一定,所有允許自定義/ / void BeforeParseWarnMessage(BeforeParseWarnMessageEventArgs e)/添加預警數(shù)據(jù)關鍵字段,如以下示例(添加字段名稱

3、為FName的關鍵數(shù) 據(jù),將保存到預警消息中,以便后續(xù)處理使用)e.KeyValueFieldNames.Add(FName);base.BeforeParseWarnMessage(e); 2. 2.解析預警條件之后事件主要用于附加一些額外的過濾條件,適合一些硬編碼的條件。以下是示例:/ /觸發(fā)預警條件解析之后的事件/用途:主要用于添加額外的一些過濾條件/ / void AfterWarnConditionParse(AfterWarnConditionParseArgs e)/將客戶=海格科技的過濾掉string filter = FCUSTOMERNAME =海格科技; if (stri

4、ng.IsNullOrWhiteSpace(e.Filter) e.Filter = filter;elsee.Filter = AND + filter;base.AfterWarnConditionParse(e);2. 3.預警執(zhí)行事件主要用于修改預警執(zhí)行結(jié)果集合,不建議重寫此事件,以下是示例:/ /執(zhí)行預警解析/用途:主要用于修改執(zhí)行后的數(shù)據(jù)集合,不建議重寫/ void ExcuteWarnParse(ExcuteWarnParseEventArgs e)base.ExcuteWarnParse(e);/將第一個數(shù)據(jù)中,客戶名稱改為海格科技/數(shù)據(jù)源是否為報表if (this.WarnH

5、elper.IsDataSourceReport)e.WarnMessage.WarnObjectSysReportData.Rows0FName=海 格科技;elsee.WarnMessage.WarnObjectDynamicObjects0FName=海格科技;2. 4.消息解析之后事件主要用于修改格式化后的預警消息,或者進一步使用自定義變量格式化預警消息/ /解析預警消息之后/用途:主要用于修改格式化后的預警消息,或者進一步使用自定義變量格 式化預警消息/ / void AfterParseWarnMessage(AfterParseWarnMessageEventArgs e)bas

6、e.AfterParseWarnMessage(e);/將自定義變量FCUSTOMERNAME.Custom格式化為 海格科技for (int i = 0; i e.WarnMessage.MessageEntityList.Count; i+) MessageEntity item = e.WarnMessage.MessageEntityListi.MessageEntity as MessageEntity;if (item != null)item.Content = item.Content.Replace(FCUSTOMERNAME.Custom,海 格科技);2. 5.消息發(fā)送之

7、前事件對發(fā)送消息進一步精確控制,以下是示例:/ /發(fā)送預警消息之前/針對消息發(fā)送的精確控制/ / void BeforeSendWarnMessage(BeforeSendWarnMessageEventArgs e)base.BeforeSendWarnMessage(e);當消息發(fā)送條數(shù)大于100時,取消發(fā)送if (e.WarnMessage.MessageEntityList.Count 100)e.Cancel = true;3、客戶端插件重寫指導說明在消息中心,或者首頁的預警消息功能下面,可以看到預警消息列表。此列表支持預警消息 的查看和處理工作,通過預警方案的消息客戶端插件重寫,可

8、以自定義處理預警消息和查看 消息。同樣可以把自己的插件注冊進來重寫類:Kingdee.BOS.Core.Warn.PlugIn. AbstractWarnMessagePlugIn查看消息彈出指定的查看界面,如果不重寫,則彈出統(tǒng)一的消息查看界面,以下是示例:/ /顯示消息/ public override void ShowWarnMessage(ShowWarnMessageEventArgs e)/根據(jù)傳過來的關鍵數(shù)據(jù),進行查看if (e.MsgDataKeyValueList != null & e.MsgDataKeyValueList.Count() 0)/ DoShow查看邏輯標識

9、從插件中查看,這樣就不會顯示公用的查看界面了e.IsShowByPlugIn = true;base.ShowWarnMessage(e);處理消息插件根據(jù)傳遞過來的關鍵數(shù)據(jù),進行處理,以下是示例:/ /處理消息/ public override void ProcessWarnMessage(ProcessWarnMessageEventArgs e)if (e.MsgDataKeyValueList != null & e.MsgDataKeyValueList.Count() 0) string message = string.Empty;message = DoProcess(e.M

10、sgDataKeyValueList);/自 定義處理邏輯插件中顯示了提示消息,公共的提示消息就不顯示了e.Result.IsShowMessage = false;標識已被插件處理e.IsProcessByPlugin = true;this.ParentView.ShowMessage(message);base.ProcessWarnMessage(e);4、預警條件窗體:拒警亡案鞋析志件到那日停害孕:件 預磐提前期而警至件 普逢預答井牛 預磐洵牛(DEMCiJ 屋肯商善,二斗 最大庫存預曹條件佯言期帕警學:體CRE_ExpiryDayWa rnCo nditi&nSet CRE_Lec

11、 dDayYharn cond ti&n set CREJuVarnCanditionSet DEMO CD5TK_ Invento ryWarn Cond tionS TK_M 耿痢占 rn Con ditionSTK_5henift&er第一個是平臺的模板,我們也可以繼承這個模板自定義我們自己需要的預警條件, 預警條件是一個單據(jù);5、預警方案插件重寫指導說明預警方案維護界面中,對消息的配置支持變量,而變量是根據(jù)對應預警對象數(shù)據(jù)源 的元數(shù)據(jù)構(gòu)成的。如果開發(fā)者需要精簡一些無用的變量,則可以通過重寫預警方案 插件來實現(xiàn)。重寫類:Kingdee.BOS.Core.Warn.P山gIn.Abstra

12、ctWarnSolutionEditPlugIn5.1設置預警條件之前事件更改預警消息變量來源,適用于精簡一些無用的字段變量;注意,需與下面的設置預警變量之前事件配套使用,否則會出錯;以下是示例:/ /預警條件界面,在設置預警條件字段之前/ public override void BeforeSetFilterFields(BeforeSetFilterFieldsEventArgs e)/將字段名為FName的字段移除預警條件字段集合for (int i = e.FilterFields.Count - 1; i = 0; i-) JSONObject json = e.FilterFie

13、ldsi as JSONObject;if (jsonFieldName.ToString().ToUpperInvariant() = FName)e.FilterFields.RemoveAt(i);base.BeforeSetFilterFields(e);設置預警變量之前事件精簡一些無用的變量,或者添加一些自定義的變量;如果是精簡的變量,需要跟前面的設置預警條件之前事件保持一致;如果是添加的自定義變量,需要在前面提到過的(2.1.4消息解析之后事件)事情中 進行自定義格式化解析。以下是示例:/ /消息界面,在設置消息變量之前/ public override void BeforeSe

14、tVeriableList(BeforeSetVeriableListEventArgs e)/將變量中,字段名為FName的變量移除預警消息變量集合for (int i = e.Veriablelist.Count - 1; i = 0; i-)WarnMessageVeriable veriable = e.Veriablelisti;if (veriable.FiledName.ToUpperInvariant() = FName)e.Veriablelist.RemoveAt(i);base.BeforeSetVeriableList(e);預警對象建立好后,我們需要用administ

15、rator進入我們的系統(tǒng),然后設置預警方案庭方案日基蘑管理基礎資料預零萬茶吊石警方窒列豐-公共設置預警執(zhí)行情況列表獺管理-系統(tǒng)管理預瞥方案 sffl -T-Tt啟用”的一后一刊大記-I昭周勘竺三.一消口.諼苴預警方案的新增界面,填好編號和名稱,選擇預警級別,然后選擇自己剛剛在BOS 里設置的預警對象,選擇預警對象好會默認把BOS里配置的預警條件窗體攜帶到這 里的預警條件下,同時會加載消息設置的東西頊警方案玳、TT?啟用、首一,后一-.?:匚:TestA5A子系皺期勞開岌吉用H誓京件耳害=耳sliSfi 仙.:.I 字度比檢1E圈左遂方式n凈消息高綴設置N送A Administrstcr接取,、

16、眠知止其然后設置預警周期事號用期 We保存瓶磐周期說明2013-07-1始,每月的第1天的15:25:20開始執(zhí)行設置好保存就可以了, 最后設置你的消息提示;發(fā)底方式 熊人 按收八匪細際題Administrator單據(jù)編號甘耳*盛扁號漏應也年啊要到期請反E寸描理區(qū)個只要先輸人左迎的K拈弓,就會顯示數(shù)據(jù)來源單據(jù)上所有的宇段供甥軍明細表體和明細正文就是我們要設置的明細消息提示、用框起來需要提示的字段, 這里的字段都是你預警對象數(shù)據(jù)源里的字段保存這個預警方案,預警方案就算設置 好了,然后啟動這個預警方案,就會自動執(zhí)行,當然你也可以手動執(zhí)行驗證; 執(zhí)行后到預警執(zhí)行情況列表里查看就行,同時也會發(fā)消息到對

17、應的接收人目邙S- 后一禾并fill什!!M 捐 10137J15 0Qi4 MJWA畢1E1僵finHJDcmiff迥甘Mffl,潔剃淚1PIB!H:冉明0KmCHB1N申用EJIBb 清琪拊ifiF1割為皂ff/Ekpa9為曄丸wnHJDOKBf迥妙卑朽要君皿 語剜霓盤0BHI宅月前哲HKgOZffl岳臥 lITEltttiEBi 11F1叩活r/kpe*為曄丸年訕聞皿:皿U*朽要君皿 語剜霓盤0BHI宅月前哲HKgCGffl岳臥 IITEltttiEBi 11F1叩活r/kpe*1G1I號為gwiiraniBf間卜卻喜壬PJh語制注理時詛晨與為祀皿CW岳牧忡恃宴IffEltSMS硒F的極Drtfcp:建法既由時詛晨與為祀皿Wffl岳牧忡恃宴IffEltSMSF的極Drtfcp:建法既由年E號.內(nèi)的四用將JIK財.詢閘地世早圜嶇.勺的WHi般物iMEfliJta.點由mr給w?*sp/翩年e號.由中。皿真mme他幃潔蜩猊早圜馬.勺,凡皿:網(wǎng)沽在曲旱F53F#lfi清茂i毋建.點由mr給w?*sp/翩母馬為的Et甲將登州.詢劇描廈圜堆:勺 臆恥岬酹部舊州喔9n我崛OW?*SW!雅場母馬為的Et甲將登州.詢劇描廈圜堆:勺 臆恥岬酹部

溫馨提示

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

評論

0/150

提交評論