0

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

CustomerQuery custQuery = new CustomerQuery();

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

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

4

3 回答 3

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

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

谢谢

于 2013-06-10T09:24:10.870 回答
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

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

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),但它没有记录,因此它可能无法正常工作。

于 2013-05-28T17:23:56.853 回答
0

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

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

于 2013-05-27T08:21:49.077 回答