【问题标题】:Acumatica REST API - StockItem - how to use multiple product id in request with specific product idsAcumatica REST API - StockItem - 如何在请求中使用具有特定产品 ID 的多个产品 ID
【发布时间】:2019-03-21 20:21:01
【问题描述】:

我在我的应用程序中使用 Acumatica REST 端点 https://sandbox.kimballinc.com/AcumaticaERP/entity/Default/6.00.001

我正在使用 URL https://sandbox.kimballinc.com/AcumaticaERP/entity/Default/6.00.001/StockItem?$filter=InventoryID eq '123456'&$expand=WarehouseDetails 来获取有关产品的信息并获取完整的仓库详细信息

我的查询是如何在单个请求中使用多个产品 ID,以便在对 Acumatica Erp REST Url 的单个请求中获取有关多个产品的信息。

例如 我有三个产品 ID 产品 ID 1 是 123456 产品 ID 2 是 457963 产品 ID 1 为 135780

如何形成一个请求来获取所有这三个产品 ID 的记录。 我们无法使用通用产品 ID 形成请求,但我们需要在请求中提及所有三个产品 ID。

谢谢

【问题讨论】:

    标签: acumatica acumatica-kb


    【解决方案1】:

    我正在查看文档,除非你这样做,否则我看不到一种方法可以做多个

    $filter=InventoryID eq '123456' or InventoryID eq '457963' or InventoryID eq '135780'

    这适用于少数人,但如果您有很多 ID 要同时发送,则可能行不通。

    【讨论】:

    • URL 长度没有硬性限制,我认为即使对于很多 ID,它也应该可以很好地扩展。
    • 它对我不起作用。当我这样尝试时,单个产品正在工作,但两个产品不工作 -> sandbox.kimballinc.com/AcumaticaERP/entity/Default/6.00.001/… eq '000032-000' 或 InventoryID eq '000042-000''
    • "message": "发生错误。", "exceptionMessage": "'InventoryID eq '000032-000' 或 InventoryID eq '000042-000 的位置 60 处存在未终止的字符串文字'''。"、"exceptionType": "Microsoft.Data.OData.ODataException"、"stackTrace": "在 Microsoft.Data.OData.Query.ExpressionLexer.NextToken()\r\n 在 Microsoft.Data.OData。 Query.UriQueryExpressionParser.ParseComparison()\r\n
    • 我尝试使用 URL localhost/entity/default/18.200.001/… eq '2332FG' 或 InventoryID eq '2332P' 在我的设备上执行此操作,但我收到一个不同的错误,显示“仅支持 AND 逻辑运算符”。 Acumatica 不支持 Or 运算符吗?我正在查看从 Acumatica 帮助文件链接的页面odata.org/documentation/odata-version-3-0/url-conventions,它在 5.1.2.1.10 显示了一个使用 Or 运算符的示例。可能需要 Acumatica 的回复才能知道这是错误还是我的 URL 中有错误。
    • Acumatica 不支持 OData URL 约定中提到的功能,这就是我提出这个问题的原因。如何向 Acumatica 技术支持团队提出这个问题?谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-03
    • 1970-01-01
    • 2017-05-26
    • 1970-01-01
    • 2021-08-12
    相关资源
    最近更新 更多