0

我正在使用 Quickbooks SDK v11 与 C# 应用程序集成。几乎一切正常,但我对销售税国家有疑问。我想将客户记录添加到 Quickbooks,但我不知道该怎么做。

要查看 Quickbooks 中已有的内容,我正在使用以下代码片段:

ICustomerRet ret = [My code to retrieve a customer];
ENSalesTaxCountry stc = (ENSalesTaxCountry)ret.SalesTaxCountry.GetValue();

这适用于英国客户,但如果客户的销售税国家为法国,则 GetValue() 调用会引发异常。

对 Intellisense 的一探发现,我的 ENSalesTaxCountry 类型只有三个选项:stcAustralia、stcCanada 和 stcUK - 显然不包括法国。

SDK 枚举似乎只支持这三个国家,而 Quickbooks 本身支持一大堆其他国家。

关于如何修补 SDK 或以其他方式解决问题的任何想法?

4

1 回答 1

1

无需依赖 intellisense 文档 - 您可以使用IDN Onscreen Reference获得 SDK 查询和响应的完整描述。您显然使用的是加拿大版或英国版 QuickBooks,因此请务必选中Allow CA 或 UK 2008+,然后选择CAUK以指明您正在使用的版本。

但是,一旦您这样做,您将看到 SDK 支持的唯一销售税国家是澳大利亚、英国和加拿大。为了查明 qbXML 是否返回 France 或其他未记录的值,您可以调用ToXmlString()ICustomerRet 接口上的方法。这将为您提供原始的 qbXML。如果存在“France”值,您应该能够看到它。

如果您发现 qbXML 支持未记录的国家/地区,您可以尝试将它们包含在客户添加请求中,但您必须自己构建 qbXML 并使用请求处理器组件而不是 QBFC 来发送消息。

您可以通过在 Intuit 开发者论坛上发帖获得更多相关信息,在那里您可以找到英国加拿大QuickBooks 开发的专用论坛。事实上,现在英国论坛上正在积极讨论销售税国家,但你不会觉得它令人鼓舞。

于 2012-08-06T05:21:03.267 回答