由于合并,与 Web 连接器同步的 QuickBooks 数据不同步

问题描述

当您合并两个实体时,远程系统上的 QuickBooks 实体与 QuickBooks Desktop 不同步。我相信任何可合并的实体都会发生这种情况,但我将以客户为例:

在 QuickBooks 中创建了一个客户,远程系统在查询响应中接收到该客户:

QB            remote system
------------  -------------
C1 Acme,Inc  C1 Acme,Inc

然后有人添加一个类似(“重复”)的客户。远程系统收到查询响应中的第二个客户:

QB             remote system
-------------  -------------
C1 Acme,Inc   C1 Acme,Inc
C2 Acme Inc.   C2 Acme Inc.

有人在 QuickBooks 中将客户 1 合并为客户 2。

QB                 remote system
-----------------  -------------
C1 MERGED INTO C2  C1 Acme,Inc
C2 Acme Inc.       C2 Acme Inc.

QuickBooks 和 Web 连接器中至少有 3 件事不会发生(不一定按重要性排序):

  1. C2 的修改日期没有改变(我不是 100% 肯定这一点,但相信这是真的)
  2. 不知道“源”客户 C1 刚刚合并到“目标”客户 C2。
  3. 同样重要的是,C1 并未包含在 ListDeletedQueryRs 中,即使它永远消失了(听起来很像一个删除,当时它在合并前不久可用,现在它永远消失了)。

现在远程系统不同步,并且不能在不查询完整客户列表的情况下与 QuickBooks 同步,以检测“离开”合并的客户已被有效删除。如果我想让他们在远程系统上重新同步,在重新查询完整的客户列表(其中 99.99% 我不需要,因为我已经拥有它们的最新整体)后,我现在必须遍历每个远程客户并跟踪我 [不必要地] 必须查询的完整客户列表中哪些没有匹配项。

此外,我无法知道这两个客户已合并,因此无法将相关数据(例如在远程系统上创建的发票)从合并离开的客户 C1 移动到保留的客户, C2.

我希望我对上述内容错误的,并且我遗漏了一些明显或有创意的内容,这些内容将阻止所有客户重新查询以使远程系统恢复同步的需要,并让我知道将相关数据传输给剩下的客户。

我在写这篇文章时的一个想法是,例如,当我要同步 C1 的发票时,我可以首先通过 ListID 查询 C1。这可以告诉我客户已经离开并且不要尝试同步发票。因此,我可以将该客户标记为“可能已合并”,但我仍然缺乏有关该客户合并到何处的关键信息。没有它,远程系统上的发票就是不必要的孤儿!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...