使用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);
}
答案 0 :(得分:3)
在请求中指定PageNum和ResultsPerPage。您将返回默认值,即Page = 1和ResultsPerPage = 10。