SalesOrderQuery в QuickBooks Desktop не возвращает элементы SalesOrder

Я делаю SalesOrderQuery для получения заказов на продажу, созданных в Quickbooks Desktop Enterprise Version 18.0.

Я создал несколько заказов на продажу в QB Desk и запрашиваю их, но я не могу найти элементы заказов на продажу, которые я добавил при создании заказа.

OSR показывает, что SalesOrderQueryRs будет содержать SalesOrderLineRet, который, как я предполагаю, является списком элементов этого заказа.

OSR ( https://developer-static.intuit.com/qbsdk-current/common/newosr/index.html )

Это мой пример запроса:

<?xml version="1.0" encoding="utf-8"?>
<?qbxml version="7.0"?>
<QBXML>
    <QBXMLMsgsRq onError="stopOnError">
        <SalesOrderQueryRq requestID="2">
        </SalesOrderQueryRq>
    </QBXMLMsgsRq>
</QBXML>

И это ответ, который я получаю, в котором нет списка предметов:

<?xml version="1.0" ?>
<QBXML>
    <QBXMLMsgsRs>
        <SalesOrderQueryRs requestID="3" statusCode="0" statusMessage="Status OK" statusSeverity="Info">
            <SalesOrderRet>
                <TxnID>2672D-1671085403</TxnID>
                <TimeCreated>2022-12-15T06:23:23+00:00</TimeCreated>
                <TimeModified>2022-12-15T06:23:23+00:00</TimeModified>
                <EditSequence>1671085403</EditSequence>
                <TxnNumber>1778</TxnNumber>
                <CustomerRef>
                    <ListID>800000D0-1182061376</ListID>
                    <FullName>Allard, Robert</FullName>
                </CustomerRef>
                <TemplateRef>
                    <ListID>120000-1071512690</ListID>
                    <FullName>Custom Sales Order</FullName>
                </TemplateRef>
                <TxnDate>2022-12-15</TxnDate>
                <RefNumber>7005</RefNumber>
                <BillAddress>
                    <Addr1>Robert Allard</Addr1>
                    <Addr2>92834 Chandler St.</Addr2>
                    <City>Millbrae</City>
                    <State>CA</State>
                    <PostalCode>94030</PostalCode>
                </BillAddress>
                <BillAddressBlock>
                    <Addr1>Robert Allard</Addr1>
                    <Addr2>92834 Chandler St.</Addr2>
                    <Addr3>Millbrae, CA 94030</Addr3>
                </BillAddressBlock>
                <ShipAddress>
                    <Addr1>Robert Allard</Addr1>
                    <Addr2>92834 Chandler St.</Addr2>
                    <City>Millbrae</City>
                    <State>CA</State>
                    <PostalCode>94030</PostalCode>
                </ShipAddress>
                <ShipAddressBlock>
                    <Addr1>Robert Allard</Addr1>
                    <Addr2>92834 Chandler St.</Addr2>
                    <Addr3>Millbrae, CA 94030</Addr3>
                </ShipAddressBlock>
                <PONumber>123456</PONumber>
                <DueDate>2022-12-15</DueDate>
                <ShipDate>2022-12-15</ShipDate>
                <Subtotal>192.00</Subtotal>
                <ItemSalesTaxRef>
                    <ListID>2E0000-933272656</ListID>
                    <FullName>San Tomas</FullName>
                </ItemSalesTaxRef>
                <SalesTaxPercentage>7.75</SalesTaxPercentage>
                <SalesTaxTotal>14.88</SalesTaxTotal>
                <TotalAmount>206.88</TotalAmount>
                <IsManuallyClosed>false</IsManuallyClosed>
                <IsFullyInvoiced>false</IsFullyInvoiced>
                <CustomerMsgRef>
                    <ListID>8000000A-1671085397</ListID>
                    <FullName>Test Order 2 having Wood Doors in order.</FullName>
                </CustomerMsgRef>
                <IsToBePrinted>true</IsToBePrinted>
                <IsToBeEmailed>false</IsToBeEmailed>
                <CustomerSalesTaxCodeRef>
                    <ListID>10000-999022286</ListID>
                    <FullName>Tax</FullName>
                </CustomerSalesTaxCodeRef>
            </SalesOrderRet>
        </SalesOrderQueryRs>
    </QBXMLMsgsRs>
</QBXML>

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


person Kesha    schedule 05.03.2018    source источник


Ответы (1)


Тип запроса SalesOrderQuery поддерживает несколько необязательных флагов, которые вы можете передать, чтобы настроить то, что вы возвращаете в ответах.

Конкретно:

<IncludeLineItems >BOOLTYPE</IncludeLineItems> <!-- optional -->
<IncludeLinkedTxns >BOOLTYPE</IncludeLinkedTxns> <!-- optional -->

В вашем случае, если вам нужны позиции, вы должны добавить это к своему запросу:

<IncludeLineItems>true</IncludeLineItems>

И тогда вы получите ожидаемые <SalesOrderLineRet> узла.

person Keith Palmer Jr.    schedule 05.03.2018
comment
Да ... это решило мою проблему. Спасибо @Keith Palmer Jr. - person Kesha; 07.03.2018