电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

批号拣货按库存状态设置拣货

来源:金蝶云社区作者:金蝶2024-09-233

批号拣货按库存状态设置拣货

一、【业务需求】

拣货场景:一个仓库下的物料库存状态涉及"可用"、"不良"、"废品"、"冻结"等, 拣货只按照物料+库存状态拣货,仓库不管,目的是要拣出"可用"库存状态的物料,想要在库存状态上有类似仓库"参与拣货"的控制,拣货服务再配置勾选"只考虑参与拣货的库存状态"


二、【功能分析】

当前系统的拣货服务功能只支持到仓库级的配置,控制仓库拣货或者拣货,对于仓库里面又区分个别库存状态不参与拣货,目前没有实现,只能通过二开拣货插件的方式处理。


二开拣货插件相关文章参考:

1、批号拣货插件 

2、批号捡货二次开发插件示例 

3、有源单批号拣货仓库过滤

4、有源单批号拣货按最小包装量倍数拣货


二次开发步骤:

 1、库存状态扩展字段"参与拣货",用于对拣货库存数据的过滤

image.webp

2、编写插件继承批号拣货插件基类;

3、根据业务需要重载对应事件RegexUseableInvData,该事件用于处理拣货前处理获取的即时库存数据, 获取到可用于拣货的库存状态设置,添加过滤到拣货的即时库存数据。


using Kingdee.BOS.App.Data;
using Kingdee.K3.SCM.App.Core.ConvertBusinessService;
using System;
using System.Collections.Generic;
using System.Data;

namespace Kingdee.K3.SCM.App.Stock.CustomizePlugIn
{
    public class LotStockStatusFilter : AbstractLotPickPlugIn
    {
        public override void RegexUseableInvData(Dictionary<long, DataTable> dctinvDatas)
        {
            base.RegexUseableInvData(dctinvDatas);

            List<long> dataRuleStockStatusIds = new List<long>();

            string stockSql = string.Format(@"SELECT FSTOCKSTATUSID from T_BD_STOCKSTATUS WHERE FAVAILABLEPICKING = 1");
            using (IDataReader dataReader = DBUtils.ExecuteReader(this.Ctx, stockSql))
            {
                while (dataReader.Read())
                {
                    dataRuleStockStatusIds.Add(Convert.ToInt64(dataReader["FSTOCKSTATUSID"]));
                }
                dataR

批号拣货按库存状态设置拣货

一、【业务需求】拣货场景:一个仓库下的物料库存状态涉及"可用"、"不良"、"废品"、"冻结"等, 拣货只按照物料+库存状态拣货,仓库不管,目...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

已经是第一篇
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信