AXForum  
Zurück   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Kennwort vergessen?
Registrieren Forum Rules Hilfe Benutzerliste Heutige Beiträge Suchen

 
 
Themen-Optionen Thema durchsuchen Ansicht
Alt 14.08.2015, 10:33   #1  
Loengrinchik ist offline
Loengrinchik
Участник
 
9 / 10 (1) +
Registriert seit: 02.11.2014
Глюк(?) при импорте в Excel через .Net
AX 2009.Kernel Version 5.0.1600.2967; Application VErsion 5.0.1500.6491

Импортирую из Excel через .Net.
Сначала идет блок данных, в котором артикул состоит только из цифр. Затем артикул - буквенно-символьно-цифровой. Формат ячеек на всей колонке - Общий. Однако, выравнивание (автоматом Экселя)для числового - справа по ячейке. а выравнивание смешанного-строкового - слева.См картинку.

http://www.axforum.info/forums/attac...1&d=1439536033

Как ведет себя Axapta.
числовые артикулы считывает на ОК.
Строковые, если они идут так, как в скриншоте - не понимает. (пустая строка)

Что самое интересное, если загружать отдельно строковые(буквенно-символьно-цифровой) - все читает - все понимает.
Значит дело в коде. Привожу код.

X++:
container importNext()
{
    container       res;
    CLRObject    value;
    int                 row;
    int                 column;
    anytype         element;
    str                 string;
    ;

    dataRow = dataRowCollection.get_Item(nCountLines);

    array   = new System.Object[qtyColumn]();
    // Необходимо в каждой итерации заново инициализировать массив - Убрать ошибку с невозможностью считать данные другого типа (после числовых артикулов не понимает строковые) - Поэтому заново инициализировал массив. - не помогло
    array   = dataRow.get_ItemArray();
    for (counter = 0;  counter < qtyColumn; counter++)
    {   
        value   = dataRow.get_Item(counter);
        string  = value.ToString();
        if(string)
        {
            Element = valueNet2Anytype(value);
            if(Element)
            {
                res += Element;
            }
            else
            {
                res += string;
            }
        }
    }
    nCountLines++;
    return res;
}
Наc в общем интересует код до присвоения значения string. ( Когда на вход идет артикул типа: FBEB0010-100010 - string = пустая строка)

Если загружаем только артикулы буквенно-символьно-цифрового формата (типа FBEB0010-100010) - все разбирает.

Как вы наверно поняли, эта функция читает одну строку ячеек Excel. Вызывается в цикле извне. (Пробовал как через массив, так и через dataRow - не помогло).

У кого-нибудь есть идеи?
Angehängte Grafiken
 

Geändert von Loengrinchik (14.08.2015 um 10:36 Uhr)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Загрузка Excel через OXML (конвертация типов данных) ackid DAX: Программирование 7 29.04.2015 15:09
Выбор столбцов при импорте\экспорте Excel add-in user_ax DAX: Программирование 19 12.11.2014 14:23
Обработка DBF через .net someOne DAX: База знаний и проекты 13 27.09.2012 15:30
Я стараюсь отчеты с расшифровкой делать... через группировку в Excel... OLAP... комбинацией OLAP + SSRS. mazzy DAX: Программирование 31 10.04.2010 12:20
Вложение файлов через метод .NET Business Connector (DocuRef, DocuValue) kornix DAX: Программирование 6 18.09.2009 10:36

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Gehe zu

Рейтинг@Mail.ru
Alle Zeitangaben in WEZ +3. Es ist jetzt 21:03 Uhr.
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.