QODBCドライバーを使用して、カスタムアプリケーションで作成された請求書をQuickBooksにインポートするコードに取り組んでいます。ほぼ機能していますが、実際の請求書レコードを追加するINSERTで問題が発生しています。私の全体的なコードは、 http://support.flexquarters.com/esupport/index.php?_m = knowledgebase&_a = viewarticle&kbarticleid = 10726&nav=0,58,64にレイアウトされているモデルに基づいています。
この特定のケースでは、InvoiceLineテーブルへのINSERTは機能していますが、InvoiceへのINSERTは次のエラーで失敗します。
[QODBC]エラー:3140-請求書の行にQuickBooksItem""への無効な参照があります。
この場合に送信するINSERTコマンドは次のとおりです。
INSERT INTO Invoice (CustomerRefListID, ARAccountRefFullName, TxnDate, RefNumber, TermsRefFullName, TemplateRefFullName, SalesRepRefListID, ClassRefListID)
VALUES ('80000855-1326914216', 'Receivables', {d '2012-01-17'}, '12-1005', '30 days', 'Customized Invoice', '30000-1034349330', '8F70000-912629594')
CustomerRefListID、SalesRepListID、およびClassRefListIDの値はすべて、それぞれのテーブルを検索することによって決定されます。また、用語テーブルで「30日」が発生することを確認しました。
このコマンドを生成する以前のバージョンのコードは、数日前にさまざまなデータで機能していました。SalesRepRefFullNameとClassRefFullNameを使用しました。このケースが失敗したため、使用可能な文字列が必ずしもフルネームと完全に一致するとは限らないと考えて変更しました。
どんな提案も歓迎します。
タマール