2017-08-09 8 views
0
<?xml version="1.0" encoding="utf-16"?><?qbxml version="13.0"?><QBXML> 
    <QBXMLMsgsRq onError="stopOnError"> 
     <InvoiceModRq> 
      <InvoiceMod> 
       <TxnID>983C-1639586336</TxnID>  
       <EditSequence>1639586895</EditSequence>  
       <RefNumber>308_17</RefNumber>   
       <Other>INVU</Other>  
       <InvoiceLineMod> 
        <TxnLineID>-1</TxnLineID>   
         <ItemRef> 
          <FullName>MP3-C </FullName> 
         </ItemRef>   
         <Desc>Harley Davidson 1950 80hp bike </Desc>   
         <Quantity>1.00</Quantity>   
         <Amount>5.00</Amount>  
         <Other1>308_17</Other1>   
          <Other2>13041</Other2> 
          </InvoiceLineMod> 
          </InvoiceMod> 
         </InvoiceModRq> 
         </QBXMLMsgsRq> 
        </QBXML> 

Dans l'entreprise où je travaille, nous avons les technologies suivantes dans l'environnement Dev - propre application Web C# de société appelée companyABCDevapplication - l'installation de Quick Books Web Connector - installation de livres rapide QuickBooks bureau 2017 Version Premier essaiQBXML - Comment ajouter de nouveaux articles à la volée lorsque je modifie une facture avec InvoiceModRq?

J'ai été chargé de la création d'un service Web d'interface qui sera appelée par une installation du connecteur Web Quick Books pour communiquer avec notre companyABCDevapplication

Voici les technologies utilisées pour le développement local:

  • Intuit QuickBooks 2017 Version Bureau Premier essai

  • Intuit QuickBooks Web Connector version 2.2.0.71

  • Microsoft Visual Studio Enterprise 2015

  • Version 14.0.25431.01 Update 3

  • Microsoft .NET FrameworkVersion 4.6.01055

Malheureusement, quand j'envoie le code XML affiché en haut de ce poste au connecteur Web QuickBooks, je reçois l'erreur suivante:

<?xml version=\"1.0\" ?><QBXML> 
    <QBXMLMsgsRs> 
    <InvoiceModRs statusCode=\"3140\" statusSeverity=\"Error\" statusMessage=\"There is an invalid reference to QuickBooks Item &quot;MP3-C&quot; in the Invoice. \" /> 
    </QBXMLMsgsRs> 
</QBXML> 

Je voulais modifier une facture sans se soucier de savoir si le réfElément questionis déjà connu par Quickbooks. Je veux fondamentalement à nouvel article qui n'a pas été entré dans Quickbooks en utilisant des balises ItemInventoryAdd ou ItemNonInventoryAdd. Comment puis-je ajouter de nouveaux articles à la volée lorsque je modifie une facture en utilisant InvoiceModRq?

Répondre

0

How do I go about adding brand new items on the fly when i modify an Invoice using InvoiceModRq?

Vous ne pouvez pas. QuickBooks ne vous permet pas de faire ce que vous essayez de faire.

Qu'est-ce que vous pouvez faire, est une sorte de truquer en envoyant toujours un ItemInventoryAddRq qui précède immédiatement votre noeud InvoiceAddRq ou InvoiceModRq, pour l'essentiel toujours essayer de recréer l'élément avant de faire votre facture.

Si l'élément existe déjà, l'ajout échouera avec une erreur, mais la demande suivante sera toujours traitée.

Si vous le faites emmitouflé dans un seul QBXMLMsgsRq alors vous voulez vous assurer que vous utilisez:

onError="continueOnError"

Au lieu de:

onError="stopOnError"

Alors que QuickBooks poursuit le traitement le reste des demandes même si les demandes d'ajout d'élément échouent.