在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++;
}
我猜,但似乎您正在将tmp记录添加到另一个数组中,而这个数组的大小并没有增加。
为什么不使用列表呢?
List<AxdEntity_DirPartyPostalAddressView> tmplist = new List<AxdEntity_DirPartyPostalAddressView>();