In Quickbooks Pro 2009
Sto aggiungendo e importando list of Customers
tramite C# windows application
. Nel libro rapido stesso le opzioni Import and Export
sono disponibili per l'elenco clienti, ma abbiamo definito le nostre logiche di convalida aziendale e stiamo trasferendo i dati al DB libro rapido per i clienti.Come importare ed esportare campi personalizzati per l'elenco clienti in QuickBooks
In Quick Book è disponibile un'opzione per definire campi personalizzati sotto Additional Tab
.
Mentre a livello di codice l'aggiunta rapida Libro Elenco dei clienti, sono in grado di aggiungere i valori per Built-In Field values
Come Customer Name
Company Name
ed ecc Se provo a spingere i dati per custom fields
. Mi ha dato l'errore ...
QuickBooks ha rilevato un errore durante l'analisi del flusso di testo XML fornito.
Se salto l'operazione di spinta dei dati del campo personalizzato, i campi definiti funzionano correttamente.
My Code:
XmlDocument inputXMLDoc = new XmlDocument();
inputXMLDoc.AppendChild(inputXMLDoc.CreateXmlDeclaration("1.0", null, null));
inputXMLDoc.AppendChild(inputXMLDoc.CreateProcessingInstruction("qbxml", "version=\"2.0\""));
XmlElement qbXML = inputXMLDoc.CreateElement("QBXML");
inputXMLDoc.AppendChild(qbXML);
XmlElement qbXMLMsgsRq = inputXMLDoc.CreateElement("QBXMLMsgsRq");
qbXML.AppendChild(qbXMLMsgsRq);
qbXMLMsgsRq.SetAttribute("onError", "stopOnError");
XmlElement custAddRq = inputXMLDoc.CreateElement("CustomerAddRq");
qbXMLMsgsRq.AppendChild(custAddRq);
custAddRq.SetAttribute("requestID", "1");
XmlElement custAdd = inputXMLDoc.CreateElement("CustomerAdd");
custAddRq.AppendChild(custAdd);
//In-Built Columns
custAdd.AppendChild(inputXMLDoc.CreateElement("Name")).InnerText = Name;
custAdd.AppendChild(inputXMLDoc.CreateElement("AccountNumber")).InnerText = AccountNumber;
//Defined Custom Columns
custAdd.AppendChild(inputXMLDoc.CreateElement("CUSTFLD1")).InnerText = JRNL_NO;
String name = CustName.Text.Trim();
string input = inputXMLDoc.OuterXml;
//Push the Data to do the qbXMLRP request
RequestProcessor2 rp = null;
string ticket = null;
string response = null;
try
{
rp = new RequestProcessor2();
rp.OpenConnection("", "IDN CustomerAdd C# sample");
ticket = rp.BeginSession("", QBFileMode.qbFileOpenDoNotCare);
response = rp.ProcessRequest(ticket, input);
}
catch (System.Runtime.InteropServices.COMException ex)
{
MessageBox.Show("COM Error Description = " + ex.Message, "COM error");
}
Che cosa sto facendo di sbagliato qui .. qualsiasi aiuta ?? o qualche suggerimento/idee ????
Grazie per la risposta e la risposta. – RajeshKdev