【问题标题】:How to modify an invoice in quickbooks using qbxml and qbsdk13 in c#?如何在c#中使用qbxml和qbsdk13修改quickbooks中的发票?
【发布时间】:2015-09-21 09:58:43
【问题描述】:

我已经完成了这样的 InvoiceModquery

<?xml version="1.0" ?> 
  <?qbxml version="6.0"?> 
 <QBXML>
 <QBXMLMsgsRq onError="stopOnError">
 <InvoiceModRq requestID="1">
 <InvoiceMod>
  <TxnID>79-1442638826</TxnID> 
  <EditSequence>1442638826</EditSequence> 
 <CustomerRef>
  <ListID>80000004-1442638803</ListID> 
  <FullName>Chris Evans</FullName> 
  </CustomerRef>
  <TxnDate>2015-09-19</TxnDate> 
  <RefNumber>5461</RefNumber> 
 <InvoiceLineMod>
 <ItemRef>
  <ListID>8000000A-1442469770</ListID> 
  <FullName>Item 1</FullName> 
  </ItemRef>
  <Quantity>1</Quantity> 
  <Rate>100.00</Rate> 
  </InvoiceLineMod>
  <InvoiceLineMod /> 
 <InvoiceLineMod>
 <ItemRef>
  <ListID>8000000B-1442469788</ListID> 
  <FullName>Item 2</FullName> 
  </ItemRef>
  <Quantity>1</Quantity> 
  <Rate>200.00</Rate> 
  </InvoiceLineMod>
  </InvoiceMod>
  </InvoiceModRq>
  </QBXMLMsgsRq>
  </QBXML>

当我将此请求发送到 sdk 时,我收到一条错误消息,提示 quickbooks 无法解析提供的 xml。请指出我哪里出错了。

【问题讨论】:

  • 通过转发here得到这个问题的答案

标签: c# sdk quickbooks qbxml


【解决方案1】:

对于初学者,您需要为 QuickBooks 提供有效的 XML 来处理它。您的上述请求不是有效的 XML。

这不是有效的 XML,因为您的请求中有连字符(我猜您是从放置破折号的地方复制/粘贴的):

-<QBXML>
    -<QBXMLMsgsRq onError="stopOnError">
        -<InvoiceModRq requestID="1">

删除连字符,然后重试。

您还应该考虑将您的 XML 复制/粘贴到任何在线找到的 XML Validator 工具中,因为这样会立即向您显示错误。

【讨论】:

  • 这些存在于我发送到 qbsdk 的每个请求中,并且它们都返回有效结果。
  • 它们不是有效的 XML。如果您希望您的请求有效,则需要删除连字符。
  • 我上面粘贴的代码只是我发送的请求的“XML 可视化视图”。这种连字符只出现在 XML 可视化器中。
  • 然后发布您要发送到 QuickBooks 的实际 XML。如果您向我们展示的内容与您实际发送给 QuickBooks 的内容完全不同,我们应该如何帮助您?
  • 以上 xml(不带连字符)是我的要求。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多