在AX 2012中使用数组导入多个邮政地址

本文关键字:地址 导入 数组 2012 AX | 更新日期: 2023-09-27 18:21:29

我使用以下代码使用AIF=(应用程序集成框架)在AX 2012=(Microsoft Dynamics AX)中导入客户记录的多个邮政地址。我正在使用具有两个邮政地址的客户记录来测试此代码。第一次运行代码(第1次循环)时,它运行得很好,但在第二轮中失败了,这给了我数组越界的错误。查看下面的代码,有没有关于导致此错误的原因的建议?

   index = 0;
    AxdEntity_DirPartyPostalAddressView[] array = new  AxdEntity_DirPartyPostalAddressView[index];
foreach (DataRow row2 in row.GetChildRows("HdrLine"))
{
    AxdEntity_DirPartyPostalAddressView address = 
                                   new AxdEntity_DirPartyPostalAddressView
     {
         LocationName = row2["AXDirPartyPostalAddress_LocationName"].ToString(),
         Street = row2["AXDirPartyPostalAddress_Street"].ToString(),
         City = row2["AXDirPartyPostalAddress_City"].ToString(),
         State = row2["AXDirPartyPostalAddress_State"].ToString(),
         CountryRegionId = row2["AXDirPartyPostalAddress_Country"].ToString(),
         ZipCode = row2["AXDirPartyPostalAddress_zipcode"].ToString(),
         Roles = row2["AXDirPartyPostalAddress_AddRoles"].ToString()
     };
    Array.Resize<AxdEntity_DirPartyPostalAddressView>(ref array, index + 1);
    array[index] = address;
    custTable.DirParty[index].DirPartyPostalAddressView = 
                    new AxdEntity_DirPartyPostalAddressView [] { array[index] };
    index++;
}

在AX 2012中使用数组导入多个邮政地址

我猜,但似乎您正在将tmp记录添加到另一个数组中,而这个数组的大小并没有增加。

为什么不使用列表呢?

List<AxdEntity_DirPartyPostalAddressView> tmplist = new List<AxdEntity_DirPartyPostalAddressView>();