У меня есть инструмент C #, который я написал для синхронизации заказов из БД в QB, и каждый шаг был огромной болью.
Я пытаюсь создать позиции, которые есть в нашей БД в QB, чтобы я мог правильно прикрепить позиции счета, но наша система позволяет торговому персоналу вводить пользовательские слова, поэтому я не могу просто добавить все возможные позиции в QB через интерфейс QB.
У меня есть этот кусок кода здесь
IMsgSetRequest AddItemRequestMsgSet = sessionManager.CreateMsgSetRequest("US", 8, 0);
AddItemRequestMsgSet.Attributes.OnError = ENRqOnError.roeContinue;
IItemServiceAdd itemAddRq = AddItemRequestMsgSet.AppendItemServiceAddRq();
itemAddRq.Name.SetValue(Item);
// itemAddRq.ORSalesPurchase.
IMsgSetResponse ItemAddResponseMsgSet = sessionManager.DoRequests(AddItemRequestMsgSet);
IResponse ItemAddResponse = ItemAddResponseMsgSet.ResponseList.GetAt(0);
Но это выдает ошибку, которая:
ORSalesPurchase: обязательное поле отсутствует
Я не имею ни малейшего представления о том, что это значит, и за свою жизнь я не могу найти ничего о ORSalesPurchase
или IItemServiceAdd
где-либо еще в Интернете, включая их документы.
Я могу сказать с помощью автозаполнения Visual Studio, что itemAddRq.ORSalesPurchase
имеет кучу вариантов, но я не смог понять из этого, о чем просит QB.
Какие поля обязательны для добавления элемента обслуживания в QB?
И если кто-то может указать мне, где это находится в их документах, это было бы замечательно :)
Трассировка стека:
System.Runtime.InteropServices.COMException (0x80040307):
ItemServiceAdd ORSalesPurchase: обязательное поле отсутствует Конец
ItemServiceAdd
в QBFC12Lib.IQBSessionManager.DoRequests (запрос IMsgSetRequest)
в SterlingQBExport.Form1.CheckNewInvoices (Источник объекта,
ElapsedEventArgs e) в C: \ Users \ brian \ Documents \ Visual Studio
2015 \ Проекты \ SterlingQBExport \ SterlingQBExport \ Form1.cs: строка 537