添加项目文件。

This commit is contained in:
liangjunyu
2025-06-20 09:17:36 +08:00
parent 4aee212079
commit 69446e2dda
43 changed files with 5544 additions and 0 deletions

View 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// 错误级别:警告、错误...
));
}
}
}
}
}
}