将表方法传递给QueryBuildDataSorce对象的addLink方法

时间:2012-02-08 11:43:49

标签: axapta dynamics-ax-2009 ax

有没有办法将table方法而不是fieldid传递给QueryBuildDataSource对象的addLink方法? 我有这段代码:

qbdsLedgerTrans.addLink(
        FieldNum(LedgerTable, AccountNum), // Here i need to pass a conditional value of a LedgerTable method instead of a field
        FieldNum(LedgerTrans, AccountNum)
    );

2 个答案:

答案 0 :(得分:1)

我认为不是因为查询API与SQLServer中的表紧密绑定,并且表中不包含SQLServer中的任何方法。

#addLink将用于生成查询连接语句,因此必须使用数据库中存在的数据,方法不在数据库中,而是在aod文件中。

根据您的目的,您可以使用一种方法来封装逻辑并返回已更正的fieldId。

答案 1 :(得分:0)

addLink方法的第一个参数必须是先前连接表的字段,在本例中为LedgerTable。它可能由函数返回,但我怀疑它会解决你隐藏的(未说明的)问题。

addLink方法的第二个参数必须是当前数据源表的字段。

在其他情况下(表单延迟加入),您可以使用addDynalink方法。