&НаСервере
Функция СоздатьОтчетИСохранитьВИксель(Знач ДатаДокументаНачало, Знач ДатаДокументаКонец, Знач Организация)
ТабДок =
Новый ТабличныйДокумент();
СКД=Отчеты.СверкаДокументаПРСизБазыДЗФЗсБазойБП.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
Настройки=СКД.НастройкиПоУмолчанию;
//Задаем
параметры
Параметр1 = Настройки.ПараметрыДанных.Элементы.Найти("ДатаДокументаНачало");
Параметр1.Значение = ДатаДокументаНачало;
Параметр1.Использование = Истина;
Параметр2 = Настройки.ПараметрыДанных.Элементы.Найти("ДатаДокументаКонец");
Параметр2.Значение = ДатаДокументаКонец;
Параметр2.Использование =
Истина;
Параметр3 = Настройки.ПараметрыДанных.Элементы.Найти("Организация");
Параметр3.Значение = Организация;
Параметр3.Использование =
Истина;
Расшифровка = Новый ДанныеРасшифровкиКомпоновкиДанных;
КомпоновщикМакета
= Новый КомпоновщикМакетаКомпоновкиДанных;
//Передаем
в макет компоновки схему, настройки и данные расшифровки
МакетКомпоновки
= КомпоновщикМакета.Выполнить(СКД, Настройки, Расшифровка);
ВнешниеПараметры
= Новый Структура;
//Выполним
компоновку с помощью процессора компоновки
ПроцессорКомпоновкиДанных
= Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешниеПараметры,
Расшифровка);
//Выводим
результат в табличный документ
ПроцессорВывода
= Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ТабДок);
ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных, Истина);
//ТабДок.Записать(КаталогВременныхФайлов()
+ "ДинамикаДЗдляИнцидентов.xls", ТипФайлаТабличногоДокумента.XLS);
Возврат ТабДок;
КонецФункции
&НаСервере
Процедура
ОтправитьПочтовоеСообщениеСИнцидентом(Знач Почта, Знач Сообщение, Знач ИмяФайлаОтчета, Знач ПутьКОтчету)
Попытка
АдресПолучателя
= Почта;
АдресОтвета
= "";
ТемаПисьма
= Сообщение;
ТекстПисьма
= Сообщение;
МодульРаботаСПочтовымиСообщениями
= ОбщегоНазначения.ОбщийМодуль("РаботаСПочтовымиСообщениями");
УчетнаяЗапись
= МодульРаботаСПочтовымиСообщениями.СистемнаяУчетнаяЗапись();
ПараметрыПисьма
= Новый Структура;
ПараметрыПисьма.Вставить("Кому",
АдресПолучателя);
ПараметрыПисьма.Вставить("УчетнаяЗапись", УчетнаяЗапись);
ПараметрыПисьма.Вставить("АдресОтвета", АдресОтвета);
ПараметрыПисьма.Вставить("Тема",
ТемаПисьма);
ПараметрыПисьма.Вставить("Тело",
ТекстПисьма);
ПараметрыПисьма.Вставить("ТипТекста", "ПростойТекст");
Вложения = Новый Соответствие;
Вложения.Вставить(ИмяФайлаОтчета, Новый ДвоичныеДанные(ПутьКОтчету));
ПараметрыПисьма.Вставить("Вложения",
Вложения);
РаботаСПочтовымиСообщениями.ОтправитьПочтовоеСообщение(УчетнаяЗапись,
ПараметрыПисьма);
Исключение
КонецПопытки;
КонецПроцедуры
&НаСервере
Процедура
ДляРегламентногоЗадания()
Экспорт
Выборка = Справочники.СписокРассылкиОтчетаСверки.Выбрать();
Пока Выборка.Следующий()
Цикл
ВремФайл
= КаталогВременныхФайлов() + "Отчет.xls";
ТабДок
= СоздатьОтчетИСохранитьВИксель(НачалоГода(ТекущаяДата()), ТекущаяДата(), Выборка.Организация);
ТабДок.Записать(ВремФайл, ТипФайлаТабличногоДокумента.XLS);
ОтправитьПочтовоеСообщениеСИнцидентом(Выборка.Почта, "Отчет", "Отчет.xls", КаталогВременныхФайлов() + "Отчет.xls");
УдалитьФайлы(ВремФайл);
КонецЦикла;
КонецПроцедуры
|