QuickBooks SyncStatus问题

时间:2013-07-03 12:56:59

标签: quickbooks intuit-partner-platform quickbooks-online

我们正在使用QuickBooks桌面版,面临QuickBooks销售收据的奇怪问题 - Syncronised状态和状态代码wrireBack消息,问题详情如下步骤,

  1. 首先,我们使用提供的idSet

    获取QuickBooks销售收据
    Dim salesReceiptQuery = New Intuit.Ipp.Data.Qbd.SalesReceiptQuery() With {.Item1 = idset, _
                                                                              .Item1ElementName = Item1ChoiceType4.TransactionIdSet, _
                                                                              .IncludeTagElements = New String() {"SalesReceipt/Synchronized"}}
    
    Dim salesReceipts As System.Collections.ObjectModel.ReadOnlyCollection(Of Intuit.Ipp.Data.Qbd.SalesReceipt) = Nothing
    
    Try
        salesReceipts = salesReceiptQuery.ExecuteQuery(Of Intuit.Ipp.Data.Qbd.SalesReceipt)(QBContext)
    Catch ex As Exception
        Trace.WriteLine("SyncWatchDog Task - Exception: " & ex.Message)
    End Try
    
  2. 然后我们循环结果检查“salesReceipt.Synchronized = True”,这里我们得到一些销售收据“salesReceipt.Synchronized = False”。

    1. 第二步是我们将所有Sales Recept Id与“salesReceipt.Synchronized = False”一起使用,并使用以下代码查询Quickbooks,

       Dim syncStatusRequest As New Intuit.Ipp.Data.Qbd.SyncStatusRequest() With {.NgIdSet = list.GetNgIdSetArray}
      
       Dim syncStatusResponse = DataServices.GetSyncStatus(syncStatusRequest)
      

      当我们循环syncStatusResponce以获取“syncStatus.StateCode”时,我们得到了 STATECODE = 1, STATEDESC =同步, DESCRIPTION =(成功)。在QuickBooks中创建的对象。等效于StateCode 8(用于在Data Services中创建的对象) 和 MESSAGECODE = 40, MESSAGEDESC = WRTB成功, 描述:从Data Services发送到QuickBooks公司文件的请求已成功同步到公司文件中。

    2. 我们无法理解Sales Receipt是否为salesReceipt.Synchronized = False,StateCode 1和MessageCode 40的含义是什么。

      请建议解决方案,

      谢谢&的问候,

      Reshma D。

2 个答案:

答案 0 :(得分:1)

您可以通过指定ErroredObjectsOnly =“true”属性来尝试检索处于同步错误状态的对象。

如果在响应中获得任何对象,则尝试使用状态API查看这些错误对象的同步状态,否则(成功)调用SalesReceipt上的GetAll API以查看是否获得所有这些对象(如默认它返回已成功创建的对象。

参考 - https://developer.intuit.com/docs/0025_quickbooksapi/0050_data_services/v2/0500_quickbooks_windows/0600_object_reference/syncstatus

您可以使用ApiExplorer工具来测试此用例。

链接 - https://developer.intuit.com/apiexplorer?apiname=V2QBD

答案 1 :(得分:1)

您是否可以查询从salesReceipt.Synchronized = False中检索到的其他一些检索到的记录? 检查他们是否也有StateCode 1。 可能是同步过滤器无法正常工作并检索所有数据的问题。