查询范围不等于零

RT.*_*RT. 3 x++ axapta dynamics-ax-2012

我在AX 2012 R2环境中.

我想在HcmEmployment表中添加一个查询范围,并筛选出LegalEntity值为0的行.

以下代码在运行时失败,但"无效范围"除外.

qbrLegalEntity = qbds.addRange(fieldNum(HcmEmployment, LegalEntity));
strRangeCondition = '(%1 != %2)';
qbrLegalEntity.value(strFmt(strRangeCondition, 
                        fieldStr(HcmEmployment, LegalEntity),
                        queryValue("0")));
Run Code Online (Sandbox Code Playgroud)

是否可以编码此范围条件?

谢谢.

Jan*_*sen 5

不要让它变得更难:

qbds.addRange(fieldNum(HcmEmployment,LegalEntity)).value(SysQuery::valueNot(0));
Run Code Online (Sandbox Code Playgroud)

查询表达式失败的原因是使用queryValue("0")引号为零.改变它0也会起作用,但又太费力了.

更短的是:

qbds.addRange(fieldNum(HcmEmployment,LegalEntity)).value('!0');
Run Code Online (Sandbox Code Playgroud)

要诊断查询错误,请查看生成的SQL:

info(qbds.toString());
Run Code Online (Sandbox Code Playgroud)