2

ドキュメントによると:

システムは、ブール OR ロジックを使用してすべてのタグを接続します。

これは、複数の CriteriaElement 間でブール AND 演算を実行する QueryCriteria を構築することはまったく不可能であることを意味しますか?

4

1 に答える 1

5

クエリで「汚いトリック」を使用することで、必要なものを取得できるはずです。DataArea フィールドまたは RecId フィールドを使用して式を入力することにより、カスタム式をクエリ範囲に配置する方法があります。

例:

query = new Query();
dsInventTable = query.addDataSource(tableNum(InventTable));

// Add our range
queryBuildRange = dsInventTable.addRange(fieldNum(InventTable, DataAreaId));

queryBuildRange.value(strFmt('((%1 == %2) || ((%1 == %3) && (%4 == "%5")))',
    fieldStr(InventTable, ItemType),
    any2int(ItemType::Service),
    any2int(ItemType::Item),
    fieldStr(InventTable, ProjCategoryId),
    queryValue("Spares")));

詳細については、次のリンクを参照してください:クエリ範囲内の式

于 2013-03-27T22:13:39.580 に答える