关于【序列号过滤插件】原创
金蝶云社区-陈元喜
陈元喜
1人赞赏了该文章 568次浏览 未经作者许可,禁止转载编辑于2022年10月19日 17:51:46

关于【序列号过滤插件】说明


背景说明:

  1. 库存单据在序列号页签有“选择序列号”功能,很多客户在一些特殊场景下需要针对选择序列号功能实现自定义过滤条件过滤序列号,则可以考虑通过“序列号过滤插件”实现特定逻辑序列号过滤。


插件说明:

1.代码示例:

引用组件:
Kingdee.BOS.dll
Kingdee.BOS.Core.dll
Kingdee.BOS.DataEntity.dll
Kingdee.K3.Core.dll

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; 
using System.Threading.Tasks;
using Kingdee.K3.Core.SCM.STK;
using Kingdee.BOS.Core.Bill;
using Kingdee.BOS.Core.Metadata.EntityElement;
using Kingdee.BOS.Orm.DataEntity;

namespace CustSerialFilter
{
    public class CustSerialFilter : AbstractBillSerialFilter
    {

        /// <summary>
        /// 对选择显示的序列号列表进行过滤
        /// </summary>
        /// <param name="serials"></param>
        public override void FilterCanSelectSerials(List<SimpleSerialSnap> serials)
        {
            base.FilterCanSelectSerials(serials);
        }

        /// <summary>
        /// 增加自定义过滤条件参与标准序列号取数
        /// </summary> 
        /// <param name="sql">标准的取数SQL</param>
        /// <param name="paras">标准的SQl参数</param>
        /// <returns></returns>
        public override string ApplyExtFilter(string sql, List<Kingdee.BOS.SqlParam> paras)
        {
            return base.ApplyExtFilter(sql,paras); 
        }  

        /// <summary>
        /// 审核中单据是否允许编辑序列号
        /// </summary>
        /// <param name="parData"></param>
        /// <returns></returns>
        public override bool CanBStatusBillEditSerial(DynamicObject parData)
        {
            return base.CanBStatusBillEditSerial(parData);
        }

        /// <summary>
        /// 是否允许新增分录
        /// </summary>
        /// <param name="serial"></param>
        /// <param name="serialNumber"></param>
        /// <returns></returns>
        public override bool CanAppendNewParEntry(SimpleSerialSnap serial, string serialNumber)
        {
            return base.CanAppendNewParEntry(serial,serialNumber); 
        }


        /// <summary>
        /// 是否需要匹配来源组织
        /// </summary>
        /// <returns></returns>
        public override bool MatchSrcOrg()
        {
            return base.MatchSrcOrg();
        }

        /// <summary>
        /// 当前序列号是否可用
        /// </summary>
        /// <param name="parData">当前序列号所属父项分录数据对象</param>
        /// <param name="serial"></param>
        /// <returns></returns>
        public override bool IsSerialCanUse(DynamicObject parData, SimpleSerialSnap serial,
            string serialNumber, bool showMessage)
        {
            return base.IsSerialCanUse(parData, serial, serialNumber, showMessage);
        }
    }
}

2.插件注册界面:

序列号过滤插件.png




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