Quickbooks QBFC Ошибка при добавлении счета

Я пытаюсь добавить счет поставщика в быстрые книги, используя QBFC на С#. Моя проблема в том, что если я хочу определить собственный адрес для этого конкретного поставщика (только для этого конкретного счета), он выдает сообщение об ошибке

QuickBooks found an error when parsing the provided XML text stream

Мой тестовый код выглядит следующим образом:

 IBillAdd billAddRq = this.mainRequestMsgSet.AppendBillAddRq();

 billAddRq.VendorRef.FullName.SetValue(vendBill.transaction.Name);
 billAddRq.TxnDate.SetValue(Convert.ToDateTime(vendBill.transaction.Date));
 billAddRq.RefNumber.SetValue(vendBill.transaction.DocNum);
 billAddRq.VendorAddress.Addr1.SetValue("test");
 billAddRq.VendorAddress.Addr2.SetValue("test");
 billAddRq.VendorAddress.Addr3.SetValue("test");
 billAddRq.VendorAddress.Addr4.SetValue("test");
 billAddRq.VendorAddress.Addr5.SetValue("test");

Однако код работает, если я избавлюсь от всех вызовов VendorAddress и просто оставлю это так:

 IBillAdd billAddRq = this.mainRequestMsgSet.AppendBillAddRq();

 billAddRq.VendorRef.FullName.SetValue(vendBill.transaction.Name);
 billAddRq.TxnDate.SetValue(Convert.ToDateTime(vendBill.transaction.Date));
 billAddRq.RefNumber.SetValue(vendBill.transaction.DocNum);

Есть ли что-то особенное, что мне нужно сделать, чтобы определить пользовательский адрес поставщика для конкретного счета этого поставщика?


person Giardino    schedule 03.07.2014    source источник
comment
Вы должны проверить StatusCode и StatusMessage объекта ответа QuickBooks. Это даст вам подробное сообщение об ошибке о том, что вызывает проблему. Также проверьте все свойства исключения.   -  person Jon    schedule 03.07.2014
comment
На самом деле я не могу получить код состояния, потому что мой ResponseMsgSet.ResponseList имеет значение null после этого запроса, поскольку ошибка прерывает запрос.   -  person Giardino    schedule 03.07.2014
comment
Вы пробовали просто добавить Addr1, а не 5 адресов?   -  person Jon    schedule 03.07.2014


Ответы (1)


На самом деле вы не предоставили достаточно информации для решения этой проблемы (год/версия QuickBooks, остальная часть вашего кода и т. д.), поэтому я просто собираюсь высказать здесь дикую догадку...

Узел VendorAddress запроса BillAdd не поддерживается до QuickBooks 2014 и новее. Итак, если вы используете версию QuickBooks 2013 или более раннюю... вы не можете использовать эти узлы.

Кроме того, сами версии QuickBooks API имеют версии, поэтому, если вы указываете использовать любую версию qbXML ниже 13.0, вы не можете использовать эти узлы.

Поскольку вы не указали, какую версию QuickBooks вы используете или какую версию qbXML вы указываете в остальной части своего кода, трудно точно знать, является ли это проблемой или нет...

person Keith Palmer Jr.    schedule 07.07.2014