我对qbxml有一个问题。
我正试图把qb的客户,物品等转移到变焦本上。我想先从quickbooks获得50个客户,然后调用zohobooks在那里创建联系人。从quickbooks到zohobooks,又有50位客户。
问题是,在调用zohobooks之后,我确定如何继续查询呢?
当我尝试使用来自第一个查询响应的相同iteratorID时,我从QB中一无所获。
我正在使用.net构建桌面应用程序,请告诉我跟踪迁移和我在哪里的最佳选择。
假设我有150个客户,并且由于某种原因在100个客户之后停止迁移,那么在这种情况下,下次如何才能得到最后50个客户呢?
public string customerQueryXml()
{
XmlDocument inputXMLDoc = new XmlDocument();
inputXMLDoc.AppendChild(inputXMLDoc.CreateXmlDeclaration("1.0", null, null));
inputXMLDoc.AppendChild(inputXMLDoc.CreateProcessingInstruction("qbposxml", "version=\"1.0\""));
XmlElement qbXML = inputXMLDoc.CreateElement("QBPOSXML");
inputXMLDoc.AppendChild(qbXML);
XmlElement qbXMLMsgsRq = inputXMLDoc.CreateElement("QBPOSXMLMsgsRq");
qbXML.AppendChild(qbXMLMsgsRq);
qbXMLMsgsRq.SetAttribute("onError", "stopOnError");
XmlElement customerQueryRq = inputXMLDoc.CreateElement("CustomerQueryRq");
qbXMLMsgsRq.AppendChild(customerQueryRq);
//customerQueryRq.SetAttribute("requestID", "1");
//customerQueryRq.SetAttribute("iterator", "Start");
customerQueryRq.SetAttribute("requestID", "2");
customerQueryRq.SetAttribute("iterator", "Continue");
customerQueryRq.SetAttribute("iteratorID", "{A1601C19-C6DC-43C0-AE43-6F45088C39F2}");
// for test only, read 10 customers
XmlElement MaxReturned = inputXMLDoc.CreateElement("MaxReturned");
customerQueryRq.AppendChild(MaxReturned).InnerText = "50";
XmlElement ownerID = inputXMLDoc.CreateElement("OwnerID");
customerQueryRq.AppendChild(ownerID).InnerText = "0";
XmlElement timeModifiedRangeFilter = inputXMLDoc.CreateElement("TimeModifiedRangeFilter");
customerQueryRq.AppendChild(timeModifiedRangeFilter);
XmlElement fromTimeModified = inputXMLDoc.CreateElement("FromTimeModified");
timeModifiedRangeFilter.AppendChild(fromTimeModified).InnerText = "1980-01-01T00:00:00";
XmlElement toTimeModified = inputXMLDoc.CreateElement("ToTimeModified");
timeModifiedRangeFilter.AppendChild(toTimeModified).InnerText = DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ss");
return inputXMLDoc.OuterXml;
}编辑:--我注意到我必须在同一个请求中使用iteratorID。顺便说一下,我对qbxml本身没有问题。我的问题是如何继续查询客户、商品或其他其他请求?
发布于 2019-03-22 03:34:54
迭代器必须在单个Session中使用。例如,这将起作用:
虽然这是行不通的,也不是QuickBooks所支持的:
https://stackoverflow.com/questions/55266900
复制相似问题