You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

QuickBooks v3 .NET API:如何筛选Balance<TotalAmt的发票并避免查询报错

解决QuickBooks v3 .NET API发票筛选查询报错问题

错误原因

你编写的查询触发QueryParserError,核心原因是QuickBooks的查询语言(QQL)不支持在WHERE子句中直接比较两个字段值(比如Balance < TotalAmt这种字段间的比较语法是不允许的)。

可行解决方案

要在API端筛选已支付及部分支付的发票,直接利用QuickBooks发票的Status字段即可,该字段内置三种状态:

  • Paid:已全额支付
  • PartiallyPaid:部分支付
  • Open:未支付

修改后的查询语句及代码如下:

修正后的查询代码

List<Invoice> paidInvoices = invoiceQueryService.ExecuteIdsQuery("SELECT * FROM Invoice WHERE Status IN ('Paid', 'PartiallyPaid') AND DocNumber IN ('1123', '1124') MAXRESULTS 1000").ToList();

说明

  • 该查询通过Status IN ('Paid', 'PartiallyPaid')直接筛选出目标发票,完全在API端完成过滤,无需加载全量数据到内存后处理
  • 保留了你原有的DocNumber筛选条件和MAXRESULTS限制,符合需求

内容的提问来源于stack exchange,提问作者Calin Vlasin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 03:10:07