SalesOrderQuery в QuickBooks Desktop не возвращает элементы SalesOrder
Я делаю SalesOrderQuery для получения заказов на продажу, созданных в Quickbooks Desktop Enterprise версии 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 или что-нибудь еще для этого нужно?
1 ответ
SalesOrderQuery
Тип запроса поддерживает несколько необязательных флагов, которые вы можете передать, чтобы настроить то, что вы получите в ответах.
В частности:
<IncludeLineItems >BOOLTYPE</IncludeLineItems> <!-- optional -->
<IncludeLinkedTxns >BOOLTYPE</IncludeLinkedTxns> <!-- optional -->
В вашем случае, если вы хотите, чтобы позиции были добавлены в ваш запрос:
<IncludeLineItems>true</IncludeLineItems>
И тогда вы получите обратно <SalesOrderLineRet>
узлы вы ожидаете.