如何校验物料分组编码固定长度
星空分组字段实际上公用了一个数据分组的基础资料。如供应商分组和物料分组都是使用这个数据分组,实际的差别是对应的实体表名不同。以下案例演示校验物料分组的编码必须是4位长度
扩展数据分组,增加保存服务插件
2.对应的插件代码如下:
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 Kingdee.BOS.Util; using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Text; namespace Witt.Cloud.PlugIn.AppService { [HotUpdate] [Description("物料分组编码长度检查")] public class GroupNumLenPlugin : AbstractOperationServicePlugIn { public override void OnPreparePropertys(PreparePropertysEventArgs e) { e.FieldKeys.Add("FNumber"); } public override void OnAddValidators(AddValidatorsEventArgs e) { //判断是否是物料分组 var entity= this.BusinessInfo.GetEntity(0); if(entity!=null && entity.TableName!=null&& entity.TableName.EqualsIgnoreCase("T_BD_MATERIALGROUP")) { var validator = new GroupNumValidator(); validator.EntityKey = "FBillHead"; e.Validators.Add(validator); } } } public class GroupNumValidator : AbstractValidator { public override void Validate(ExtendedDataEntity[] dataEntities, ValidateContext validateContext, Context ctx) { foreach (var data in dataEntities) { // var numVal = data["Number"].ToString(); var billId = data["Id"].ToString(); if (numVal.Length!=4) { ValidationErrorInfo info = new ValidationErrorInfo("FNumber", billId, data.DataEntityIndex, data.RowIndex, "E1", "物料分组编码必须4位长度", "分组"); validateContext.AddError(data, info); } } } } }
3.演示效果
如何校验物料分组编码固定长度
星空分组字段实际上公用了一个数据分组的基础资料。如供应商分组和物料分组都是使用这个数据分组,实际的差别是对应的实体表名不同。以下案...
点击下载文档
本文2024-09-16 18:32:25发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-22808.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章