Программное сохранение отчета СКД в файл Excel

Задача: по расписанию формировать файл отчета СКД и отправлять его по электронной почте.

Решение:

1. Формируем файл

таб1=новый ТабличныйДокумент();
	
	СКД=Отчеты.ПрибыльЗаПериод.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
	Настройки=СКД.НастройкиПоУмолчанию;
	Дата1=Настройки.ПараметрыДанных.Элементы.Найти("Дата1");
	Дата1.Значение=НачалоМесяца(ТекущаяДата());
	Дата2=Настройки.ПараметрыДанных.Элементы.Найти("Дата2");
	Дата2.Значение=КонецДня(ТекущаяДата());
	ВидЦены=Настройки.ПараметрыДанных.Элементы.Найти("ВидЦены");
	ВидЦены.Значение=Справочники.ВидыЦен.НайтиПоНаименованию("Основная цена закупки");
	Магазин=Настройки.ПараметрыДанных.Элементы.Найти("Магазин");
	Магазин.Значение=Справочники.Магазины.НайтиПоНаименованию("Вологда Торговля");

	 	Расшифровка = Новый ДанныеРасшифровкиКомпоновкиДанных;
		КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;    
		
        //Передаем в макет компоновки схему, настройки и данные расшифровки
        МакетКомпоновки = КомпоновщикМакета.Выполнить(СКД, Настройки, Расшифровка);    
        ВнешниеПараметры = Новый Структура;    
		
        //Выполним компоновку с помощью процессора компоновки
        ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
        ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешниеПараметры, Расшифровка);    
		
        //Выводим результат в табличный документ
        ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
        ПроцессорВывода.УстановитьДокумент(таб1);    
        ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных, Истина);    	 
		
		таб1.Записать("c:\temp\моржа.xls",ТипФайлаТабличногоДокумента.XLS);

2.Отправляем его по почте

	ПараметрыПочты = новый ИнтернетПочтовыйПрофиль;
		ПараметрыПочты.АдресСервераSMTP = пснмп;
		ПараметрыПочты.АутентификацияSMTP = СпособSMTPАутентификации.ПоУмолчанию;
		ПараметрыПочты.ПользовательSMTP = плогин;
		ПараметрыПочты.ПарольSMTP=ппароль;
		
		Письмо=новый ИнтернетПочтовоеСообщение;
		Письмо.Тема="Комплексный отчет по продажам в магазине Вологда Торговля";
		Письмо.ИмяОтправителя="1С отправка отчетов";
		Письмо.Отправитель=побратный;
		Письмо.Получатели.Добавить(пполучатель);	
		Письмо.Получатели.Добавить("blabla@mail.ru");	

		Письмо.Тексты.Добавить("Комплексный отчет по продажам в магазине Вологда Торговля");		
		Письмо.Вложения.Добавить("c:\temp\моржа.xls");
		
		Подключение=новый ИнтернетПочта;
		Попытка
		Подключение.Подключиться(ПараметрыПочты);
		Подключение.Послать(Письмо);        


Комментарии:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *