本文总结了关于批号拣货问题的相关知识,包括系统知识、参考文章、相关表、拣货类型、流程及取值规则,特别介绍了批号拣货规则和保质期拣货规则。还探讨了拣货过程中可能遇到的问题,如重复捡货和多人同时捡货的处理,并提供了一些官方知识和社区讨论链接以便进一步学习。
关于批号拣货问题,专家老师在社区很多帖子做了相关说明及针对问题有回复,这里我根据自己的学习及碰到的问题,将相关的内容做了一个整理,后续如有新的知识和理解,将会持续更新!如有错误的地方,还请指正。
一、【参考文章】
系统知识
1、【库存管理】批号拣货-排序规则 | 2、【库存管理】关于批号拣货服务是否执行 【官方知识】 |
3、【库存管理】关于是否执行批号拣货 | 4、批号拣货-更改仓库如何执行批号拣货【官方知识】 |
5、【库存管理】关于批号捡货 | 6、如何快速实现无源单批号拣货【官方知识】 |
7、【匹配库存返回服务】 | 8、关于【拣货结果标识】 |
二开插件
1、批号捡货二次开发插件示例 | 2、批号拣货-更改仓库如何执行批号拣货 |
3、有源单批号拣货不拣已经过期的物料 | 4、有源单批号拣货按最小包装量倍数拣货 |
5、有源单批号拣货仓库过滤 | 6、批号拣货预计出插件 |
7、批号拣货插件 |
二、【相关表】
1、T_STK_INVENTORY 即时库存表
2、T_BD_MATERIAL 物料表
3、T_BD_STOCK 仓库表
4、T_BD_MATERIALSTOCK 物料库存信息
5、T_BD_STOCKSTATUS 库存状态
6、T_BD_LOTMASTER 批号主档主表(关键字段:入库日期FINSTOCKDATE,有效期至FEXPIRYDATE,生产日期FPRODUCEDATE)
7、T_BD_FLEXSITEMDETAILV 辅助属性数据表
8、T_ENG_BOM 物料清单
三、【拣货类型】
无源单执行批号拣货
有源单执行批号拣货(通过单据转换规则实现批号拣货)
四、【拣货流程及取值】
根据跟踪调试有源单批号拣货的处理逻辑,简要整理如下:
简化流程
1、服务配置相关参数
2、获取可用于捡货的即时库存,使用最基本的库存组织和物料作为过滤条件
3、按照拣货规则,在2中获取到的即时库存基础上做对应筛选
4、后续逻辑处理
...........
拣货参数配置
1、系统全局参数设置-库存管理
2、库存管理系统参数
3、批号拣货服务(BOS排序规则设置)
系统全局参数设置-库存管理 --> 库存管理系统参数 --> 批号拣货服务(BOS排序规则设置)
一、批号拣货规则(只启用批号管理)
顺序出库-批号顺序(FLOTNUMBER ASC)
近效期先出(FINSTOCKDATE ASC, FLOTNUMBER ASC)
手工指定
顺序出库-入库日期(FINSTOCKDATE ASC, FLOTNUMBER ASC)
只启用批号的话可以选择近效期先出,也可以选择批号顺序出库-入库日期,这两个是一样,都是先按入库日期排,日期相同的再按批号文本排,但是这个入库日期是批号主档里记录的最早入库日期,同一个批号多次出完再入库的话也是取的最早的那个
二、保质期拣货规则(只启用保质期管理)
近效期先出(FEXPIRYDATE ASC)
手工指定
先进先出-生产日期(FPRODUCEDATE ASC )
三、启用批号管理 && 启用保质期管理
批号:顺序出库-批号顺序
保质期:近效期先出(FLOTNUMBER ASC, FEXPIRYDATE ASC)
保质期:先进先出-生产日期(FLOTNUMBER ASC, FPRODUCEDATE ASC)
批号:近效期先出
保质期:近效期先出(FEXPIRYDATE ASC, FINSTOCKDATE ASC, FLOTNUMBER ASC)
保质期:先进先出-生产日期(FEXPIRYDATE ASC, FPRODUCEDATE ASC, FINSTOCKDATE ASC, FLOTNUMBER ASC )
批号:顺序出库-入库日期
保质期:近效期先出(FINSTOCKDATE ASC, FEXPIRYDATE ASC, FLOTNUMBER ASC)
保质期:先进先出-生产日期(FINSTOCKDATE ASC, FPRODUCEDATE ASC, FLOTNUMBER ASC)
批号:手工指定
保质期:近效期先出(FEXPIRYDATE ASC, FLOTNUMBER ASC)
保质期:先进先出-生产日期(FPRODUCEDATE ASC, FLOTNUMBER ASC)
最终排序条件: sortResultString
排序参数: sysSetSortString
排序字段设置: sortFieldString
系统中批号拣货排序规则涉及两大参数控制:【库存管理】批号拣货-排序规则
批号/保质期出库参数设置:
批号/保质期出库参数设置优先 sortResultString = sysSetSortString + sortFieldString
排序字段设置优先 sortResultString = sortFieldString + sortFieldString
仅使用批号/保质期出库参数设置 sortResultString = sysSetSortString
仅使用排序字段设置 sortResultString = sortFieldString
五、【问题】
1、重复捡货问题:新增了一张销售出库单,自动拣货了A,只保存未审核。再次新增A的出库单,又拣货出了该批次
2、多人批号捡货问题: https://vip.kingdee.com/article/44127
批号捡货相关问题: https://vip.kingdee.com/article/40281
如何处理多个人同时有源单批号捡货呢?自己写了批号捡货,发现没法处理多个人同时捡货操作的问题(拣货未保存,物料同时被多个单据拣货)
推荐阅读