【问题标题】:Filter QuickBook invoices based on Ship Date根据发货日期过滤 QuickBook 发票
【发布时间】:2015-01-20 00:59:41
【问题描述】:

我正在使用 QuickBooks PHP DevKit(感谢 Keith!),并且正在开发 quickbooks 桌面和我的网站之间的集成。我的目标是将他们的发票导入我的数据库,以便从中生成报告。

当 QBWC 转移所有发票的时间太长时我遇到了一个问题(有好几年的时间)。 “显而易见”的解决方案是在 qbXML 请求中放置一个过滤器,以仅获取那些最近修改过的(例如,在去年内)。这在一段时间内非常有效,但是出现了问题。

我的客户希望根据发票日期本身(我相信也称为 ShipDate)导入发票,而不是发票的创建或修改时间。但是,来自 intuit 的 OSR(onScreen 参考)并未列出更多可用于在 InvoiceQueryRq 上进行过滤的字段。

所以,我的问题是:

  • 是否可以按特定发票字段(即 ShipDate)进行过滤?

如果没有:

  • 有没有办法及时有序地下载大量数据(数十万)? (以防止超时、沮丧等)

【问题讨论】:

    标签: php quickbooks qbxml


    【解决方案1】:

    我想我在这里找到了合适的示例和解决方案:

    https://github.com/consolibyte/quickbooks-php/blob/master/docs/web_connector/example_web_connector_import.php

    这是我提到的第二种方法的一个例子。它使用迭代器方法一次处理大量发票,而不是同时处理所有发票。 PHP DevKit 允许通过 qbXML 中的“额外”标签/属性传递一些数据,以便在请求和接收消息之间轻松使用。

    【讨论】:

    • 在这里添加更多内容——您可以根据某些字段进行过滤。您应该参考 QuickBooks OSR (developer-static.intuit.com/qbSDK-current/Common/newOSR/…) 可以对其进行过滤。在这种情况下,可以使用 标记过滤发票日期(XML 中的 TxnDate)。另外,请注意 ShipDate 字段和 TxnDate 是两个独立的字段。 TxnDate 是发票日期,可过滤。 ShipDate 是产品的发货日期(它与销售日期或发票本身的日期无关)并且不可过滤。
    • 感谢@KeithPalmer-consolibyte。是的,我意识到 TxnDate 可能是我想要过滤的字段,我确实在那里看到了那个过滤器。无论如何,我采用了迭代方法,正如我在链接中发布的示例以及 sql 转储的 SQL 回调中所示例的那样。在这两者之间,我能够成功地以增量方式处理大量数据。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-17
    • 2021-02-05
    • 1970-01-01
    相关资源
    最近更新 更多