将动态范围添加到AOT查询

时间:2014-07-09 10:31:08

标签: ax aot

我正在使用AOT查询创建一个视图。现在我想将动态范围传递给AOT查询,这也会影响视图。 我尝试使用TreeNode类来设置查询属性,但它打开了一个编译器窗口,如果两个用户同时访问它,则会抛出错误。

有人可以帮忙吗?

3 个答案:

答案 0 :(得分:1)

取决于您使用的是哪个版本。在AX 2009和AX 2012中,您可以使用SysQueryRangeUtil类中存在的方法,当然您可以添加自己的方法。方法可以有或没有参数。

在AX 2012中,请参阅AOT中的ProjTable_MyProjects查询作为示例: 检查WorkerResposible范围

查询\ ProjTable_MyProjects \ Composite Query \ ProjTable_NoFilter \ Data Sources \ ProjTable(ProjTable)\ Ranges \ WorkerResponsible

有以下范围值

((WorkerResponsible==currentWorkerRecId()) && ... 

currentWorkerRecId()是SysQueryRangeUtil类中的静态方法:

public static HcmWorkerRecId currentWorkerRecId()
{
    return HcmWorker::userId2Worker(curUserId());
}

此致 塞巴斯蒂安

答案 1 :(得分:0)

您需要在视图中使用computed column。标准AX 2012视图中有许多示例。

答案 2 :(得分:0)

您可以使用SysQueryRangeUtil类方法,如:

currentCustomerAccount()
currentVendorAccount()
currentUserId()
currentDate()
dateRange()
day()
dayRange()
greaterThanDate()
greaterThanUtcDate()
greaterThanUtcNow()
lessthanDate()
lessthanUtcDate()
lessthanUtcNow()
monthRange()
yearRange()

问候