2

我正在尝试为我的员工开发一个简单的应用程序,以在远程(访问)数据库上记录他们的时间和费用,然后将其与 QuickbooksPro 同步。我已经设法让 QBFC 工作,我现在的问题是了解 Quickbooks 中的底层数据库结构(字段名称等) - 例如,我知道要添加到查询等中的元素。

我通过反复试验和查看使用 QOBDC 拉出的表找到了以下(EntityRef,CustomerRef);但是,在某个地方必须有这方面的文档——有人知道在哪里吗?

    TimeDataQry.IncludeRetElementList.Add("EntityRef")
    TimeDataQry.IncludeRetElementList.Add("CustomerRef")
    TimeDataQry.IncludeRetElementList.Add("TxnDate")
    TimeDataQry.IncludeRetElementList.Add("BillableStatus")
    TimeDataQry.IncludeRetElementList.Add("Duration")
    TimeDataQry.IncludeRetElementList.Add("TimeModified")
4

3 回答 3

1

使用 QuickBooks OSR(它在 Chrome 中效果最好):

从“选择消息”下拉列表中选择您正在处理的请求/对象类型,然后单击任何节点以查看节点上的文档。

例如,您在上面发布的内容看起来像是在查看时间跟踪条目。以下是您从 OSR 中获得的关于EntityRef的信息:

实体

QuickBooks“实体”是 QuickBooks“其他名称”列表中的客户、供应商、员工或个人。需要注意的特殊情况:

  • 在 BillToPayQuery 消息中,EntityRef 指的是供应商名称。
  • 在应收帐款帐户的 JournalCreditLine 和 JournalDebitLine 消息中,EntityRef 必须引用客户,否则不会记录交易。对于应付帐款帐户,EntityRef 必须引用供应商,否则不会记录交易。
  • 在 TimeTracking 消息中,EntityRef 不能指代客户,只能指代员工、供应商或“其他名称”列表中正在跟踪其时间的人员。

很简单,很详细。

还值得注意的是,QuickBooks API 几乎完全反映了 QuickBooks GUI。例如,在 QuickBooks GUI 中创建发票时,您会看到如下字段:

  • 顾客
  • 日期
  • 发票 #
  • 物品
  • 订单号

然后,如果您查看API 中的InvoiceAdd,您会发现以下字段:

  • 客户参考
  • 发送日期
  • 参考号
  • 项目参考
  • 订单号

将两个和两个放在一起并找出这些字段与 GUI 中显示的字段相匹配应该不难。

于 2013-12-29T01:56:08.357 回答
1

老实说,实际的 QB 数据模式是可怕的——庞大而令人困惑。不值得尝试弄清楚如何直接与他们的 API 交互。这就是像 QODBC 这样的人创建更简单的交互方式的原因之一。您购买了 QODBC 吗?

我使用 QODBC 和 RSSBus 创建了应用程序,我更喜欢 RSSBus。原因有很多,但首先,QODBC 实际上是一个使用 DNS 的驱动程序,这可能会造成混淆,并且必须在您想要使用它的每台计算机上进行设置,而 RSSBus 则没有。QODBC 和 RSSBus 所做的是将 QB 数据库包装在一种类似 sqlserver 的数据库中,因此您从 QODBC 工具中提取的任何表结构很可能与您可以通过 QBFC 使用的任何东西都没有关联。

我现在更喜欢 RSSBus,但这里有两个文档的链接:

RSSBus - http://www.rssbus.com/kb/help/RQR3-A/pg_imetracking.rst

QODBC - http://doc.qodbc.com/qodbc/Qodbc_20_us.html

此外,这个 SO 问题可能会有所帮助 - QuickBooks QBFC 解释。请注意,他说有 300 多页的文档。有点太多了。

于 2013-12-28T21:32:56.923 回答
0

这是关于表模式的 QODBC 文档: 所有表。如果您想要特定的美国相关表格分组,例如 Customer 和 AR,请查看此处: 按组划分的表格

于 2017-03-26T01:59:35.137 回答