Имя: Пароль:
1C
1С v8
Загрузка из эксель в таблицу значений через построитель
0 arsenfn
 
23.04.23
09:12
Здравствуйте!
Для загрузки файла эксель использовал метод с помощью построителя, но обнаружалась проблема. Меняются местами колонки. Например, в файле первая колонка "Производитель", вторая "Артикул". При выгрузке из построителя в таблицу значение колнки меняются местами. Еще один глюк с одним файлом. Считывается только одна колонка из нескольких существующих. Может кто знает в чем причина? Ниже текст процедуры:

Функция ПрочитатьТабличныйДокумент(ИмяФайла) Экспорт
    
    ФайлНаДиске = Новый Файл(СокрЛП(ИмяФайла));
    Если Не ФайлНаДиске.Существует() Тогда
        Возврат Неопределено;
    КонецЕсли;
        
    ТабличныйДокумент = Новый ТабличныйДокумент;
    ТабличныйДокумент.Очистить();
    ТабличныйДокумент.Прочитать(ИмяФайла);
    
    ПЗ = Новый ПостроительЗапроса;
    ПЗ.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТабличныйДокумент.Область());
    ПЗ.ДобавлениеПредставлений = ТипДобавленияПредставлений.НеДобавлять;
    ПЗ.ЗаполнитьНастройки();
    ПЗ.Выполнить();
    
    Возврат ПЗ.Результат.Выгрузить();
    
КонецФункции
1 mikecool
 
23.04.23
09:13
а какая разница - какой порядок колонок?
2 arsenfn
 
23.04.23
09:23
Есть разница. У каждого поставщика свое расположение колонок. Поставщиков много. Колонки без навзваний. Нужно по номерам колонок считывать конкретные данные для дальнейшей обработки.
3 shuhard
 
23.04.23
09:33
(0) дык построитель не универсален, логика у него примитивная
в продуктивах загрузки из xls используется редко, тот же ADOX + ADO в разы надежнее