本文主要是介绍深入理解AX Inventory Aging Report,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
库龄报表是Dynamics AX 2012 R3当中新增的报表。它可以让用户灵活地定义库龄区间,也可以倒推某个时间节点的数据。
价格是截止报表日期的平均成本单价。
它的缺点一是只能按照先进先出(FIFO)的原则计算库存异动,而不能根据实际的批次入库日期计算;缺点二是不能区分物理入库还是财务入库。
访问路径:
库存管理 -> 报表 -> 状态 -> 实际库存 -> 库龄
可以根据库存维度筛选数据,也可以修改截止日期,倒推到过往的某一个日期
运行结果如下:
报表实现逻辑:
跟踪它的SQL后得知,它的实现方式是通过数据库视图InventValueReportView和 InventAgingReceiptView来实现的。
而这两张视图又包含了其他视图,关系如下:
InventAgingReceiptView:物料入库的日期,用来计算物料的库龄区间
InventValueReportView:物料的库存价值,用来计算库存金额和数量。该视图又包含了三个视图:InventValueFinancialBalance/ InventValuePhysicalBalance /InventValueTransView. 前两个带balance关键字的视图当中,金额和数量都加了负号,transdate被标记为了"2154-12-31",这是为了和InventVlueTransView的数据正负相抵,以实现查询某个历史时间点的库存的作用。
分别查询各个view的结果如下,如果日期选择当天,则正负相抵。如果transdate往前推,则会扣除近期交易记录:
+/- | source | view | QTY | Amount |
+ | invent trans | InventValuePhysicalSettlement | - | - |
+ | invent trans | InventValuePhysicalAdjustment | - | - |
+ | invent trans | InventValuePhysicalReversed | (487,011) | (18,673,691) |
+ | invent trans | InventValuePhysicalTransaction | 667,823 | 45,390,084 |
+ | invent trans | InventValueFinancialTransaction | 487,011 | 18,503,695 |
+ | invent trans | InventValueFinancialAdjustment | - | 415,828 |
- | invent sum | InventValueFinancialBalance | (487,011) | (18,919,523) |
- | invent trans | InventValuePhysicalBalance | (180,812) | (26,716,393) |
FIFO原则:
假设物料A有库存10个,查到0~30天时间区间内入库了5个,31~60天区间内入库了10个。
那么该报表的逻辑就默认优先分配到最近的时间区间,得到库龄0~30天的物料有5个,库龄31~60天的物料有5个。
如果需要按照批次日期来计算库龄,又或者是对报表的格式及其他特殊要求,那就需要自己重新开发报表了。
这篇关于深入理解AX Inventory Aging Report的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!