Использование массива для импорта нескольких почтовых адресов в AX 2012 - PullRequest
0 голосов
/ 27 января 2012

Я использую следующий код для импорта нескольких почтовых адресов для записи клиента в AX 2012 = (Microsoft Dynamics AX) с использованием AIF = (Application Integration Framework).Я тестирую этот код с записью клиента с двумя почтовыми адресами.В самый первый раз, когда код выполняется (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++;
}

1 Ответ

1 голос
/ 27 января 2012

Я предполагаю, но похоже, что вы добавляете свою запись tmp в другой массив, размер которого у вас не увеличился.

Почему бы вам не использовать вместо этого списки?

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