0

我对 .NET DevKit 感到很沮丧,现在正在考虑将我的应用程序切换到 XML。但是我仍然无法弄清楚如何执行非常基本的查询。

如何通过订单号检索 QBD 销售订单?这是 QBD UI 中的“销售订单号”、SDK 中的“RefNumber”和 IPP 中的“DocNumber”。

以防万一有人需要我解释通过人类可读的唯一 ID 查找记录的用例:我正在与一个系统集成,在该系统中,我们在导入销售订单后无法存储 QB 交易 ID . 因此,如果该系统稍后要查询 QB 以检查销售订单的状态,则需要通过该系统的唯一订单 # 来执行此操作。

我已经有了所有文档的链接;谢谢。我只需要知道如何执行此查询。同样,我需要为 Invoices 和 POs 执行此操作。

我对 Items 也需要同样的东西,用例是如果我们从另一个系统导入项目,我们需要按名称查询 QB 项目列表,以查看我们是否已经在 QB 中拥有该项目。

4

1 回答 1

1

对于 ITEMS,您可以使用 ItemConsolidated 和 NameContains 过滤器。例如,XML 看起来像:

POST https://services.intuit.com/sb/itemconsolidated/v2/<realmID>
...
<?xml version="1.0" encoding="UTF-8"?>
<ItemConsolidatedQuery xmlns="http://www.intuit.com/sb/cdm/v2"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     xsi:schemaLocation="http://www.intuit.com/sb/cdm/v2     RestDataFilter.xsd ">
    <NameContains>Your item name goes here</NameContains>
</ItemConsolidatedQuery>

它不会是完美的,因为 Intuit 仅支持“NameContains”(项目名称包含您指定的字符串)而不是“NameEquals”,但您可以循环访问返回的内容并从那里过滤客户端。

对于 SALES ORDERS,遗憾的是,Intuit Data Services 目前不支持按 DocNumber 查询。

相反,针对您的情况的解决方法可能是查询所有销售订单,然后在应用程序中缓存每个销售订单的 Id 和 DocNumber 值。当需要查找的时候,在缓存中查找Id,然后通过Id值查询。它不漂亮......但它确实是你可以做你所描述的唯一方法。

于 2013-07-19T11:32:10.740 回答