gpt4 book ai didi

c# - 将 asp.net 应用程序与 quickbooks 桌面版集成

转载 作者:行者123 更新时间:2023-12-02 01:13:14 26 4
gpt4 key购买 nike

我有一个 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();
}
}

最佳答案

您使用 COM 的方法可能行不通。

QuickBooks SDK/API 有点愚蠢,因为它使用 Windows COM GUI 消息泵来完成与 QuickBooks 实际通信的肮脏工作。这意味着 Windows GUI 必须 存在,以便与 QuickBooks 进行数据交换。

这对您来说将是个问题,因为您正在构建一个 Web 应用程序...它将在 IIS 内部运行,因此不会有可用的 Windows GUI session 。

如果您正在构建 SaaS 应用程序,目标是允许多个其他人将他们的 QuickBooks 文件连接到您的 Web 应用程序:

考虑查看 Intuit Partner Platform/Intuit Anywhere .请注意,这仅适用于 SaaS 类型的应用程序。基本思想是人们将他们的 QuickBooks 数据文件同步到 Intuit 的云端,然后您就可以使用 REST 网络服务来交换数据。

Intuit 甚至有一些有用的 DevKits它提供了一些示例代码和对象/方法来进行数据交换。

否则,如果您不走 Intuit Anywhere 路线,请查看 QuickBooks Web 连接器:

QuickBooks Web 连接器的全部意义在于实现与您正在执行的集成一样的集成。

这是对 the QuickBooks Web Connector 的一个很好的概述.它基本上是 QuickBooks native 理解的 qbXML 模式的简单 SOAP 包装器。

如果您下载QuickBooks SDK此文件夹中有一些示例代码:C:\Program Files (x86)\Intuit\IDN\QBSDK12.0\samples\qbdt

其中有 Web 连接器的 .NET 示例代码,应该会有帮助。

关于c# - 将 asp.net 应用程序与 quickbooks 桌面版集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14762229/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com