3

我们目前正在使用 Windows QBSDK 与 QuickBooks 进行交互。我们正在评估未来的 IPP。但是,QBSDK 使用 ListID's / TransactionID's 来识别对象,而 IPP 使用不同的方案。有没有办法确定两者之间的映射?

4

1 回答 1

4

在 IDN 上问了同样的问题,并被告知无法执行此翻译。但是,在合作伙伴的一点帮助下,仔细观察 IPP 和 QuickBooks 之间的结果,我得到了一个相当不错的答案。

QuickBooks 中的典型 ID 如下所示:

80000001-1296949588

第一部分是标识符,第二部分是某种形式的时间戳。

将第一部分视为 32 位十六进制数并关闭高位。在这种情况下,您将获得 1。

如果您先在 QB 中创建记录,然后同步到 IPP,您将找到以这种方式标识的记录:

<Id idDomain="QB">1</Id>

如果您首先在 IPP 中创建记录,您将找到以这种方式标识的记录:

<Id idDomain="NG">1</Id>

同步后,您将找到外部记录参考,例如:

<ExternalKey idDomain="QB">3</ExternalKey>

这将与 QuickBooks 中的事务 id 匹配:

80000003-1299163737

不幸的是,这种转换不是同构的,因为 QuickBooks 中标识符末尾附加了时间戳。因此,将 QuickBooks ID 转换为基于 IPP 的 ID 是很容易执行的。以另一种方式翻译需要枚举 QuickBooks 中的记录并匹配 ID。

于 2012-02-13T19:09:03.990 回答