Axapta 向具有或位于两列的表单数据源添加条件
我必须构建一个专门的表单来查询Axapta 向具有或位于两列的表单数据源添加条件,axapta,x++,dynamics-ax-2009,Axapta,X++,Dynamics Ax 2009,我必须构建一个专门的表单来查询InventTrans表中的一些购买交易 必须使用非空凭证或非空装箱单Id(PackingSlipId)选择交易记录 在查看如何在查询范围中指定此项时,我发现可以将此查询范围与表的RecId相关联。这是通常的和经典的方法吗?看看我的例子(这似乎有效) 这些称为范围表达式,是使用Query对象声明更复杂查询的唯一方法-请参阅 此外,请看(感谢) 关于它是否是经典的方式:不-仅在必要时使用它我见过它完全是这样做的,我从来没有感觉对过,但我知道你需要什么,这几乎是使用查询
InventTrans
表中的一些购买交易
必须使用非空凭证或非空装箱单Id(PackingSlipId
)选择交易记录
在查看如何在查询范围中指定此项时,我发现可以将此查询范围与表的RecId
相关联。这是通常的和经典的方法吗?看看我的例子(这似乎有效)
这些称为范围表达式,是使用
Query
对象声明更复杂查询的唯一方法-请参阅
此外,请看(感谢)
关于它是否是经典的方式:不-仅在必要时使用它我见过它完全是这样做的,我从来没有感觉对过,但我知道你需要什么,这几乎是使用
查询
对象的唯一方法。Axaptapedia也有一篇很好的文章,其中包含了更多的细节和示例,我发现在使用查询表达式时这些都很有用。很好的一点-随着时间的推移,几乎忘记了这一方面:)会将其添加到答案中
QueryBuildDataSource qbds;
;
qbds = this.query().dataSourceTable(tableNum(inventTrans));
sysQuery::findOrCreateRange(qbds, fieldNum(InventTrans, RecId)).value(
strfmt('(%1 != "") || (%2 != "")',
fieldstr(InventTrans, Voucher),
fieldstr(InventTrans, PackingSlipId)));