插入QuickBooks发票行时出错

时间:2012-01-18 20:52:31

标签: quickbooks

我正在研究使用QODBC驱动程序将自定义应用程序中创建的发票导入QuickBooks的代码。我的东西几乎可以工作,但我遇到了INSERT的问题,它增加了实际的发票记录。我的整体代码基于http://support.flexquarters.com/esupport/index.php?_m=knowledgebase&_a=viewarticle&kbarticleid=10726&nav=0,58,64中列出的模型。

在这种特殊情况下,InvoiceLine表中的INSERT正在运行,但INSERT进入Invoice失败并出现此错误:

[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。我修改了它,因为这个案例的失败,认为我可用的字符串可能并不总是完全匹配全名。

欢迎任何建议。

2 个答案:

答案 0 :(得分:1)

解决了它。事实证明,引用的项目是其中一个订单项,而不是发票本身。我没有注意到其中一个订单项中的RefID是空的。

绝对不是一个有用的错误消息。

答案 1 :(得分:0)

Quickbooks中不存在项目。首先在Quickbooks中创建它,然后才能在发票中引用它。