添加项目文件。
This commit is contained in:
85
aoyuPlugIn/服务插件校验数据/OnAddValidatorsHead.cs
Normal file
85
aoyuPlugIn/服务插件校验数据/OnAddValidatorsHead.cs
Normal file
@@ -0,0 +1,85 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Kingdee.BOS;
|
||||
using Kingdee.BOS.Core;
|
||||
//服务端
|
||||
using Kingdee.BOS.Core.DynamicForm.PlugIn;
|
||||
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
|
||||
//校验器
|
||||
using Kingdee.BOS.Core.Validation;
|
||||
using System.ComponentModel;
|
||||
|
||||
|
||||
namespace aoyuPlugIn
|
||||
{
|
||||
[Description("校验器")]
|
||||
[Kingdee.BOS.Util.HotUpdate]
|
||||
|
||||
//继承操作服务插件
|
||||
public class OnAddValidatorsHead:AbstractOperationServicePlugIn
|
||||
{
|
||||
//OnPreparePropertys 数据加载前,确保需要的属性被加载
|
||||
//因为需要读取采购员信息,先必须加载
|
||||
public override void OnPreparePropertys(PreparePropertysEventArgs e)
|
||||
{
|
||||
base.OnPreparePropertys(e);
|
||||
//采购员FPurchaserId
|
||||
e.FieldKeys.Add("FPurchaserId");
|
||||
//单据编号FBillNo
|
||||
e.FieldKeys.Add("FBillNo");
|
||||
|
||||
//加载复选框 F_PAEZ_CheckBox
|
||||
e.FieldKeys.Add("F_PAEZ_CheckBox");
|
||||
}
|
||||
|
||||
//OnAddValidators操作执行前,加载操作校验器
|
||||
public override void OnAddValidators(AddValidatorsEventArgs e)
|
||||
{
|
||||
base.OnAddValidators(e);
|
||||
TestValidator validator = new TestValidator();
|
||||
//是否需要校验,true需要
|
||||
validator.AlwaysValidate = true;
|
||||
//校验单据头FBillHead
|
||||
validator.EntityKey = "FBillHead";
|
||||
|
||||
//校验单据体FPOOrderEntry
|
||||
validator.EntityKey = "FPOOrderEntry";
|
||||
|
||||
//加载校验器
|
||||
e.Validators.Add(validator);
|
||||
}
|
||||
//自定义校验器.派生:AbstractValidator
|
||||
private class TestValidator:AbstractValidator
|
||||
{
|
||||
//重写方法
|
||||
//数组ExtendedDataEntity,传递全部的信息
|
||||
public override void Validate(ExtendedDataEntity[] dataEntities, ValidateContext validateContext, Context ctx)
|
||||
{ //for循环,读取数据
|
||||
foreach (ExtendedDataEntity obj in dataEntities)
|
||||
{
|
||||
|
||||
//判断复选框是否勾选
|
||||
if (!(bool)obj.DataEntity["F_PAEZ_CheckBox"])
|
||||
{ //报错
|
||||
validateContext.AddError(obj.DataEntity,
|
||||
new ValidationErrorInfo
|
||||
("",//出错的字段Key,可以空
|
||||
obj.DataEntity["Id"].ToString(),// 数据包内码,必填,后续操作会据此内码避开此数据包
|
||||
obj.DataEntityIndex, // 出错的数据包在全部数据包中的顺序
|
||||
obj.RowIndex,// 出错的数据行在全部数据行中的顺序,如果校验基于单据头,此为0
|
||||
"001",//错误编码,可以任意设定一个字符,主要用于追查错误来源
|
||||
"单据编号" + obj.BillNo + "第" + obj.RowIndex + "行没有选择复选框",// 错误的详细提示信息
|
||||
"审核:" + obj.BillNo,// 错误的简明提示信息
|
||||
ErrorLevel.Error// 错误级别:警告、错误...
|
||||
));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user