我正在使用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 enum似乎只支持这三个国家,而Quickbooks本身也支持其他一些国家。
有关如何修补SDK或以其他方式解决问题的任何想法?
答案 0 :(得分:1)
无需依赖智能感知文档 - 您可以使用IDN Onscreen Reference获取SDK查询和响应的完整说明。您显然要么使用加拿大版或英国版QuickBooks,所以请务必检查允许CA或UK 2008 + ,然后选择 CA 或 UK 表示您正在使用的版本。
但是,一旦您这样做,您将看到SDK支持的唯一销售税国家是澳大利亚,英国和加拿大。为了确定qbXML是返回France还是其他未记录的值,可以在ICustomerRet接口上调用ToXmlString()
方法。这将为您提供原始的qbXML。如果价值"法国"在那里,你应该能够看到它。
如果您发现qbXML支持未记录的国家/地区,您可以尝试将它们包含在客户添加请求中,但您必须自己构建qbXML并使用请求处理器组件而不是QBFC来发送消息。
您可以通过在Intuit开发人员论坛中发帖获得更多相关信息,在论坛中您可以找到UK和Canadian QuickBooks开发的专用论坛。事实上,英国论坛现在有an active discussion on sales tax countries,但你不会发现它令人鼓舞。