我目前正在将我的php网站与桌面版的Quickbook集成起来。应用程序驻留在远程计算机上,需要与我服务器上的mysql db保持同步。经过大量研究,我似乎有两种选择:
关于第一个选项,我似乎找不到任何资源表明可以查询quickbooks db中的所有项。这将是理想的,因为我可以定期查询remote应用程序中的所有项,并插入已添加/更新的项。看起来,用于查询的xml请求要求您指定查询项。这对我所设想的是行不通的。因为我们没有从网站下任何订单,只显示当前项目/客户,也许网络连接器不是我所需要的。
这就引出了我的下一个选择,即从应用程序手动解析csv文件。我不介意这样做,因为它比设置php工具包与web连接器对话更直接,但需要手动干预才能从quickbooks导出数据文件。
有没有人有经验来完成这一任务/自动化在quickbooks桌面和远程php网站之间的数据同步?
如有任何意见或建议,敬请见谅。
发布于 2014-04-14 15:02:47
关于第一个选项,我似乎找不到任何资源表明可以查询quickbooks db中的所有项。
这绝对是非常可行的。
下面是一个完整的例子:
(该示例还可以导入所有发票、所有客户等-但如果您只想做项目,则可以将其精简)
看起来,用于查询的xml请求要求您指定查询项。
不,它们不要求您指定项。你可以选择过滤或不过滤。
请参阅此处的完整语法引用:
如果您查找ItemQuery,您可以指定一个项目名称,如果您想.或者,如果您根本不想指定任何标准,那也没关系。如果指定要筛选的名称,则它将按此筛选项。如果你不指定任何过滤器,你会得到一切。
这就引出了我的下一个选择,即从应用程序手动解析csv文件。
糟透了。:-)
有没有人有经验来完成这一任务/自动化在quickbooks桌面和远程php网站之间的数据同步?
是的很多。这不是很难。
请遵循快速启动指南,但要替换_import.php脚本,因为您希望将数据导入MySQL,而不是添加/更新QuickBooks中的内容:
如果你遵循快速启动,你应该在半小时内起床和跑步。我们也有支持论坛:
发布于 2014-04-14 00:44:35
一旦你想清楚连接是如何工作的,这并不是一个非常困难的过程。
在大多数其他这种类型的web连接中,您会在计算机上放置一些代码,这些代码可以访问quickbooks db (您的网络上有一个用于查询的开放端口的机器),然后您将向该机器发送请求以获取信息,它将查询数据库并发送响应。这将使用REST或SOAP来工作。
Quickbooks反过来也这样做,连接器与quickbooks一起放在机器上,并指向您的way服务器应用程序,然后它会不断地请求您的应用程序做一些事情。您的应用程序验证它是谁,然后连接器询问您的应用程序需要什么,并根据响应传递数据。这有点面容,但有一些很好的技术原因。
您可以查询quickbooks db的任何部分,所以我将如何做到这一点。
您可以修改这些步骤,因为您可以让您的应用程序使用cron作业或windows任务每小时/天更新所有记录,但这意味着有时数据并不完全是最新的,每次运行更新时,您的服务器都会非常繁忙。
你如何去做将取决于你对你的应用程序的使用程度。例如,对于高使用率的应用程序,我有一个服务器来显示站点,一个db服务器用于托管站点的db,而服务器只需要每隔几个小时更新一次db服务器。为此,我在更新时锁定记录,并确保客户不能直接更改任何内容(我使用了一个批处理更新作业,它将数据发送回quickbooks)。
我希望这个(非常简短)的总结有所帮助,我已经提供了一些链接,帮助我。
网络连接器Wiki,这是如何设置web连接器的一个非常好的资源。
一个类似的问题已经有人问过了,由Web开发人员回答
https://stackoverflow.com/questions/23049839
复制相似问题