You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

版本22 R1:契约式API能否支持OR/IN逻辑查询?

Acumatica 22 R1契约式API OR/IN查询问题解答

核心结论

Acumatica 22 R1版本的契约式API不支持OR逻辑运算符和IN语法,错误提示"Only AND logical operator is supported"已经明确了该版本的限制——过滤条件仅允许使用AND连接多个规则。

替代解决方案

针对你需要查询多个OrderNbr的场景,可采用以下几种替代方式:

  • 多次单值查询并合并结果
    分别发起多个GET请求,每个请求查询一个订单编号,再在客户端将结果合并:

    /Default/20.200.001/salesorder?$filter=OrderNbr eq 'SO006538'
    
    /Default/20.200.001/salesorder?$filter=OrderNbr eq 'SO006537'
    
  • 使用批量请求减少HTTP调用次数
    利用Acumatica的批量请求功能,将多个查询打包到一个请求中,发送至/batch端点,示例请求体:

    [
        {
            "Id": "1",
            "Method": "GET",
            "Url": "/Default/20.200.001/salesorder?$filter=OrderNbr eq 'SO006538'"
        },
        {
            "Id": "2",
            "Method": "GET",
            "Url": "/Default/20.200.001/salesorder?$filter=OrderNbr eq 'SO006537'"
        }
    ]
    

    响应会包含每个查询的结果,同样在客户端合并即可。

  • 自定义API端点(需开发能力)
    如果业务场景需要频繁进行这类多值查询,可开发自定义契约式API端点,在服务器端实现OR逻辑的筛选逻辑,直接返回合并后的结果。

版本说明

Acumatica后续版本(如2023 R1及之后)对契约式API的过滤功能进行了增强,已支持OR运算符和IN语法,但22 R1版本无此特性。

内容的提问来源于stack exchange,提问作者MikeNIke

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 14:55:21