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

匹配库存出库排除部分仓库不参与拣货实现案例

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

匹配库存出库排除部分仓库不参与拣货实现案例

一、【业务需求】

单据执行匹配出库服务进行拣货的时候,限制不拣货某个仓库


二、【场景分析】

以直接调拨单为例,二次开发步骤:

1、扩展"多选基础资料"类型,绑定仓库基础资料,用于单据指定不参与拣货的仓库集合

image.webp

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

3、根据业务需要重载对应事件BeforePicking、RegexUseableInvData,该事件用于处理拣货前处理获取的即时库存数据,根据设置,过滤排除不进行拣货的仓库库存数据


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

namespace PickLotDemo
{
    public class LotPickInventoryStockMatchFilter : AbstractLotPickPlugIn
    {
        private BOS.Core.ExtendedDataEntity[] _entitys;
        public override bool BeforePicking(BeforePickingArgs e)
        {
            _entitys = e.Entitys;
            return true;
        }
        
        public override void RegexUseableInvData(Dictionary<long, DataTable> dctinvDatas)
        {
            base.RegexUseableInvData(dctinvDatas);

            DynamicObject parEntity = _entitys[0].DataEntity.Parent as DynamicObject;
            DynamicObjectCollection dynObj = (DynamicObjectCollection)(parEntity["MulDonotPickInvStock"]);

            List<long> notPickStockIds = new List<long>();  // 不拣货仓库集合
            foreach (DynamicObject item in dynObj)
            {
                notPickStockIds.Add(Convert.ToInt64(item["MulDonotPickInvStock_Id"]));
            }

       

匹配库存出库排除部分仓库不参与拣货实现案例

一、【业务需求】单据执行匹配出库服务进行拣货的时候,限制不拣货某个仓库二、【场景分析】以直接调拨单为例,二次开发步骤:1、扩展"多选...
点击下载文档文档为doc格式

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

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