In Quickbooks Pro 2009
Ich bin Hinzufügen und Importieren list of Customers
über die C# windows application
. In Quick Book selbst Import and Export
Optionen gibt es für Kunden-Liste, aber wir haben unsere eigenen Business-Validierungen Logiken definiert und wir schieben die Daten zu Quick Book DB für Kunden.So importieren und exportieren Sie benutzerdefinierte Felder für die Kundenliste in QuickBooks
In Quick Book gibt es eine Option zum Definieren benutzerdefinierter Felder unter Additional Tab
.
Während Schnell Buch Liste der Kunden, programmatisch hinzufügen, ich bin in der Lage, die Werte für Built-In Field values
Wie Customer Name
Company Name
und Etc. hinzufügen Wenn ich versuche, die Daten für custom fields
zu schieben. Es gibt mir den Fehler ...
QuickBooks fand einen Fehler beim Parsen des bereitgestellten XML-Text-Stream.
Wenn ich die benutzerdefinierte Feld Daten Push-Operation überspringen dann definierte Felder Datenübergabe funktioniert gut.
Mein 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");
}
Was bin ich hier falsch machen .. jeder hilft ?? oder irgendwelche Vorschläge/Ideen ????
Danke für Ihre Antwort und Antwort. – RajeshKdev