0

这是我正在尝试进行的更新调用。我正在指定当前的帐单地址 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>

我的问题:

  1. 如何更新作为发票记录子项的 PhysicalAddress 记录?

  2. QB 是否忽略 ID 并创建新的 PhysicalAddress 记录,完全替换原始记录?

  3. 如果它替换了旧记录,旧记录是被删除了还是仍然存在?

  4. 仅在没有 id 的情况下向更新调用添加新的 PhysicalAddress 是否存在潜在问题?

4

1 回答 1

2

在更新地址时尝试使用标签(账单/送货)属性。我已经测试过了,它工作正常。

[标签 - 标识地址使用的标签(或标签)。允许的值在 PhysicalAddressLabelType 中定义]

您可以使用 ApiExplorer 工具测试所有这些。

https://developer.intuit.com/apiexplorer?apiname=V2QBD。请让我知道它是否适合您。

更新地址时,Tag=Billing/Shipping 就足够了。在同步时,QB 关联父实体的 id [在本例中为 invoice],然后比较地址部分的标签 [shipping/billing]。它删除旧记录并分配一个新的内部 id。旧记录被删除..

谢谢

于 2013-07-06T09:11:25.273 回答