Программное сохранение отчета СКД в файл 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"); Подключение=новый ИнтернетПочта; Попытка Подключение.Подключиться(ПараметрыПочты); Подключение.Послать(Письмо); |