Ant*_*ake 4 x++ axapta dynamics-ax-2009
这似乎是一个简单的问题,但出于某种原因,我很烦恼.
我有3个数据源形式- ,InventTable,.InventSumInventDim
所以,例如,我的网格显示;
项目,名称,网站,仓库,实物库存
我已经在InventDim表单DataSource 上放置了一个显示方法,但我需要访问ItemId来自inventTrans或者InventSum.(显然正在寻找"当前"项目ID).
我可以访问的是inventDim作为参数传递的_inventDim标准.
访问"当前"itemId的最佳方法是什么?
好的,我找到了答案,非常感谢Joris de Gruyter的这篇文章;
http://daxmusings.blogspot.co.uk/2011/10/forum-advanced-display-method-querying.html
关键是将显示方法放在InventSum数据源上.
然后你可以_inventSum.joinChild()用来检索链接inventDim,这里是Joris的例子;
display Qty AvailPhysical(InventSum _inventSum)
{
InventDim joinDim, dimValues;
InventDimParm dimParm;
InventSum localSum;
//THE IMPORTANT LINE...
dimValues.data(_inventSum.joinChild());
dimParm.initFromInventDim(dimValues);
select sum(AvailPhysical) from localSum where localSum.ItemId == _inventSum.ItemId
#InventDimExistsJoin(localSum.InventDimId, joinDim, dimValues, dimParm);
return localSum.AvailPhysical;
}
Run Code Online (Sandbox Code Playgroud)
我相信这将有助于将来的人!