Quickbooks QBFC添加账单时出错

本文关键字:出错 账单 添加 QBFC Quickbooks | 更新日期: 2023-09-27 18:11:16

我正在尝试使用c#中的QBFC向quickbooks添加供应商账单。我的问题是,如果我想为这个特定的供应商定义一个自定义地址(只针对这个特定的账单),它会抛出一个错误,说

QuickBooks found an error when parsing the provided XML text stream
我的测试代码如下:
 IBillAdd billAddRq = this.mainRequestMsgSet.AppendBillAddRq();
 billAddRq.VendorRef.FullName.SetValue(vendBill.transaction.Name);
 billAddRq.TxnDate.SetValue(Convert.ToDateTime(vendBill.transaction.Date));
 billAddRq.RefNumber.SetValue(vendBill.transaction.DocNum);
 billAddRq.VendorAddress.Addr1.SetValue("test");
 billAddRq.VendorAddress.Addr2.SetValue("test");
 billAddRq.VendorAddress.Addr3.SetValue("test");
 billAddRq.VendorAddress.Addr4.SetValue("test");
 billAddRq.VendorAddress.Addr5.SetValue("test");

代码工作,但是,如果我摆脱所有的调用VendorAddress,只是留下它像这样:

 IBillAdd billAddRq = this.mainRequestMsgSet.AppendBillAddRq();
 billAddRq.VendorRef.FullName.SetValue(vendBill.transaction.Name);
 billAddRq.TxnDate.SetValue(Convert.ToDateTime(vendBill.transaction.Date));
 billAddRq.RefNumber.SetValue(vendBill.transaction.DocNum);

为了为这个供应商的特定账单定义一个自定义供应商地址,我需要做一些特殊的事情吗?

Quickbooks QBFC添加账单时出错

你还没有真正提供足够的信息来解决这个问题(QuickBooks的年份/版本,你的代码的其余部分,等等),所以我只是想在这里抛出一个大胆的猜测…

直到QuickBooks 2014及更新版本才支持BillAdd请求的VendorAddress节点。所以,如果你使用的是QuickBooks 2013或更早的版本……你不能使用这些节点

此外,QuickBooks API版本本身是有版本的,所以如果你指定使用任何版本的qbXML少于13.0,你不能使用这些节点。

因为你没有发布你正在使用的QuickBooks版本或你在其余代码中指定的qbXML版本,所以很难确定这是否是问题所在……