向两个列上带有OR的表单数据源添加条件



我必须建立一个专门的表单来查询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)));

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

另外看看这个Axaptapedia页面(感谢FH-Inway)

关于是否为经典方式:No - only在必要时使用

相关内容

最新更新