2013-07-06 32 views
0

這是我正在嘗試的更新調用。我正在指定當前帳單地址標識(來自上次檢索)以更新PhysicalAddress記錄。但是,帳單地址ID在後續檢索調用中發生變化。如何更新發票中的PhysicalAddress對象?

<?xml version="1.0" encoding="utf-16"?> 
<Mod xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" RequestId="96fbbfedaabe4fe88988aa4de95adf47" xmlns="http://www.intuit.com/sb/cdm/v2"> 
    <Object xsi:type="Invoice"> 
    <Id idDomain="NG">196223</Id> 
    <SyncToken>26</SyncToken> 
    <Header> 
     <TxnDate>2013-05-30</TxnDate> 
     <Note>New Note Here</Note> 
     <CustomerId idDomain="QB">18</CustomerId> 
     <DueDate>2013-06-30</DueDate> 
     <BillAddr> 
     <Id idDomain="QB">000000000000034K</Id> 
     <Line1>1234 Lewis Ave</Line1> 
     <City>Chicago</City> 
     <Country>USA</Country> 
     <CountrySubDivisionCode>IL</CountrySubDivisionCode> 
     <PostalCode>62883</PostalCode> 
     <Default>1</Default> 
     <Tag>Billing</Tag> 
     </BillAddr> 
    </Header> 
    <Line> 
     <Id idDomain="QB">29</Id> 
     <ItemId idDomain="NG">145879</ItemId> 
     <Qty>10</Qty> 
    </Line> 
    <Line> 
     <Id idDomain="QB">30</Id> 
     <ItemId idDomain="QB">4</ItemId> 
     <Qty>22</Qty> 
    </Line> 
    </Object> 
</Mod> 

我的問題:

  1. 你如何更新PhysicalAddress記錄是發票記錄的孩子?

  2. QB是否忽略ID並創建一個新的PhysicalAddress記錄,完全替換原始記錄?

  3. 如果它替換了舊記錄,舊記錄是否被刪除或仍然存在?

  4. 只是將新的PhysicalAddress添加到沒有ID的更新調用中是否存在潛在的問題?

回答

2

更新地址時嘗試使用標籤(Billing/Shipping)屬性。我測試過一樣,它工作正常。

[標籤 - 標籤(或標籤),標識使用的地址。允許的值在PhysicalAddressLabelType中定義]

您可以使用ApiExplorer工具測試所有這些。

https://developer.intuit.com/apiexplorer?apiname=V2QBD。 請讓我知道它是否適合你。

標籤=更新地址時,帳單/發貨已足夠。在同步時,QB將父母實體的ID [在這種情況下爲發票]關聯起來,然後比較地址部分[shipping/billing]的標籤。它刪除舊記錄並分配一個新的內部ID。舊記錄被刪除..

謝謝

+0

從他的例子,它看起來像他已*是*使用標記=計費節點,對不對? –

+1

標籤=更新地址時,記帳/發貨就足夠了。爲了清楚起見,我在原始文章中添加了更多文字。謝謝 –

+0

謝謝你們兩位。我總是能夠更新QB中的地址,但是擔心在更新後可能會在系統中存在孤立的PhysicalAddress對象。因此,如果我理解正確,QB會用新記錄替換舊記錄,並且不會留下舊記錄的痕跡。另外,在更新地址時,您不必擔心該ID;你只需指定正確的標籤。正確? – geeljire