Как изменить счет в быстрых книгах, используя qbxml и qbsdk13?

Это мой запрос QBXML

<?xml version="1.0" ?>
<?qbxml version="6.0"?>
<QBXML>
    <QBXMLMsgsRq onError="stopOnError">
        <InvoiceModRq requestID="1">
            <InvoiceMod>
                <TxnID>85-1442639879</TxnID>
                <EditSequence>1442639879</EditSequence>
                <CustomerRef>
                    <ListID>80000005-1442639850</ListID>
                    <FullName>Bruce Banner</FullName>
                </CustomerRef>
                <TxnDate>2015-09-19</TxnDate>
                <RefNumber>5462</RefNumber>
                <InvoiceLineMod>
                    <ItemRef>
                        <ListID>8000000A-1442469770</ListID>
                        <FullName>Item 1</FullName>
                    </ItemRef>
                    <Quantity>1</Quantity>
                    <Rate>1100.00</Rate>
                </InvoiceLineMod>
            </InvoiceMod>
        </InvoiceModRq>
    </QBXMLMsgsRq>
</QBXML>

Я получаю сообщение об ошибке QuickBooks обнаружил ошибку при разборе предоставленного потока текста XML.

пожалуйста помоги

1 ответ

Решение

Если вы ссылаетесь на QuickBooks OSR:

Вы заметите, что в пределах <InvoiceLineMod> элемент, этот узел требуется:

  • <TxnLineID>

OSR также дает вам немного больше информации:

TxnLineID

Идентификационный номер строки транзакции. (TxnLineID поддерживается начиная с версии 2.0 SDK. При использовании qbXML v1.0 и v1.1 TxnLineID всегда возвращается как ноль.)

Если вам нужно добавить новую строку транзакции в запрос мод транзакции, вы можете сделать это, установив TxnLineID в -1.

Итак, вам нужно добавить в <TxnLineID> узел. Если это новая позиция, поставьте -1 для контента внутри узла. Если вы пытаетесь обновить существующую строку, поставьте TxnLineID значение существующей линии там.

Пример:

...
<InvoiceLineMod>
    <TxnLineID>-1</TxnLineID>
    <ItemRef>
        <ListID>8000000A-1442469770</ListID>
        <FullName>Item 1</FullName>
    </ItemRef>
    <Quantity>1</Quantity>
    <Rate>1100.00</Rate>
</InvoiceLineMod>
...
Другие вопросы по тегам