在两列

时间:2016-09-21 16:42:11

标签: axapta x++ dynamics-ax-2009

我必须构建一个专门的表单,在InventTrans表中查询某些购买交易。

必须使用非空的凭证选择交易,并使用非空的装箱单ID(PackingSlipId)。

在查看如何在查询范围内指定此内容时,我发现可以将此查询范围与表的RecId相关联。这是通常和经典的方法吗?看看我的例子(似乎有用)。

   QueryBuildDataSource qbds;
   ;

   qbds =  this.query().dataSourceTable(tableNum(inventTrans));

   sysQuery::findOrCreateRange(qbds, fieldNum(InventTrans, RecId)).value(
    strfmt('(%1 != "") || (%2 != "")',
            fieldstr(InventTrans, Voucher),
            fieldstr(InventTrans, PackingSlipId)));

1 个答案:

答案 0 :(得分:4)

这些称为范围表达式,是使用Query对象声明更复杂查询的唯一方法 - 请参阅this MSDN page

另外,请查看this Axaptapedia page(感谢FH-Inway

关于它是否是经典方式:否 - 仅在必要时使用