截止某个时间的即时库存获取方法原创
金蝶云社区-陈元喜
陈元喜
83人赞赏了该文章 1,861次浏览 未经作者许可,禁止转载编辑于2023年06月08日 10:16:42

截止某个时间的即时库存获取方法


【问题描述】

  • 经常有二开人员希望提供 获取某个时点的库存Sql,标准系统获取某个时点的结存库存是没有直接拼sql获取,而是使用代码方式获取结存+各个库存单据数据汇总计算而来。


【逻辑说明】

  • 某个时点的库存结存 = 上期关账余额 + 期内的收入单据 - 期内的发出单据

  • 标准系统提供接口:供获取某个时点的结存库存。(Kingdee.K3.SCM.App.Core.StockBillDataService.GetStockData)


【实现方法】

推荐实现方法,思路如下:

  1. 调用标准接口:Kingdee.K3.SCM.App.Core.StockBillDataService.GetStockData

  2. 标准系统的 盘点、校对、关账、及相关报表 均调用此接口实现获取某个时点的库存,可以反编译对应插件参考构建参数调用实现。按截止日期库存盘点方案审核生成账存数据的代码Kingdee.K3.SCM.App.Stock.ServicePlugIn.StockCountSchemeService.Audit.GetStockBillData


如若要以SQL形式实现,思路如下:

  1. 根据所需的截止日期,判断对应最近的上一期关账时点,获取对应上期的关账余额数据(余额表:T_STK_INVBAL)

  2. 根据上一期关账时点到当前的截止日期,获取期间内所有库存更新单据数据(可以通过库存更新配置表:T_BAS_UPDATESTOCKSETTING知悉库存更新单据有哪些)。

  3. 根据 期的关账余额,和期内的所有所发单据数据计算 截止的库存:某个时点的库存结存 = 上期关账余额 + 期内的收入单据 - 期内的发出单据。


【延伸阅读】

赞 83