二开案例- DataChanged事件 + 单据新增来源
DataChanged是当单据内字段值有发生改变时会触发的一个事件,同时DataChanged事件提供了字段操作之前的数据e.OldValue 以及字段变更值 e.NewValue,这两个属性可以方便我们做很多操作。同时,值得注意的是, DataChanged事件当中并不存在 e.Cancel 属性 无法直接通过DataChanged 事件阻止 值更新事件的 执行 。
想要校验变更前后值的合法性得通过BeforeUpdateValue事件当中去获取字段当前值和 e.value 当中的数据包进行判断,如果操作之后的数据包不符合规范,可以通过e.Cancel =True 终止当前值更新事件的执行,进而达到校验的目的。
单据的新增状态实际上区分为多种状态,那么该如何区分呢?,比如说我想做的插件仅希望单据通过复制新增的方式才生效。
最好的方式就是通过 this.View.OpenParameter.CreateFrom 属性来区分。
或者说 也可以通过AfterCopyData 和 AfterCreateNewData 来区分数据是通过复制新增还是正常新增。
using Kingdee.BOS.Core.Bill.PlugIn; using Kingdee.BOS.Core.Metadata; using Kingdee.BOS.Util; using System; using System.ComponentModel; namespace Jac.XkDemo.BOS.Business.PlugIn { /// <summary> /// 【单据插件】获取新增单据来源 /// </summary> [Description("【单据插件】获取新增单据来源"), HotUpdate] public class GetCreateFromBillPlugIn : AbstractBillPlugIn { public override void AfterBindData(EventArgs e) { base.AfterBindData(e); var msg = ""; switch (this.View.OpenParameter.CreateFrom) { case CreateFrom.Default: msg = "正常新增"; break; case CreateFrom.Copy: msg = "复制新增"; break; case CreateFrom.Draw: msg = "选单新增"; break; case CreateFrom.Push: msg = "下推新增"; break; } this.View.ShowMessage("新增界面来源:" + msg); } } }
具体代码参照 官方文档 https://wenku.my7c.com/article/377452105784652288?productLineId=1&isKnowledge=2
二开案例- DataChanged事件 + 单据新增来源
DataChanged是当单据内字段值有发生改变时会触发的一个事件,同时DataChanged事件提供了字段操作之前的数据e.OldValue 以及字段变...
点击下载文档
本文2024-09-16 18:30:42发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-22617.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
- 鼎捷EAI整合規範文件V3.1.07 (集團).pdf
- 鼎捷OpenAPI應用場景說明_基礎資料.pdf
- 鼎捷OpenAPI應用場景說明_財務管理.pdf
- 鼎捷T100 API設計器使用手冊T100 APIDesigner(V1.0).docx
- 鼎新e-GoB2雲端ERP B2 線上課程E6-2應付票據整批郵寄 領取.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程A4使用者建立權限設定.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程C3會計開帳與會計傳票.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程E6-1應付票據.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程A5-1進銷存參數設定(初階篇).pdf
- 鼎新e-GoB2雲端ERP B2 線上課程D2帳款開帳與票據開帳.pdf
热门文章