操作服务插件如何判断当前单据是否存在下游单据?原创
金蝶云社区-dev_charles
dev_charles
5人赞赏了该文章 256次浏览 未经作者许可,禁止转载编辑于2024年07月16日 14:17:15

private class OperValidator : AbstractValidator

        {

            public override void Validate(Kingdee.BOS.Core.ExtendedDataEntity[] dataEntities, ValidateContext validateContext, Kingdee.BOS.Context ctx)

            {

                //load当前单据meta信息

                FormMetadata meta = MetaDataServiceHelper.Load(this.Context, "Esy_IntlogisticsTransporDocument") as FormMetadata;


                foreach (var dataEntity in dataEntities)

                {

                    var entity = dataEntity.DataEntity;

                    //IsPushArgs

                    //BusinessInfo:meta.BusinessInfo

                    //entityKey:需要判断的单据体标识

                    //activeRow:当前明细行数据包

                    IsPushArgs isPushArgs = new IsPushArgs(meta.BusinessInfo, "FEntity", entity);


                    var isPush = Kingdee.BOS.ServiceHelper.BusinessFlowDataServiceHelper.IsPush(ctx, isPushArgs);

                    if (isPush)

                    {

                        ValidationErrorInfo ValidationErrorInfo = new ValidationErrorInfo(

                            string.Empty,

                            dataEntity["Id"].ToString(),

                            dataEntity.DataEntityIndex,

                            dataEntity.RowIndex,

                            dataEntity["Id"].ToString(),

                            "该行存在下游数据,无法进行反关闭",

                             "错误");

                        validateContext.AddError(null, ValidationErrorInfo);

                        continue;

                    }

                    else

                    {


                    }

                }

            }

        }


图标赞 5
5人点赞
还没有人点赞,快来当第一个点赞的人吧!
图标打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!