金蝶云K3 Cloud业务预警业务开发总结_第1页
金蝶云K3 Cloud业务预警业务开发总结_第2页
金蝶云K3 Cloud业务预警业务开发总结_第3页
金蝶云K3 Cloud业务预警业务开发总结_第4页
金蝶云K3 Cloud业务预警业务开发总结_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、业务预警业务开发总结最近研究了下业务预警的业务开发,我们有两点需求目前平台还支持不了,1、能本月预警 下个月到期的数据;2、预警结果可以显示明细、也可以显示汇总,甚至希望能显示时间段 内的数据本文档只是个人总结,还有很多不完善的地方希望和大家沟通,相互学习。这里以应收单的业务预警为例1. BOSIDE中新建预警对象平台没有提供模板,不过供应链做过,我们直接复制供应链的预警对象就好预警对象中有5个参数1、数据源:需要预警的数据来源,可以是单据、基础资料、报表,我这里选择的是应 收单2、预警方案解析插件:预警方案建立并启动后,后台服务根据预警周期条件,自动执行预警方案,在此过 程中,通过预警服务插

2、件进行灵活干预和控制;可以重写类痛ftp/thu脚 |上厚:)I I,移 IKingdee.BOS.Core.Warn.PlugIn. AbstractWarnServicePlugIn 来实现干预;2.1解析消息变量之前事件在此事件中,可以自定义需要保存到预警消息的关键数据。一般用于报表预警。以 下是示例:/ /解析预警消息之前/用途:主要用于报表预警,唯一确定一条报表数据所需要的关键数据是不 一定,所有允许自定义/ / void BeforeParseWarnMessage(BeforeParseWarnMessageEventArgs e)/添加预警数据关键字段,如以下示例(添加字段名称

3、为FName的关键数 据,将保存到预警消息中,以便后续处理使用)e.KeyValueFieldNames.Add(FName);base.BeforeParseWarnMessage(e); 2. 2.解析预警条件之后事件主要用于附加一些额外的过滤条件,适合一些硬编码的条件。以下是示例:/ /触发预警条件解析之后的事件/用途:主要用于添加额外的一些过滤条件/ / 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.预警执行事件主要用于修改预警执行结果集合,不建议重写此事件,以下是示例:/ /执行预警解析/用途:主要用于修改执行后的数据集合,不建议重写/ void ExcuteWarnParse(ExcuteWarnParseEventArgs e)base.ExcuteWarnParse(e);/将第一个数据中,客户名称改为海格科技/数据源是否为报表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.消息发送之

7、前事件对发送消息进一步精确控制,以下是示例:/ /发送预警消息之前/针对消息发送的精确控制/ / void BeforeSendWarnMessage(BeforeSendWarnMessageEventArgs e)base.BeforeSendWarnMessage(e);当消息发送条数大于100时,取消发送if (e.WarnMessage.MessageEntityList.Count 100)e.Cancel = true;3、客户端插件重写指导说明在消息中心,或者首页的预警消息功能下面,可以看到预警消息列表。此列表支持预警消息 的查看和处理工作,通过预警方案的消息客户端插件重写,可

8、以自定义处理预警消息和查看 消息。同样可以把自己的插件注册进来重写类:Kingdee.BOS.Core.Warn.PlugIn. AbstractWarnMessagePlugIn查看消息弹出指定的查看界面,如果不重写,则弹出统一的消息查看界面,以下是示例:/ /显示消息/ public override void ShowWarnMessage(ShowWarnMessageEventArgs e)/根据传过来的关键数据,进行查看if (e.MsgDataKeyValueList != null & e.MsgDataKeyValueList.Count() 0)/ DoShow查看逻辑标识

9、从插件中查看,这样就不会显示公用的查看界面了e.IsShowByPlugIn = true;base.ShowWarnMessage(e);处理消息插件根据传递过来的关键数据,进行处理,以下是示例:/ /处理消息/ 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第一个是平台的模板,我们也可以继承这个模板自定义我们自己需要的预警条件, 预警条件是一个单据;5、预警方案插件重写指导说明预警方案维护界面中,对消息的配置支持变量,而变量是根据对应预警对象数据源 的元数据构成的。如果开发者需要精简一些无用的变量,则可以通过重写预警方案 插件来实现。重写类: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进入我们的系统,然后设置预警方案庭方案日基蘑管理基础资料预零万茶吊石警方窒列丰-公共设置预警执行情况列表獭管理-系统管理预瞥方案 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开始执行设置好保存就可以了, 最后设置你的消息提示;发底方式 熊人 按收八匪细际题Administrator单据编号甘耳*盛扁号漏应也年啊要到期请反E寸描理区个只要先输人左迎的K拈弓,就会显示数据来源单据上所有的宇段供甥军明细表体和明细正文就是我们要设置的明细消息提示、用框起来需要提示的字段, 这里的字段都是你预警对象数据源里的字段保存这个预警方案,预警方案就算设置 好了,然后启动这个预警方案,就会自动执行,当然你也可以手动执行验证; 执行后到预警执行情况列表里查看就行,同时也会发消息到对

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号.内的四用将JIK财.询闸地世早圜岖.勺的WHi般物iMEfliJta.点由mr给w?*sp/翩年e号.由中。皿真mme他帏洁蜩猊早圜马.勺,凡皿:网沽在曲旱F53F#lfi清茂i毋建.点由mr给w?*sp/翩母马为的Et甲将登州.询剧描厦圜堆:勺 臆耻岬酹部旧州喔9n我崛OW?*SW!雅场母马为的Et甲将登州.询剧描厦圜堆:勺 臆耻岬酹部

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论