#xml #quickbooks #invoice #qbxml
Вопрос:
Я запускаю ниже xml — запрос к quickbooks
<?xml version="1.0" encoding="UTF-8"?>
<?qbxml version="13.0"?>
<QBXML>
<QBXMLMsgsRq onError="stopOnError">
<InvoiceAddRq>
<InvoiceAdd defMacro="TxnID:Invoice0">
<CustomerRef>
<FullName>krunal</FullName>
</CustomerRef>
<RefNumber>yolo</RefNumber>
<InvoiceLineAdd>
<ItemRef>
<FullName>ac</FullName>
</ItemRef>
<Quantity>1</Quantity>
</InvoiceLineAdd>
</InvoiceAdd>
</InvoiceAddRq>
<DataExtAddRq>
<DataExtAdd>
<OwnerID>0</OwnerID>
<DataExtName>kkcf</DataExtName>
<TxnDataExtType>Invoice</TxnDataExtType>
<TxnID useMacro="TxnID:Invoice0" />
<DataExtValue>nadiaad</DataExtValue>
</DataExtAdd>
</DataExtAddRq>
</QBXMLMsgsRq>
</QBXML>
Я получаю ошибку ниже
Произошла ошибка при сохранении расширения данных с именем «kkcf».Сообщение об ошибке QuickBooks : Атрибут с указанным именем уже существует.. Сообщение об ошибке QuickBooks: Эта функция не включена или недоступна в данной версии QuickBooks.
Как я могу добавить поля счета-фактуры и пользовательские поля в один и тот же запрос. ?
Комментарии:
1. Доступны ли пользовательские поля в вашей версии QuickBooks? Включены ли они? Вы добавили это пользовательское поле в свои счета-фактуры в QuickBooks?
2. да, они доступны. Запрос на мод работает нормально. Это поле отображается в графическом интерфейсе счета quickbooks.
3. Я нашел проблему. Если значение унаследовано от клиента и уже присутствует на момент создания, то dataextadd завершится ошибкой, так как значение уже существует. Если значение пустое, то это работает. Можно ли установить унаследованное значение в пустую строку ?