我们正在使用 QuickBooks 桌面版,遇到 QuickBooks 销售收据的一个奇怪问题 - 同步状态和状态代码 wrireBack 消息,问题详细信息如下,
首先,我们使用提供的 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
然后我们循环检查“salesReceipt.Synchronized = True”的结果,这里我们得到一些“salesReceipt.Synchronized = False”的销售收据。
第二步是我们使用“salesReceipt.Synchronized = False”获取所有销售收据 ID,并使用以下代码查询 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=Synchronized、DESCRIPTION=(成功)。在 QuickBooks 中创建的对象。等效于 StateCode 8(对于在 Data Services 中创建的对象)和 MESSAGECODE=40,MESSAGEDESC=WRTB 成功,说明:从 Data Services 发送到 QuickBooks 公司文件的请求已成功同步到公司文件中。
我们无法理解 Sales Receipt 是否为 salesReceipt.Synchronized = False,StateCode 1 和 MessageCode 40 是什么意思。
请提出解决方案,
感谢和问候,
瑞诗玛 D.