1

我们希望在 Microsoft Dynamics AX 2009 中构建一个报告,以显示处理生产订单的所有员工。

到此报告的数据源中,我们
ProdTable将由 ProdID 和 DataAreaID 内部连接的 (pt)拖放到
ProdJournalRoute由 EmplID 和 DataAreaID 内部连接的 (pjr) 到
EmplTable(et),我们通过name()方法。

这份报告产生了一些有趣的输出:

pjr.TransDate pjr.EmplID   et.EmplID    et.name()
2010-07-20    05820
2010-07-20    05820        05820        Doe, John
2010-07-20    05820        05820        Doe, John
2010-07-21    00341        05820        Doe, John
2010-07-21    00007        00341        Snow, Jon
...           ...          ...          ...

(Columns and rows snipped)

看?ProdJournalRoute在 EmplID和EmplID之间的连接中EmplTable的某处获得了单行偏移量。

name()现在我当然可以简单地将方法从表中复制EmplTableProdJournalRoute表中并完全删除EmplTable连接,但恐怕这只会推迟问题:我该怎么做才能让我的连接工作?我应该使用手工查询并将其用作报告的数据源吗?

PS:也许有必要用户权限的人可以清理所有这些
[[[microsoft] dynamics] AX] 标签吗?谢谢!)

4

3 回答 3

0

得到它的工作。

我有点不愿意承认解决方案很简单:当没有线索时,我从头开始重建整个事物,我将所有ProdJournalRoute字段和EmplTable字段添加到设计的 EmplTable _Body 而不是我一样的ProdJournalRoute _Body第一次,这一切都不同了。

我仍然不太明白报告如何以及在何处链接它显示的数据。我认为查询应该作为一个整体执行,加入所有涉及的表,这样你就根本无法得到表之间的这种数据差异,但它是:一个数据源<DS>只在<DS>设计的_Body中刷新. 在进一步连接的数据源的设计主体中使用此数据源,查询会得到奇怪的结果:要么它未初始化,要么它显示从连接到先前记录的旧数据。

再次感谢您的想法,Kjeldsen 先生。

于 2010-09-22T09:20:38.177 回答
0

在我看来,这些表实际上并没有在查询中加入,但是创建底层查询的抽象级别首先在最外面的表上运行单个选择,然后运行对“加入”表的查询。这可以解释为什么第一行没有来自 EmplTable 的数据。我的猜测是对 EmplTable 的查询没有为框架返回足够快的数据。查看数据源的 FirstFast 属性以及它在 MSDN 中的作用:http: //msdn.microsoft.com/en-us/library/aa842737 (AX.10).aspx

不过,我可能是错的。真正知道的唯一方法是尝试在数据库中运行 SQL。

于 2010-09-23T17:29:50.110 回答
0

ProdJournalRoute检查表和之间的关系EmplTable

设置ProdJournalRoute.relations为是或手动添加关系。

于 2010-09-22T08:19:58.667 回答