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 の 3 つのオプションしかないことがわかります。明らかにフランスは除外されています。

SDK 列挙型はこれら 3 つの国のみをサポートしているようですが、Quickbooks 自体は他の多くの国をサポートしています。

SDK にパッチを適用する方法や、問題を回避する方法についてのアイデアはありますか?

4

1 に答える 1

1

ドキュメンテーションのために Intellisense に頼る必要はありません。IDN オンスクリーン リファレンスを使用して、SDK クエリと応答の完全な説明を参照できます。明らかにカナダ版または英国版の QuickBooks を使用しているため、必ずAllow CA または UK 2008+をオンにしてから、使用しているエディションを示すためにCAまたはUKのいずれかを指定してください。

ただし、これを行うと、SDK でサポートされている売上税の国はオーストラリア、英国、およびカナダのみであることがわかります。qbXML が France を返しているのか、文書化されていないその他の値を返しているのかを調べるために、ToXmlString()ICustomerRet インターフェイスでメソッドを呼び出すことができます。これにより、生の qbXML が得られます。そこに「フランス」という値があれば、それを見ることができるはずです。

qbXML が文書化されていない国をサポートしていることがわかった場合は、それらの国を顧客の追加リクエストに含めてみることができますが、qbXML を自分で構築し、QBFC の代わりにリクエスト プロセッサ コンポーネントを使用してメッセージを送信する必要があります。

英国カナダの両方のQuickBooks 開発専用のフォーラムがある Intuit 開発者フォーラムに投稿することで、これに関する詳細情報を入手できる場合があります。実際、現在、英国のフォーラムでは売上税の国に関する活発な議論が行われていますが、それが励みになるとは思えません。

于 2012-08-06T05:21:03.267 に答える