【库存管理】库存关账校验插件说明
【实现步骤】
引用Kingdee.K3.Core组件。
继承AbstractInvAccountValidatorPlugIn类。
实现InvAccountOffValidatorErrInfo方法,返回校验的异常信息集合。
InvAccountValidatorResult返回信息中需要:
a.OperateSuccess;
b.StockOrgID;
c.ErrInfo(不可忽略错误信息)或 IgnoErrInfo (可忽略错误信息);
d.ErrInfo或IgnoErrInfo只需要返回ErrMsg 即可;
4. 库存管理参数-关账参数注册此插件。
【关账校验抽象类说明】
属性:CloseDate,AccountOrgIds为关账界面对于勾选的组织以及选择的关账日期;
属性:TmpTableName,TmpDataCount为关账组织构建的临时表以及临时表对于的行数。
属性:AccountValidFailOrgIds 为关账逻辑校验1、2步中以及校验失败的组织。
InvAccountOffValidatorErrInfo方法参数:isCallByOwner 是否为存货关账调用。
InvAccountOffValidatorErrInfo方法参数:isCheckIgnoErrInfo 是否忽略IgnoErrInfo型校验。
【参考案例】
可忽略校验:校验未审核的盘点作业单。可反编译Kingdee.K3.SCM.App.Core 查看InvAccountStkCountBillValidator实现逻辑。
不可忽略校验:检查未日结的零售单。可反编译Kingdee.K3.SCM.App.Core 查看InvAccountRetailBillValidator实现逻辑。
关账校验服务抽象类
/// <summary> /// 关账校验服务抽象类 /// </summary> [Description("关账校验服务抽象类")] public abstract class AbstractInvAccountValidatorPlugIn { #region 属性 public Context Context { get; set; } /// <summary> /// 关账界面:关账日期 /// </summary> public DateTime CloseDate { get; set; } /// <summary> /// 关账界面:关账组织 /// </summary> public List<long> AccountOrgIds { get; set; } /// <summary> /// 关账Session临时表 /// </summary> public String TmpTableName { get; set; } /// <summary> /// TmpTableName临时表数据行数 /// </summary> public int TmpDataCount { get; set; } /// <summary> /// 标准校验已经失败的关账组织列表 /// </summary> public List<long> AccountValidFailOrgIds { get; set; } #endregion #region 抽象实现类 /// <summary> /// 库存关账校验:返回值:不可忽略校验 处理ErrInfo错误信息集合;可忽略校验 处理IgnoErrInfo错误信息集合; /// </summary> /// <param name="isCallByOwner">是否存货核算货主关账调用(为true时,表示是存货关账校验操作,否则为库存关账校验操作)</param> /// <param name="isCheckIgnoErrInfo">是否校验:可忽略错误信息 (为true时,无需进行可忽略校验信息,不会提示IgnoErrInfo信息)</param> /// <returns></returns> public virtual List<InvAccountValidatorResult> InvAccountOffValidatorErrInfo(bool isCallByOwner, bool isCheckIgnoErrInfo) { return null; } #endregion } |
【其他】
【库存管理】库存关账校验插件说明
本文2024-09-23 02:56:22发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-155668.html