如何按日期范围值过滤执行查询?

时间:2015-12-01 12:47:37

标签: range axapta dynamics-ax-2012 x++

我必须在executeQuery中进行查询,我必须按日期字段过滤, 我的代码是:

public void executeQuery()
{
    utcDateTime dateUTC, datenullUTC;
    query q = new Query();

    QueryBuildRange qbr;
    QueryBuildDataSource qbds ;
    QueryRun queryRun;

    dateUTC = DateTimeUtil::newDateTime(_dateValue, 0, DateTimeUtil::getCompanyTimeZone());

    qbds = q.addDataSource(tableNum(MCRCustCategory) ); 

    qbds.addRange(fieldNum(MCRCustCategory, ValidTo)).value(strFmt ("> %1", dateUTC) );

    queryRun = new QueryRun (q);

    super();
}

在我的init中,我调用 executeQuery ,但不要在我的表单中进行过滤。

如何使用范围中的日期?

全心全意,

享受!

1 个答案:

答案 0 :(得分:2)

您使用的是使用date effective的表格。你假设你必须自己做选择,这不是真的。

请改用:

Let

如果您有间隔,请改用:

public void executeQuery()
{
    this.queryBuildDataSource().validTimeStateAsOfDate(_dateValue);
    super();
}

问题中提供的代码根本不执行任何操作,因为表单不使用您构建的查询。无论如何,你构建了错误的查询!

blog post简明扼要地解释了这一点。