如何将复杂范围表达式添加到AOT中的AOT查询

时间:2014-09-15 19:21:43

标签: dynamics-ax-2012

我正在处理报告,对于我的数据集,我需要使用或声明。在SQL中我的查询看起来像:

SELECT recId, etc... FROM CustTrans WHERE (CustTrans.Closed IS NULL AND CustTrans.Invoice IS NULL) OR (CustTrans.Invoice IS NOT NULL)

我会将其转换为范围,如下所示(卡在RecId字段上)

值: ((CustTrans.Invoice == ‘’) && (CustTrans.Closed == ‘’) || (CustTrans.Invoice != ‘’))

我发现很多地方都在解释这是正确的语法,尽管它们都使用了创建查询的编程方法。我需要保留我的AOT,以便客户可以在以后修改它,如果他们想要,并且报价,parens和订单的每个组合仍然不起作用。有时AX会接受我的范围值字符串,但它不会做任何事情,有时它会给我一个随机的语法错误。

有没有办法完成我想做的事情?我错过了一些语法,或者AX真的不允许你在没有联合和另一个视图的情况下使用OR吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以在AOT中创建一个查询,然后覆盖查询的init方法。在哪里可以放置这些复杂的SQL语句并完成工作。