Я работаю над созданием счетов в Quickbooks через QBFC. У меня возникли проблемы с добавлением информации о настраиваемых полях в мой запрос InvoiceAdd. Я использую следующий код:
Dim CountryExt As IDataExtAdd = msgReq.AppendDataExtAddRq
CountryExt.DataExtName.SetValue("Country")
CountryExt.DataExtValue.SetValue("Spain")
CountryExt.OwnerID.SetValue(0)
CountryExt.ORListTxnWithMacro.TxnDataExtWithMacro.TxnDataExtType.SetValue(ENTxnDataExtType.tdetInvoice)
CountryExt.ORListTxnWithMacro.TxnDataExtWithMacro.TxnID.SetValueUseMacro("TxnID:" & i)
Запрос на добавление отлично работает для настраиваемых полей, для которых не установлены значения по умолчанию, но вызывает ошибку «Индекс вне диапазона» при попытке перезаписать значение, установленное клиентом.
Например, если у клиента Quickbooks в пользовательском поле «Страна» установлено значение «Португалия», код выдаст ошибку счета за пределами допустимого диапазона. Однако, если у Клиента не было «Страны» по умолчанию, код установил бы поле «Страна» в счете-фактуре.
Нужно ли мне добавлять пользовательские данные через второй dataextmodrq после создания счета, или мне не хватает какой-то опции UnSet?