【问题标题】:Intuit QBD v2 customer query not returning correct open balanceIntuit QBD v2 客户查询未返回正确的未结余额
【发布时间】:2013-05-23 20:30:07
【问题描述】:

我刚刚开始使用 QBD v2 .net sdk,并开始尝试简单的客户查询。我对查询没有过滤器,只是将返回的列表绑定到网格。我的问题是,我将 OpenBalance.Amount 绑定到一个列,它返回 0 而不是正确的数量。我需要设置查询对象中的某些内容以获得正确的未结余额,或者可能需要在从我的文件到 Intuit 云的同步过程中更改某些内容?我使用的代码很简单:

CustomerQuery custQuery = new CustomerQuery();

IEnumerable<Customer> oCustomers = custQuery.ExecuteQuery<Customer>(context);

就像我说的,查询返回的是我希望看到的客户,但未结余额不正确。请让我知道我缺少什么。

【问题讨论】:

  • 如果您 100% 确定 Sync Manager 正在运行(因此事情已同步)并且您仍然看到不正确的未结余额,那么您应该将您的 XML 请求和 XML 响应提交给 Intuit 作为支持票,以便他们调查。

标签: c# .net sync quickbooks intuit


【解决方案1】:

实体可能处于错误状态。您可以通过执行查询并设置 ErroredObjectsOnly=true 来检查。

http://docs.developer.intuit.com/0025_Intuit_Anywhere/0050_Data_Services/v2/0500_QuickBooks_Windows/0100_Calling_Data_Services/0015_Retrieving_Objects#Objects_in_Error_State

如果实体处于错误状态,您可以使用 SyncStatus API 查询具体原因:

http://docs.developer.intuit.com/0025_Intuit_Anywhere/0050_Data_Services/v2/0500_QuickBooks_Windows/0600_Object_Reference/SyncStatus

从那里,您需要删除或恢复处于错误状态的对象,具体取决于是否发生了同步。

删除(未发生同步):

http://docs.developer.intuit.com/0025_Intuit_Anywhere/0050_Data_Services/v2/0500_QuickBooks_Windows/0100_Calling_Data_Services/Deleting_an_Object

如果实体至少发生了一次成功的同步,但随后更新将其推入错误状态,您将需要执行还原:

http://docs.developer.intuit.com/0025_Intuit_Anywhere/0050_Data_Services/v2/0500_QuickBooks_Windows/0100_Calling_Data_Services/Reverting_an_Object

一旦您从 SyncStatus API 知道原因后,您也可以尝试直接对处于错误状态的实体执行更新 (Mod),但它没有记录,因此它可能不起作用。

【讨论】:

  • 感谢您的回复。我的所有对象都没有处于错误状态,但是,当我使用同步过滤器时,我发现所有对象都处于非同步状态,这解释了错误的平衡问题。我会做更多的研究,看看如何让它们处于同步状态。再次感谢您的指导:)
【解决方案2】:

您能否尝试从 apiexplorer 调用“Get by ID”api 并检查您是否遇到同样的问题。 链接-http://apiexplorer.developer.intuit.com

您也可以参考以下链接获取一些相关代码sn-ps。 https://developer.intuit.com/docs/0025_quickbooksapi/0055_devkits/0200_ipp_java_devkit/0800_crud_examples

【讨论】:

  • 我使用了 apiexplorer 并收到了与其他查询相同的响应 XML。余额在文件中显示为 5,040.77 时返回为 0。客户处于活动状态,单击客户中心的未结余额链接会显示 5,070.77 金额。由于某种原因,同步管理器似乎没有将此数据发送到 Intuit 云。 QB 中是否有我应该查看的设置以确保所有信息都被同步?
【解决方案3】:

很可能有一些与该客户记录相关的工作。 您能否尝试使用将“OpenBalanceWithJobs”标志设置为 true 的客户过滤器端点进行查询。

<CustomerQuery xmlns="http://www.intuit.com/sb/cdm/v2">
  <OpenBalanceWithJobs>true</OpenBalanceWithJobs>
</CustomerQuery >

端点 - https://internal.services.qdc.intuit.com/sb/customer/v2/

在响应 xml 中,您应该得到与工作相关的未结余额。

...
<OpenBalanceWithJobs>
<CurrencyCode>USD</CurrencyCode>
<Amount>12420.98</Amount>
</OpenBalanceWithJobs>
...

您可以尝试使用 apiexplorer 工具来测试这个用例。 链接-https://developer.intuit.com/apiexplorer?apiname=V2QBD

如果它解决了这个问题,请告诉我们。

谢谢

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-10
    • 2021-02-15
    相关资源
    最近更新 更多