1

使用 IPP Java DevKit 2.0.9(也尝试使用 2.0.6),我实现了一个包装方法,用于通过客户 ID 在 QBO 中查找特定发票并在某个日期之前发生。我正在测试一个在大约 16 个月内有 65 张发票的特定客户,但查询始终返回dateFinishendTransactionDate)之前发生的 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);
}
4

1 回答 1

3

在您的请求中指定 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

于 2013-02-21T20:31:25.067 回答