Intuit QBD v2客户查询未返回正确的未结余额

时间:2013-05-23 20:30:07

标签: c# .net sync quickbooks intuit

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

CustomerQuery custQuery = new CustomerQuery();

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

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

3 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

实体可能处于错误状态。您可以通过执行查询并设置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

如果实体成功同步确实至少发生一次,但随后Update将其推入错误状态,则需要进行恢复:

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 :(得分:0)

很可能有一些与该客户记录相关的工作。 您可以尝试使用客户过滤器端点进行查询,并将“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

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

由于