【问题标题】:quickbooks qbxml result orderingquickbooks qbxml 结果排序
【发布时间】:2019-03-13 18:22:50
【问题描述】:

在使用 qbXML 查询时,我找不到任何关于 quickbooks 如何订购结果的信息。似乎至少在本节中会提到它:

https://developer.intuit.com/app/developer/qbdesktop/docs/develop/exploring-the-quickbooks-desktop-sdk/query-requests-and-responses#using-maxreturned-to-specifying-the-maximum-number-of-objects-returned

例如,在那个部分它说:

“要继续查看符合查询条件的对象...如果您正在处理按字母顺序排列的客户姓名列表,请使用 NameRangeFilter:FromName”

这是否是说通过使用NameRangeFilter,结果保证按FromName排序?如果我使用 ModifiedDateRangeFilter,是否可以确保结果按修改日期排序?

我试图弄清楚如何知道从上次连接器事务运行时到哪里取货,但不知道结果是如何排序的,我似乎无法确定地知道。

【问题讨论】:

    标签: quickbooks qbxml


    【解决方案1】:

    无法指定 qbXML 结果的顺序。

    如果您尝试获取大量结果,请使用迭代器 - 迭代器的目的是专门让您可以遍历大型结果集,并且 不必跟踪您离开的位置off -- 迭代器会为你做这件事。

    【讨论】:

    • 谢谢!我要做的是初始同步。 QB 用户有 4k 客户和 50k 发票。这是对初始同步的压力,并且会锁定连接器。我想告诉连接器“好的,你已经通过这个迭代器发送了 100 条记录,现在让我们停下来,下次你连接时我们会在 15 分钟内发送下 100 条记录。”这是知道订购的地方。我同意,一旦外部服务和 QB 是“最新的”,订购将不再重要。
    • 如果你使用迭代器,你特别不需要(并且不能)这样做。如果您遇到性能问题,那么您可以做的是减慢响应处理速度(例如,添加一些 sleep() 语句,以便 QuickBooks 获得中断使用较小的结果块(例如 25 条记录一次)。迭代器保证您将获得所有记录 - 您不必指定顺序,因为它们会自动为您跟踪。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-22
    相关资源
    最近更新 更多