我怎样才能添加和发票在QBFC使用XML文本文件?

问题描述 投票:0回答:3

我已成立了以表单数据,它格式化为QBXML发票添加请求,然后将其保存为文本文件(.gdoc)谷歌的表的形式。我的问题是,我发现围绕建设QBXML请求,然后发送是所有基于QBFC C#示例代码;我一直无法弄清楚如何将现成的QBXML文档发送到桌面的Quickbooks作为请求。

例如,此代码不起作用,因为DoRequests()需要传递一个IMsgSetRequest也不会接受的字符串:

String xmlDoc = File.ReadAllText("J:\\My Drive\\XML Test Doc.gdoc");
IMsgSetResponse responseMsgSet = sessionManager.DoRequests(xmlDoc);

这将不能工作,因为你不能将形成一个字符串的IMsgSetRequest:

String xmlDoc = File.ReadAllText("J:\\My Drive\\XML Test Doc.gdoc");
IMsgSetRequest requestMsgSet = xmlDoc;
IMsgSetResponse responseMsgSet = sessionManager.DoRequests(requestMsgSet);

我假设(和希望)有这么我只是俯瞰一个简单的解决方案。但是,如果有,它躲避我足够长的时间,我已经决定了它的价值向你伸出人寻求帮助。提前致谢。

c# xml quickbooks qbxml qbfc
3个回答
0
投票

您需要使用QBXML而不是QBFC。 QBFC是生成QBXML的包装。既然你已经有了QBXML产生可以绕过QBFC。包括以QBXMLRP2Lib参考,下面的代码应允许您将数据发送到QuickBooks的。

String xmlDoc = File.ReadAllText("J:\\My Drive\\XML Test Doc.gdoc");
QBXMLRP2Lib.IRequestProcessor5 rp = new QBXMLRP2Lib.RequestProcessor3();
rp.OpenConnection2("AppID", "AppName", QBXMLRP2Lib.QBXMLRPConnectionType.localQBD);
string ticket = rp.BeginSession("", QBXMLRP2Lib.QBFileMode.qbFileOpenDoNotCare);
string response = rp.ProcessRequest(ticket, xmlDoc);

0
投票

你可能会发现,这个工具可以帮助:SDKTestPlus3。该工具处理QuickBooks的桌面连接,然后你可以通过XML文件了。


0
投票

QBSessionManager有,你可以通过完整的XML字符串(你从文件中读取)一个.DoRequestsFromXMLString

它的定义是:

IMsgSetResponse DoRequestsFromXMLString(string qbXMLRequest);
© www.soinside.com 2019 - 2024. All rights reserved.