【问题标题】:Invoice query always returning no more than 10 results发票查询总是返回不超过 10 个结果
【发布时间】:2013-02-21 19:31:16
【问题描述】:

使用 IPP Java DevKit 2.0.9(也尝试使用 2.0.6),我实现了一个包装方法,用于通过客户 ID 在 QBO 中查找特定发票并在特定日期之前发生。我正在测试一个在大约 16 个月内有 65 张发票的特定客户,但查询总是返回发生在 dateFinish (endTransactionDate) 之前的 10 张“最新”发票。我也尝试了各种排列方式:仅包括客户 ID 条件,仅包括 endTransactionDate,添加“非常早”startTransactionDate、开发版本和生产版本。好像 API 正在删除结果列表,只包括前 10 条记录,似乎没有充分的理由。

public static List<QBInvoice> findInvoices(PlatformSessionContext context, String dataSource, Calendar dateFinish, List<String> customerIds) throws QBInvalidContextException, Exception {
    QBInvoiceService invoiceService = QBServiceFactory.getService(context, QBInvoiceService.class);
    QBInvoiceQuery invoiceQuery = new QBInvoiceQuery(context);
    invoiceQuery.setEndTransactionDate(QuickbooksUtil.dateToQbDate(dateFinish));
    if (!customerIds.isEmpty()) {
        IdSet idSet = QuickbooksUtil.stringListToIdSet(context, dataSource, customerIds);
        invoiceQuery.setContactIdSet(idSet);
    }
    return invoiceService.getInvoices(context, invoiceQuery);
}

【问题讨论】:

    标签: java intuit-partner-platform quickbooks-online


    【解决方案1】:

    在您的请求中指定 PageNum 和 ResultsPerPage。您将返回默认值,即 Page=1 和 ResultsPerPage=10。

    https://ipp.developer.intuit.com/0010_Intuit_Partner_Platform/0050_Data_Services/0400_QuickBooks_Online/0100_Calling_Data_Services/0030_Retrieving_Objects#Paging

    【讨论】:

    • 成功了!谢谢你。在 QBInvoiceQuery 对象上调用 setStartPage 和 setChunkSize。
    猜你喜欢
    • 2014-06-09
    • 2021-08-16
    • 1970-01-01
    • 2022-01-16
    • 1970-01-01
    • 2012-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多