背景:新增单据店面输入抵用金额会有错误;
目的:防止输入金额大于会员的可兑换金额;


实现效果图:
开发三-零售开单会员可兑换金额_会员
开发精华:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Orm.DataEntity;
using Kingdee.BOS.Core.Validation;
using System.ComponentModel;
using Kingdee.BOS;
using Kingdee.BOS.Core;
using Kingdee.BOS.Core.SqlBuilder;
using Kingdee.BOS.Core.Metadata;
using Kingdee.BOS.ServiceHelper;
using Kingdee.BOS.App.Data;
namespace YaTi.K3.SCM.Sal.App.ServicePlugIn.Lskd
{
[Description("控制抵用金额")]
public class KdconAmouofoffset : AbstractOperationServicePlugIn
{
/// <summary>
/// 加载字段,在校验器中使用到的字段都应加载,防止列表与单据内操作异常发生;
/// </summary>
/// <param name="e"></param>
public override void OnPreparePropertys(PreparePropertysEventArgs e)
{
base.OnPreparePropertys(e);
e.FieldKeys.Add("FTHEAMOUNTOF");
e.FieldKeys.Add("FBillTypeID");
e.FieldKeys.Add("F_PBKA_Phone");
}
/// <summary>
/// 添加校验器
/// </summary>
/// <param name="e"></param>
public override void OnAddValidators(AddValidatorsEventArgs e)
{
base.OnAddValidators(e);
var operValidator = new OperValidator();//实例化类;
operValidator.AlwaysValidate = true;
operValidator.EntityKey = "FBillHead";
e.Validators.Add(operValidator);
}
省略;