2013-04-02 47 views
1

我已經編輯了該問題,以便現在我已經調查了更多問題,使它更加乾淨和專注。當交易日期過去時,通過IPP向Quickbooks發送訂單不起作用

同步訂單適用於今天的日期和未來日期,但不適用於過去的日期。我現在正在API Explorer中直接測試。

這裏是添加訂購請求和響應:

<!--Add order request--> 
<Add xmlns="http://www.intuit.com/sb/cdm/v2" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    RequestId="ecc53f53d70f0a52de4c88021721ba32" 
    xsi:schemaLocation="http://www.intuit.com/sb/cdm/v2 ./RestDataFilter.xsd "> 
    <OfferingId>ipp</OfferingId> 
    <ExternalRealmId>688875295</ExternalRealmId> 
    <Object xsi:type="SalesOrder"> 
     <Header> 
      <DocNumber>6</DocNumber> 
      <TxnDate>2010-12-25</TxnDate> 
      <CustomerId idDomain="QB">4</CustomerId> 
      <SalesRepId idDomain="QB">1</SalesRepId> 
     </Header> 
     <Line> 
      <ItemId idDomain="QB">1</ItemId> 
      <Qty>6</Qty> 
     </Line> 
    </Object> 
</Add> 

<!--Add order response--> 
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<RestResponse xmlns="http://www.intuit.com/sb/cdm/v2"> 
    <Success RequestId="ecc53f53d70f0a52de4c88021721ba32"> 
     <ObjectRef> 
      <Id idDomain="NG">802721</Id> 
      <SyncToken>1</SyncToken> 
      <LastUpdatedTime>2013-04-29T15:26:53Z</LastUpdatedTime> 
     </ObjectRef> 
     <RequestName>SalesOrderAdd</RequestName> 
     <ProcessedTime>2013-04-29T15:26:53Z</ProcessedTime> 
    </Success> 
</RestResponse> 

這裏是同步狀態和同步活性。 SalesOrder只有一個實體,但時間不匹配,所以我不相信它引用了我通過API Explorer添加的相同順序。另外,我添加的訂單也沒有出現在Quickbooks中。

<SyncStatusResponse> 
<NgIdSet> 
<NgId>802721</NgId> 
<NgObjectType>SalesOrder</NgObjectType> 
</NgIdSet> 
<RequestId>DB7F4BF877006079E040900A0F1B14C1</RequestId> 
<StateCode>8</StateCode> 
<StateDesc>Record netted with QB</StateDesc> 
<MessageCode>70</MessageCode> 
<MessageDesc>MBL Netter success using QB SDK ext_ack_id</MessageDesc> 
<ResponseLogTMS>2013-04-29T15:38:02.0Z</ResponseLogTMS> 
</SyncStatusResponse> 


<SyncActivityResponse> 
<SyncType>Writeback</SyncType> 
<StartSyncTMS>2013-04-10T12:42:21.0</StartSyncTMS> 
<EndSyncTMS>2013-04-29T08:38:02.0</EndSyncTMS> 
<EntityName>SalesOrder</EntityName> 
<EntityRowCount>20</EntityRowCount> 
</SyncActivityResponse> 

從同步狀態響應,狀態代碼8指

記錄網紋。同步。在Data Services中創建的對象。 Sync Manager已確認同步該對象並將其NG ID映射到QuickBooks中的QB ID。等同於StateCode 1(用於在QuickBooks中創建的對象)。

消息代碼70根據其描述似乎沒問題,但它沒有在documentation中列出。

+0

你能張貼你的要求和迴應嗎? –

+0

另外,如果您的創建請求成功但它不同步,則需要檢查同步活動/同步狀態,並確保同步時沒有錯誤。 –

+0

@JarredKeneally我給這個問題增加了細節。對於同步活動/同步狀態,你的意思是Intuit Sync Manager?我想出瞭如何查看日誌文件,並且有15個日誌文件。這是你指的是什麼? (對不起,我對這個和整體發展都是全新的)。 – guptron

回答

2

在QuickBooks Destop,默認情況下只在當前財年的交易被顯示。您可以嘗試將日期過濾器更改爲「全部」,以查看銷售訂單是否生成了它?

+0

我甚至沒有注意到這一點。謝謝! – guptron

2

所以你的請求成功了,但是在同步運行後你沒有在QuicKBooks中看到它。 檢查對象的同步狀態,或者您可以通過調用這些API

http://docs.developer.intuit.com/0025_Intuit_Anywhere/0050_Data_Services/v2/0500_QuickBooks_Windows/0600_Object_Reference/SyncActivity

http://docs.developer.intuit.com/0025_Intuit_Anywhere/0050_Data_Services/v2/0500_QuickBooks_Windows/0600_Object_Reference/SyncStatus

即使你的請求成功,纔可以通過同步到QuickBooks的它必須看到所有的同步活動通過要在桌面上創建/更新的業務規則。

如果您的對象遇到錯誤(可以說它是重複的),那麼您可以在查詢中添加一個錯誤的對象過濾器來查詢它。

問候
震動

+0

感謝Jarred,你能否告訴我如何通過PHP DevKit完成這項工作?我也在我的問題中發佈了正確的請求/回覆。 – guptron

+0

我不是很熟悉PHP,只有.Net和Java。對不起 –

+0

沒問題,我會檢查論壇。謝謝。 – guptron

相關問題