供应链库存关账提示负库存问题总结20220427原创
金蝶云社区-云社区用户4eh7373
云社区用户4eh7373
4人赞赏了该文章 940次浏览 未经作者许可,禁止转载编辑于2022年04月27日 16:51:25

新上线的系统特别容易出现负库存,结账容易出现负库存,总结了以下的一些原因。


查询负库存需要用到物料收发明细表,需要把库存组织、日期、批号、仓库、仓位、库存状态、货主、生产日期、有效期至、单位、等字段全部显示出来,上述字段如果有没启用的才可以隐藏,并且把查询日期要放长,比如现在是4月,你直接查询开始日期为上线前,截止日期下个月这个区间,然后根据关账负库存提示的负库存物料和批号进行精准查询,只要是物料收发明细表里某一行的结存是负数,那就有可能会在关账时候报负库存。

建议折腾系统之前先备份一个数据库。

1、如果用数据库改过物料单位,要全面检查单位,尤其是别忘了余额表T_STK_INVBAL,即时库存表,批号调整单、批号跟踪表,采购申请单里也有5个计量单位字段,采购订单是3个,具体修改那些表可以参考我写的另一篇文章 金蝶云星空已被使用的物料修改计量单位

2、最简单的原因是有补录过单子,出库单日期写在了入库单之前导致负库存,因为业务日期导致的负库存,直接修改单据上的日期就行了,如果是有下游单据无法反审核修改,直接写sql语句后台修改就行,这个风险不大。

3、如果主计量单位和辅助计量单位不一致导致的负库存,可以做一个 库存调整搞一下,就是【库存-库存查询-库存调整  那个,但是有的项目这个主辅计量单位换算系数有可能有变化,这种没办只能关账时候允许负库存吧,勾选那个忽略允许负库存,辅助的是负库存就能过。


image.png



4、库存云巡检可以检查错误的计量单位,和库存更新标志问题。用库存云巡检配置检查,执行完会自动生sql,直接执行就行

5、比较容易造成错误的是生产日期问题! 库存状态转换、组装拆卸,和退料单不从上游单据下推直接做都会导致生产日期不一致,最后导致负库存,这种需要数据库改生产日期,但是改生产日期最好以及时库存里的为准,因为你改完了单据上的日期如果和即时库存里的生产日期不一致,还是会提示负库存的。如果同一个批次只有一个生产日期建议建物料的时候勾选启用保质期下边的那个复选框【批号附属信息】,勾选了就会极大的减少这种因为生产日期不一致导致的负库存,这个功能就是限制一个物料同一个批次只能有一个生产日期的。

6、如果即时库存是负库存,其他的都没毛病,可以直接一条update把即时库存清零

7、物料收发明细表要把仓库仓位显示出来,有的可能和仓位有关系,仓库是t_BD_Stock  仓位是T_BAS_FLEXVALUESENTRY_L 和 T_BAS_FLEXVALUESENTRY

8、关账时候把出库单的库存更新标识给改成0 ,这样关账时候就不统计了,用这个办法解决负库存问题并不可取,尽量别用。

9、系统每次关账会重写库存余额表

10、批号附属属性如果是后启用的话,按规则用sql语句修改关联单据,修改批号主档 ,即时库存 和 余额表生产日期,如果有初始库存就会有问题,这时候就得反结账,反初始化到期初,然后重新关账才行。

11、初始库存里的物料,如果用sql改了仓库和仓位值,得重新反初始化才好使。

12、当即时库存是负库存,但是收发明细已经不是负库存时候, 最后还有一个绝招,用其他入库单把数补上,补完了以后 即时库存平了,但是物料收发明细不平了,写个语句把其他入库单给反审核+作废,物料收发明细就平了。 update  T_STK_MISCELLANEOUS set FDOCUMENTSTATUS='D' ,FCANCELSTATUS='B' where FBILLNO ='QTRK21100065'

上面那个绝招慎用,有别的办法解决尽量不这么搞。

13、修改即时库存有时候会有个校验,因为即时库存里用了一个索引来校验唯一性的目的是实现同一个物料同一个批号同一个生产日期同一个库存状态,这块得处理一下,不过今天写这个的时候有点忘了怎么处理了,好久不弄了。



总结,最主要的就是物料收发明细那个报表要显示的全面查询的时间范围也要全面,检查计量单位 、单据日期,即时库存等。

赞 4