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

批号拣货插件-根据上游单据头特定字段过滤拣货数据

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

批号拣货插件-根据上游单据头特定字段过滤拣货数据

一、【业务需求】

源单上都扩展事业部字段,并且每个仓库都会加上“所属事业部”字段并维护好,在单据下推领料单时,根据事业部的仓库进行先进先出例如:

原料仓 A 物料 100个 入库时间 2022-01-01 A事业部,

回收仓 A物料  50 个  入库时间 2022-01-05 B事业部, 

待利用仓 A 物料 20 个  入库时间 2022-01-15 A事业部


如果源单是A事业部,需要120个A物料,下推单据时,就会自动带出原料仓 A 物料 100个,待利用仓 A物料 20个,回收仓由于属于B事业部,所以不满足拣货仓库条件


这种如何修改批号拣货服务的插件以实现这个需求?


二、【功能分析】

1、拣货相关文章参考


2、二开插件思路

  1. 批号捡货插件抽象类:AbstractLotPickPlugIn,重写方法BeforePicking(e)、RegexUseableInvData(e)

  2. 在RegexUseableInvData(e)方法中获取FEntity_Link,得到上游单据内码集合,再根据内码获取上游单据的数据,再获取指定字段的值

  3. 根据指定字段值结合仓库资料设置,过滤出符合要求的仓库

  4. 根据满足拣货条件的仓库集合,筛选待拣货的库存数据


三、【核心代码】

using Kingdee.BOS.App.Core.Query;
using Kingdee.BOS.Core;
using Kingdee.BOS.Core.Metadata;
using Kingdee.BOS.Core.SqlBuilder;
using Kingdee.BOS.Orm.DataEntity;
using Kingdee.K3.Core.SCM.STK;
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 LotPickDemo
{
    public class LotPickTestFilter : 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);
            List<object> lstBillId = new List<object>();
            foreach (ExtendedDataEntity entry in _entitys)
            {
                var link = entry["FEntity_Link"] as DynamicObjectCollection;
                foreach(var linkItem in link)
                {
                    //循环关联数据包,得到上游单据内码集合
                    var 

批号拣货插件-根据上游单据头特定字段过滤拣货数据

一、【业务需求】源单上都扩展事业部字段,并且每个仓库都会加上“所属事业部”字段并维护好,在单据下推领料单时,根据事业部的仓库进行先...
点击下载文档文档为doc格式

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

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