Варианты загрузки данных в 1С из Excel

  1. В начале нужно считать файл табличным документом 1С

Из файла Excel через в табличный документ 1С

ТабличныйДокумент = Новый ТабличныйДокумент;   Попытка         ТабличныйДокумент.Прочитать(ПутьКфайлу);   Исключение       Сообщение = Новый СообщениеПользователю;       Сообщение.Текст = "Не удалось прочитать файл Excel, по причине: " + ОписаниеОшибки();       Сообщение.Сообщить();       Возврат;   КонецПопытки;

2. Использовать табличный документ как ИсточникДанных.

в объекте ПостроительЗапроса

Из файла через построитель запроса в табличный документ 1С

Построитель = Новый ПостроительЗапроса;Построитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТабличныйДокумент.Область());Построитель.ЗаполнитьНастройки();Построитель.Выполнить();ТЗ = Построитель.Результат.Выгрузить();

или в объекте ПостроительОтчета

Построитель = Новый ПостроительОтчета;Построитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТабличныйДокумент.Область(1, 1, ТабличныйДокумент.ВысотаТаблицы, ТабличныйДокумент.ШиринаТаблицы));Построитель.Выполнить();ТЗ = Построитель.Результат.Выгрузить();

Из файла через построитель отчета в таблицу значений

Построитель = Новый ПостроительОтчета;
Построитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТабличныйДокумент.Область(1, 1, ТабличныйДокумент.ВысотаТаблицы, ТабличныйДокумент.ШиринаТаблицы));
Построитель.Выполнить();
ТЗ = Построитель.Результат.Выгрузить();

Полученную таблицу значений можно передать как параметр запроса и выполнить по ней сопоставление через ЛЕВОЕ СОЕДИНЕНИЕ

Результирующий код может быть примерно таким:

ТабличныйДокумент = Новый ТабличныйДокумент;
 
ПутьКфайлу = "\\shared\xls_load.xlsx";
Попытка 
   ТабличныйДокумент.Прочитать(ПутьКфайлу);
Исключение
   Сообщение = Новый СообщениеПользователю;
   Сообщение.Текст = "Не удалось прочитать файл Excel, по причине: " + ОписаниеОшибки();
   Сообщение.Сообщить();
   Возврат;
КонецПопытки;
 
Построитель = Новый ПостроительЗапроса;
Построитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТабличныйДокумент.Область());
Построитель.ЗаполнитьНастройки();
Построитель.Выполнить();
  
ТЗ = Построитель.Результат.Выгрузить();

+ There are no comments

Add yours