axapta2009:在特定日期汇总inventtrans,按维度过滤

时间:2011-04-01 07:06:02

标签: axapta dynamics-ax-2009

我需要在特定日期计算具有特定物理尺寸[inventTransPosting.Dimension]的InvnetTrans的总和。即我需要类似的

select sum(CostAmountPosted) //other sums
     from InventTrans 
     where  InventTrans.transDate  < 3\3\2010
exists join InventTransPosted 
    where InventTransPosted.dimension[1] == 'XXX'
       && InventTransPosted.inventTransId == inventTrans.inventTransId
       && //other relations

使用InventDum过滤InvenTranses的InventSum *类可以计算InvenTrans和。 有可能以某种方式过滤非Inventdim尺寸吗? 或者有必要更改InventSum *类? 现在我没有看到inventSum *类可以通过Dimensions进行过滤。也许我错过了一些课程?

3 个答案:

答案 0 :(得分:0)

查看InventOnHand课程。

它根据项目ID和库存维度(但不是财务维度)等标准对发明现有值进行求和。

InventOnhand有几种构造函数方法可以命名为newInventBatch

答案 1 :(得分:0)

您可以在amountPosted表格上存储 - InventTransPosted,然后制作相关索引。

在现有交易中填写amountPosted可能会有问题。

值得吗? 或者您可以使用BI工具来完成报告吗?

答案 2 :(得分:0)

重组你的选择:

select sum(CostAmountPosted) //other sums
     from InventTrans 
exists join InventTransPosting
    where InventTransPosting.dimension[1] == 'XXX'
       && InventTransPosting.transDate  < 3\3\2010
       && InventTransPosting.inventTransId == inventTrans.inventTransId
       && InventTransPosting.itemId == inventTrans.itemId
       && //other relations

在InventTransPosting上创建相关索引,Dimension[1]作为第一个索引字段,TransDate作为第二个索引字段。