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

一、【业务需求】
单据执行匹配出库服务进行拣货的时候,限制不拣货某个仓库
二、【场景分析】
以直接调拨单为例,二次开发步骤:
1、扩展"多选基础资料"类型,绑定仓库基础资料,用于单据指定不参与拣货的仓库集合

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格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇



