Привет. Возможно для кого-то не "нова", но статей с подобным способом выгрузки не увидел. Пришла такая идея, когда нужно было по-быстрому выгрузить нужные данные, а разбираться с "большими" примерами кода для выгрузки в Excel использующими COMОбъект "Excel.Application" не было времени.
В 2-х словах, как это работает:
- Заполняем нужными данными табличный документ
- Сохраняем табличный документ в Excel или любой другой формат.
Как пример из Бухгалтерии 2.0:
- Создаем внешнюю обработку и по кнопке "Выполнить" прописываем туда следующий код:
Процедура КнопкаВыполнитьНажатие(Кнопка)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| НоменклатурныеГруппы.Код,
| НоменклатурныеГруппы.Наименование
|ИЗ
| Справочник.НоменклатурныеГруппы КАК НоменклатурныеГруппы
|ГДЕ
| НЕ НоменклатурныеГруппы.ЭтоГруппа
| И НЕ НоменклатурныеГруппы.ПометкаУдаления";
Результат = Запрос.Выполнить().Выгрузить();
ТабДок = ПолучитьМакет("Макет");
ОбластьПараметров = ТабДок.ПолучитьОбласть("Строки");
Для Каждого Стр Из Результат Цикл
ОбластьПараметров.Параметры.Код = Стр.Код;
ОбластьПараметров.Параметры.Наименование = Стр.Наименование;
ТабДок.Вывести(ОбластьПараметров);
КонецЦикла;
Попытка
ТабДок.Записать("C:\Users\UserName\Documents\Example.xls", ТипФайлаТабличногоДокумента.XLS);
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;
КонецПроцедуры
- Добавляем в обработку макет и в нем объявляем область и параметры.
- Нажимаем "Выполнить", в результате Excel-файлик заполняется нужными данными :)