Я работаю над кодом для импорта накладных, созданных в пользовательском приложении, в QuickBooks с помощью драйвера QODBC.У меня почти все работает, но я столкнулся с проблемой со INSERT, который добавляет фактическую запись счета.Мой общий код основан на модели, изложенной в http://support.flexquarters.com/esupport/index.php?_m=knowledgebase&_a=viewarticle&kbarticleid=10726&nav=0,58,64.
В этом конкретном случае INSERT в таблицу InvoiceLine работают, но 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.Я изменил его из-за ошибки в этом случае, думая, что, возможно, имеющиеся у меня строки не всегда точно соответствуют полным именам.
Любые предложения приветствуются.
Тамар