二开案例- 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 ms二开案例- DataChanged事件 + 单据新增来源
DataChanged是当单据内字段值有发生改变时会触发的一个事件,同时DataChanged事件提供了字段操作之前的数据e.OldValue 以及字段变...
点击下载文档文档为doc格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇



