[英]integration asp.net application with quickbooks desktop edition
我有一個asp.net應用程序,我想將其連接到quickbooks桌面版,在Web應用程序中,我要執行以下操作:1-從quickbooks獲取客戶列表。 2-創建新發票並將其保存發送到快速簿。
這是我從示例代碼中發現的,但我想在(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會話。
如果要構建SaaS應用程序,目標是允許多個其他人將其QuickBooks文件連接到您的Web應用程序:
考慮查看Intuit合作伙伴平台/ Intuit Anywhere 。 請注意,這僅適用於SaaS類型的應用程序。 基本思想是人們將他們的QuickBooks數據文件同步到Intuit的雲中,然后您可以使用REST Web服務交換數據。
Intuit甚至還有一些有用的DevKit ,它們提供了一些示例代碼和對象/方法來進行數據交換。
否則,如果您不打算沿Intuit Anywhere路線行駛,請查看QuickBooks Web Connector:
QuickBooks Web Connector的全部目的是實現與您正在執行的集成一樣的集成。
這是QuickBooks Web Connector的良好概述。 它基本上是QuickBooks本機理解的圍繞qbXML模式的簡單SOAP包裝器。
如果您下載QuickBooks SDK,則此文件夾中包含一些示例代碼:C:\\ Program Files(x86)\\ Intuit \\ IDN \\ QBSDK12.0 \\ samples \\ qbdt
那里有用於Web連接器的.NET示例代碼,這應該會有所幫助。
我找到了此網頁: QuickBooks Integration(瘋狂計算機科學家)
表示您可以使用任何東西:
打開連接時,需要指定應用程序標識ID和名稱。 這將在QuickBooks中顯示給用戶以允許/禁止訪問。 這些是字符串,據我所知,不運行任何檢查,從而允許用戶在此放置他們喜歡的任何東西。
“顯示給用戶”位表示,如果在ASP.NET服務器上使用此對話框,則可能需要使用AutoIt或類似的方法來關閉對話框!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.