我正在使用 AOT 查询来创建视图。现在我想将动态范围传递给 AOT 查询,这也应该影响视图。我尝试使用 TreeNode 类来设置查询属性,但它打开了一个编译器窗口,并且如果两个用户同时访问它会引发错误。
有人可以帮忙吗?
取决于您使用的版本。在 AX 2009 和 AX 2012 中,您可以使用 SysQueryRangeUtil 类中现有的方法,当然您也可以添加自己的方法。方法可以有参数也可以没有。
在 AX 2012 中,请参阅 AOT 中的 ProjTable_MyProjects 查询作为示例:检查 WorkerResposible 范围
Queries\ProjTable_MyProjects\Composite Query\ProjTable_NoFilter\Data Sources\ProjTable(ProjTable)\Ranges\WorkerResponsible
有以下范围值
((WorkerResponsible==currentWorkerRecId()) && ...
currentWorkerRecId() 是 SysQueryRangeUtil 类中的静态方法:
public static HcmWorkerRecId currentWorkerRecId()
{
return HcmWorker::userId2Worker(curUserId());
}
问候,塞巴斯蒂安
您需要在视图中使用计算列。标准 AX 2012 视图中有许多示例。
您可以使用 SysQueryRangeUtil 类方法,例如:
currentCustomerAccount()
currentVendorAccount()
currentUserId()
currentDate()
dateRange()
day()
dayRange()
greaterThanDate()
greaterThanUtcDate()
greaterThanUtcNow()
lessthanDate()
lessthanUtcDate()
lessthanUtcNow()
monthRange()
yearRange()
问候