2015-06-29 4 views
2

Возможно ли создать счет-фактуру с разовыми позициями или сгенерировать отсутствующие элементы по требованию без разбора возвращаемого значения QBXMLMsgsRs?QBXML create InvoiceLineAdd по запросу

Я пытаюсь передать счета в QuickBooks через веб-коннектор QuickBooks, я не могу гарантировать, что элементы уже существуют. Я знал, что QuickBooks сам может создавать предметы по требованию.

я получить следующее ответное сообщение:

QBXMLMsgsRs:

Там инвалид ссылка на QuickBooks Пункт "1000000000" в строке счета-фактуры. Сообщение об ошибке QuickBooks: недопустимый аргумент. Указанная запись не существует в списке.

Как откат, я проанализирую возвращаемое значение, создаю элемент и отправлю счет-фактуру снова, но я ищу существующую реализацию. Я уже проверил Onscreen Reference (InvoiceAdd) без какой-либо полезной информации.

Вот пример моего QBXML:

<?xml version="1.0" encoding="us-ascii"?> 
<?qbxml version="13.0"?> 
<QBXML> 
    <QBXMLMsgsRq onError="stopOnError"> 
     <InvoiceAddRq requestID="bd4a0a4d-81ea-4f95-ae09-150f15a12423"> 
      <InvoiceAdd> 
       <CustomerRef> 
        <ListID>80000004-1434444973</ListID> 
        <FullName>University of North Carolina</FullName> 
       </CustomerRef> 
       <TxnDate>1999-01-21</TxnDate> 
       <RefNumber>9668</RefNumber> 
       <BillAddress> 
        <Addr1>University of North Carolina</Addr1> 
        <Addr2>University City Blvd</Addr2> 
        <Addr3 /> 
        <City>Charlotte</City> 
        <State>NC</State> 
        <PostalCode>9201</PostalCode> 
        <Country>United States</Country> 
       </BillAddress> 
       <InvoiceLineAdd> 
        <ItemRef> 
         <FullName>1000000000</FullName> 
        </ItemRef> 
        <Desc>Item 1 Description Goes Here</Desc> 
        <Quantity>1</Quantity> 
        <Rate>295</Rate> 
       </InvoiceLineAdd> 
       <InvoiceLineAdd> 
        <ItemRef> 
         <FullName>1000000001</FullName> 
        </ItemRef> 
        <Desc>Item 2 Description Goes Here</Desc> 
        <Quantity>5</Quantity> 
        <Rate>25</Rate> 
       </InvoiceLineAdd> 
      </InvoiceAdd> 
     </InvoiceAddRq> 
    </QBXMLMsgsRq> 
</QBXML> 

ответ

3

Можно ли создать счет-фактуру с одноразовыми пунктов или для получения недостающих элементов по требованию,

Нет .

Я не могу гарантировать, что элементы уже существуют.

Почему нет? Все остальные ...

Я знал, что QuickBooks сам может создавать предметы по запросу.

Это неверно, QuickBooks не способен создавать элементы по требованию. GUI предлагает вам создать его вручную, если элемент не существует, и вы пытаетесь ввести его в список.

Как откат, я проанализировал возвращаемое значение, создаю элемент и отправлю счет-фактуру снова, но я ищу существующую реализацию.

Другой вариант заключается в партии ваши запросы и всегда попытке создать элементы для того, чтобы гарантировать, что они существуют.

Например:

<?xml version="1.0" encoding="utf-8"?> 
<?qbxml version="7.0"?> 
<QBXML> 
    <QBXMLMsgsRq onError="continueOnError"> 
     <ItemNonInventoryAdd> 
      ... your item data here ... 
     </ItemNonInventoryAdd> 
     <InvoiceAdd> 
      ... your invoice data here ... 
     </InvoiceAdd> 
    </QBXMLMsgsRq> 
</QBXML> 

Еще примеры:

Делая это, элемент будет создан до счета-фактуры, если он Безразлично 't уже существует. Если элемент существует, QuickBooks пропустит эту часть запроса и продолжит работу со следующей.

+0

@ keith-palmer-consolibyte С уважением, вы 2-й пункт: Конечно, это возможно, но приносит много накладных расходов в моем случае (одноразовое будет здорово). 3-й: Да, вы абсолютно, я сказал неправильно. 4-й: Я тоже об этом подумал, наверное, буду придерживаться этого. Спасибо за Ваш ответ. Я просто хочу убедиться, что нет более простой реализации. – hofmeister