aay*_*yad 2 c# desktop quickbooks
我有一个 asp.net 应用程序,我想将它连接到 quickbooks 桌面版,在 web 应用程序中我想执行以下操作: 1- 从 quickbooks 中获取客户列表。2- 创建新发票并保存发送到quickbooks。
这是我发现的示例代码,但我想知道我必须在 (sessionManager.BeginSession("", ENOpenMode.omDontCare); 中的 AppId 参数中设置的值是多少。
private void getCustomers()
{
bool sessionBegun = false;
bool connectionOpen = false;
QBSessionManager sessionManager = null;
try
{
//Create the session Manager object
sessionManager = new QBSessionManager();
//Create the message set request object to hold our request
IMsgSetRequest requestMsgSet = sessionManager.CreateMsgSetRequest("US", 8, 0);
requestMsgSet.Attributes.OnError = ENRqOnError.roeContinue;
//Connect to QuickBooks and begin a session
sessionManager.OpenConnection(@"D:\A to Z Wholesale Inc.QBW", "QuickBooks Integration Demo");
connectionOpen = true;
sessionManager.BeginSession("", ENOpenMode.omDontCare);
sessionBegun = true;
ICustomerAdd customerAddRq = requestMsgSet.AppendCustomerAddRq();
customerAddRq.Name.SetValue("Amer");
ICustomerQuery customer = requestMsgSet.AppendCustomerQueryRq();
//Send the request and get the response from QuickBooks
IMsgSetResponse responseMsgSet = sessionManager.DoRequests(requestMsgSet);
IResponse response = responseMsgSet.ResponseList.GetAt(0);
ICustomerRet customerRet = (ICustomerRet)response.Detail;
}
catch (Exception ex)
{
}
finally
{
//End the session and close the connection to QuickBooks
if (sessionBegun)
{
sessionManager.EndSession();
}
if (connectionOpen)
{
sessionManager.CloseConnection();
}
}
Run Code Online (Sandbox Code Playgroud)
}
您使用 COM 的方法可能行不通。
QuickBooks SDK/API 有点愚蠢,因为它使用 Windows COM GUI 消息泵来完成与 QuickBooks 实际通信的肮脏工作。这意味着必须存在Windows GUI才能与 QuickBooks 进行数据交换。
这对您来说将是一个问题,因为您正在构建一个 Web 应用程序……它将在 IIS 内部运行,因此没有可用的 Windows GUI 会话。
如果您正在构建 SaaS 应用程序,目标是允许多个其他人将他们的 QuickBooks 文件连接到您的 Web 应用程序:
考虑查看Intuit 合作伙伴平台/Intuit Anywhere。请注意,这仅适用于 SaaS 类型的应用程序。基本思想是人们将他们的 QuickBooks 数据文件同步到 Intuit 的云,然后您可以使用 REST Web 服务来交换数据。
Intuit 甚至有一些有用的DevKits,它们提供了一些示例代码和对象/方法来进行数据交换。
否则,如果您不走 Intuit Anywhere 路线,请查看 QuickBooks Web 连接器:
QuickBooks Web 连接器的全部意义在于实现您正在执行的集成。
这是QuickBooks Web 连接器的一个很好的概述。它基本上是 QuickBooks 本地理解的 qbXML 模式的简单 SOAP 包装器。
如果您下载QuickBooks SDK,此文件夹中有一些示例代码:C:\Program Files (x86)\Intuit\IDN\QBSDK12.0\samples\qbdt
那里有 Web 连接器的 .NET 示例代码,应该会有所帮助。
| 归档时间: |
|
| 查看次数: |
7262 次 |
| 最近记录: |