我必须构建一个专门的表单,在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)));
答案 0 :(得分:4)
这些称为范围表达式,是使用Query
对象声明更复杂查询的唯一方法 - 请参阅this MSDN page
另外,请查看this Axaptapedia page(感谢FH-Inway)
关于它是否是经典方式:否 - 仅在必要时使用