Ошибка при вставке строки счета QuickBooks - PullRequest
1 голос
/ 19 января 2012

Я работаю над кодом для импорта накладных, созданных в пользовательском приложении, в 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.Я изменил его из-за ошибки в этом случае, думая, что, возможно, имеющиеся у меня строки не всегда точно соответствуют полным именам.

Любые предложения приветствуются.

Тамар

Ответы [ 2 ]

1 голос
/ 21 января 2012

Решил это.Оказалось, что упомянутый элемент был в одной из позиций, а не в самом счете.Я пропустил замечание, что RefID в одной из позиций был пуст.

Определенно не полезное сообщение об ошибке.

0 голосов
/ 19 января 2012

Элемент не существует в Quickbooks. сначала создайте его в Quickbooks, и только потом вы можете ссылаться на него в счете.

...