我正在编写代码以使用 QODBC 驱动程序将自定义应用程序中创建的发票导入 QuickBooks。我的东西几乎可以工作,但我遇到了添加实际发票记录的插入问题。我的整体代码基于http://support.flexquarters.com/esupport/index.php?_m=knowledgebase&_a=viewarticle&kbarticleid=10726&nav=0,58,64中列出的模型。
在这种特殊情况下,InvoiceLine 表中的 INSERT 可以正常工作,但 Invoice 中的 INSERT 失败并出现以下错误:
[QODBC] 错误:3140 - 发票行中对 QuickBooks 项目“”的引用无效。
这是我在这种情况下发送的 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。由于这个案例的失败,我对其进行了修改,认为我可用的字符串可能并不总是与全名完全匹配。
欢迎任何建议。
添马舰