2013-07-12 44 views
1

我有一个用C#编写的QBFC应用程序,该应用程序从调度程序自动运行,其中包括将发票从远程客户端插入到QB中。将InventorySite添加到QBSDK 12中的Quickbooks发票时出错

最近,我升级它添加一个“InventorySite”为客户使用QB的“高级库存”模块的发票项目。我同时升级到QBFC 12。

当程序尝试插入发票时,现在出现错误,表示InventorySiteLocationRef元素无法识别。所有其他功能照常工作。

以下是摘自QBSDKLog.txt:

20130712.143859 I 736 QBSDKProcessRequest Application named 'IOS Briefcase Sync' starting requests (process 1264). 
20130712.143859 W 736 QBNInvoiceAdd::HandleAggregate unexpected tag 'Memo'. 
20130712.143859 E 736 XercesSAXErrorHandler Unknown element 'InventorySiteLocationRef' -- error at line 19, column 26 in XML data. 
20130712.143859 I 736 MsgSetHandler Parser error, finishing. 
20130712.143859 I 736 QBSDKProcessRequest Application named 'IOS Briefcase Sync' finishing requests (process 1264), ret = 1. 
20130712.143859 E 1264 RequestProcessor Process Request error = 80042500, There was an error when parsing the provided XML file. 
20130712.143937 I 1264 RequestProcessor Connection closed by app named 'IOS Briefcase Sync' 
20130712.143937 I 1264 RequestProcessor ========== Ended Connection ========== 

客户端运行12

我使用提供的SDK安装程序安装QBFC12_0和QBXMLRP2 QuickBooks的企业解决方案的制造和批发版。 HostQuery返回11作为最高支持的QBXML主要版本,这是我在创建请求时使用的版本。

我没有卸载QBFC7,这是以前在这个客户端使用的版本,因为我希望能够回滚(我曾这样做)。这可能是问题吗?

我是否需要安装或卸载其他东西?重新启动会有帮助吗?我还没有能够让客户端的任何人重新启动。

回答

3

在我的情况下,问题原来是我使用了错误的字段。我应该使用“InventorySiteRef”而不是“InventorySiteLocationRef”,它反映站点内的垃圾箱号码。一旦我做了这个修正,一切都奏效了。

但是,“InventorySiteLocationRef”的问题仍然存在。这是QBFC的一个合法领域,据称Intuit的所有知识都不会表明它可能会失败。但是,如果不是所有版本的QB,都会失败。我终于在“QBFC 12发行说明”中发现了一个相当广泛的字段列表,这些字段似乎是合法的,但实际上并不工作。这是Intuit如何描述它们的。您可以搜索以下文本以查找发行说明中的​​列表:

注意:大多数这些更改尚未在Quick- Books中实施。这些仅仅是为了在将来的 版本的QuickBooks版本中实现而进行的规范更改。

+0

这对我很有帮助。我感谢你的洞察力。 –

相关问题