2013-07-03 27 views
0

我們使用QuickBooks的桌面版,面向與QuickBooks的銷售收據一個奇怪的問題 - Syncronised地位和國家代碼wrireBack消息,問題的細節是在步驟如下,QuickBooks的SYNCSTATUS問題

  1. 首先,我們獲取的QuickBooks銷售票據的使用提供idSet

    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 
    

然後我們循環枝條結果查詢「salesReceipt.Synchronized =真」,在這裏我們得到了一些銷售Recepipt與「SA lesReceipt.Synchronized = False「。

  1. 第二步是我們採取的所有銷售招待ID以 「salesReceipt.Synchronized =假」,並與下面的代碼查詢的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公司文件的請求已成功同步到公司文件中。

,我們無法理解,如果銷售收據salesReceipt.Synchronized =假,什麼是StateCode 1和MessageCode 40

請提出解決方案的含義,

感謝&問候,

Reshma D.

回答

1

您可以嘗試通過指定錯誤對象來檢索處於同步錯誤狀態的對象Only =「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

+0

我們正在檢查SalesRecepit的SynscStatus之前已經檢查Errorstate,大公不在ErrorState,但在個別銷售Recipt對象 - 「salesReceipt.Synchronized =假」,並在SyncStatusResponce - StateCode = 1,並MessageCode = 40 – Reshma

+0

能您共享SalesReceipt創建XML。我會盡力重現這個用例。 –

1

可以查詢從salesReceipt.Synchronized =假太檢索到的其他一些檢索到的記錄? 檢查它們是否也有StateCode 1. 這可能是同步過濾器無法正常工作並檢索所有數據的問題。

+0

是的,我查過了。但似乎在同步過濾器中沒有問題。 – Reshma