这是我正在努力制作的更新电话。我正在指定当前的帐单地址ID(从上次检索),以便更新PhysicalAddress记录。但是,帐单邮寄地址ID会在后续检索调用中更改。
<?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>
我的问题:
如何更新作为发票记录子项的PhysicalAddress记录?
QB是否忽略ID并创建新的PhysicalAddress记录,完全替换原始记录?
如果它替换旧记录,旧记录是删除还是仍然存在?
仅在没有ID的情况下向更新调用添加新物理地址是否存在潜在问题?
答案 0 :(得分:2)
在更新地址时尝试使用标记(结算/运送)属性。我测试了同样的,它工作正常。
[标签 - 标识地址使用的标签(或标签)。允许的值在PhysicalAddressLabelType]
中定义您可以使用ApiExplorer工具测试所有这些。
https://developer.intuit.com/apiexplorer?apiname=V2QBD。 如果它适合你,请告诉我。
标签=结算/运输在更新地址时已足够。在同步时,QB将父实体的ID [在本例中为发票]关联,然后比较地址部分[发货/开票]的标签。它删除旧记录并分配新的内部ID。旧记录被删除..
由于