Программное сохранение отчета СКД в файл Excel
Задача: по расписанию формировать файл отчета СКД и отправлять его по электронной почте.
Решение:
1. Формируем файл
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | таб1=новый ТабличныйДокумент(); 	СКД=Отчеты.ПрибыльЗаПериод.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); 	Настройки=СКД.НастройкиПоУмолчанию; 	Дата1=Настройки.ПараметрыДанных.Элементы.Найти("Дата1"); 	Дата1.Значение=НачалоМесяца(ТекущаяДата()); 	Дата2=Настройки.ПараметрыДанных.Элементы.Найти("Дата2"); 	Дата2.Значение=КонецДня(ТекущаяДата()); 	ВидЦены=Настройки.ПараметрыДанных.Элементы.Найти("ВидЦены"); 	ВидЦены.Значение=Справочники.ВидыЦен.НайтиПоНаименованию("Основная цена закупки"); 	Магазин=Настройки.ПараметрыДанных.Элементы.Найти("Магазин"); 	Магазин.Значение=Справочники.Магазины.НайтиПоНаименованию("Вологда Торговля"); 	 	Расшифровка = Новый ДанныеРасшифровкиКомпоновкиДанных; 		КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;             //Передаем в макет компоновки схему, настройки и данные расшифровки         МакетКомпоновки = КомпоновщикМакета.Выполнить(СКД, Настройки, Расшифровка);             ВнешниеПараметры = Новый Структура;             //Выполним компоновку с помощью процессора компоновки         ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;         ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешниеПараметры, Расшифровка);             //Выводим результат в табличный документ         ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;         ПроцессорВывода.УстановитьДокумент(таб1);             ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных, Истина);    	  		таб1.Записать("c:\temp\моржа.xls",ТипФайлаТабличногоДокумента.XLS); | 
2.Отправляем его по почте
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | 	ПараметрыПочты = новый ИнтернетПочтовыйПрофиль; 		ПараметрыПочты.АдресСервераSMTP = пснмп; 		ПараметрыПочты.АутентификацияSMTP = СпособSMTPАутентификации.ПоУмолчанию; 		ПараметрыПочты.ПользовательSMTP = плогин; 		ПараметрыПочты.ПарольSMTP=ппароль; 		Письмо=новый ИнтернетПочтовоеСообщение; 		Письмо.Тема="Комплексный отчет по продажам в магазине Вологда Торговля"; 		Письмо.ИмяОтправителя="1С отправка отчетов"; 		Письмо.Отправитель=побратный; 		Письмо.Получатели.Добавить(пполучатель);	 		Письмо.Получатели.Добавить("blabla@mail.ru");	 		Письмо.Тексты.Добавить("Комплексный отчет по продажам в магазине Вологда Торговля");		 		Письмо.Вложения.Добавить("c:\temp\моржа.xls"); 		Подключение=новый ИнтернетПочта; 		Попытка 		Подключение.Подключиться(ПараметрыПочты); 		Подключение.Послать(Письмо);         |