首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Quickbooks集成(intranet)

Quickbooks集成(intranet)
EN

Stack Overflow用户
提问于 2013-01-29 16:38:24
回答 1查看 598关注 0票数 0

我需要集成vTiger客户关系管理与QuickBook2010。所以它就是PHP。QB服务器和运行vTiger的Linux机器在同一个办公室里。我试着弄清楚是否有一种方法可以让PHP直接与QB服务器对话,而不是使用web连接器。我们需要实时数据访问。不像真正的‘实时’,但报告需要在5-30秒内生成。只读数据,不写。有没有办法直接向QB服务器发送/接收qbXML?提前谢谢。迈克尔

EN

回答 1

Stack Overflow用户

发布于 2013-01-30 08:37:46

这是可以做到的。但请注意,对于实时数据访问,QuickBooks并不总是最可靠的集成软件--到QuickBooks的连接往往既慢又脆弱,这就是为什么您经常看到带有Web Connector的排队模型的原因。

您可以做的就是编写一个自定义的C#组件(查看SDK附带的示例,特别是这个示例: C:\Program Files (x86)\Intuit\IDN\QBSDK12.0\samples\qbdt\c-sharp\qbXML\CustomerAdd),它打开一个到QuickBooks的连接,然后执行任何操作。

"Whatever“可能是这样的:

  • 对QuickBooks运行查询,然后通过HTTP将数据返回到vTiger

  • 打开一个套接字并侦听传入的请求,在这种情况下,PHP可以连接到该套接字并提供组件请求,然后将组件请求转发给QuickBooks,然后返回响应

请注意,每隔5秒在QuickBooks中生成一份报告可能会大大降低QuickBooks的速度。根据您谈论的数据量和过滤器的不同,可能甚至不可能让QuickBooks那么快地生成报告。

同样,请注意,某些情况会导致与QuickBooks的连接失败,因此您必须优雅地处理这些问题。具体地说:

  • QuickBooks自动更新将锁定集成的应用程序
  • 如果一次登录的用户太多,您将被锁定
  • 如果其他用户进入单用户模式,您将被锁定

等。

也许如果你能提供更多关于为什么你需要如此频繁地访问报告的详细信息,我们可以提供一些额外的信息。

您的代码将如下所示:

代码语言:javascript
复制
        while (true)
        {
            string input = "your fancy qbXML request goes here";

            RequestProcessor2 rp = null; 
            string ticket = null;
            string response = null;
            try 
            {
                rp = new RequestProcessor2 ();
                rp.OpenConnection("", "Your App Name");
                ticket = rp.BeginSession("", QBFileMode.qbFileOpenDoNotCare );
                response = rp.ProcessRequest(ticket, input);
            }
            catch( System.Runtime.InteropServices.COMException ex )
            {
                MessageBox.Show( "COM Error Description = " +  ex.Message, "COM error" );
                return;
            }
            finally
            {
                if( ticket != null )
                {
                    rp.EndSession(ticket);
                }
                if( rp != null )
                {
                    rp.CloseConnection();
                }
            };

            // Do something with the response here
             ... 
        }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14578656

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档