2012-01-26 1 views
0

Я использую следующий код для импорта нескольких почтовых адресов для записи клиента в AX 2012 = (Microsoft Dynamics AX) с использованием AIF = (Application Integration Framework). Я тестирую этот код с записью клиента с двумя почтовыми адресами. В первый раз, когда код запускается (1-й цикл), он проходит отлично, но во втором раунде он терпит неудачу, давая мне массив из связанной ошибки. Любые предложения о том, что может вызвать эту ошибку, глядя на код ниже?Использование массива для импорта нескольких почтовых адресов в AX 2012

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++; 
} 
+0

Не могли бы вы добавить еще код. Не видя больше о 'array' или' index', трудно сказать, почему вы получаете ошибку. –

+0

Не могли бы вы объяснить, что такое AX и AIF, поэтому такие люди, как я, могут это понять. Не могли бы вы также указать точное исключение? – oleksii

+0

Я добавил полный код для этого цикла, а также сведения об аббревиатуре. Спасибо – Shazam

ответ

1

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

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

List<AxdEntity_DirPartyPostalAddressView> tmplist = new List<AxdEntity_DirPartyPostalAddressView>(); 
Смежные вопросы