Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
24 Июл 2017, 19:49
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Механизм автоматической отправке отчетов на почту  (Прочитано 1123 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Маргарита

  • *
  • Сообщений: 3
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-08-09
  • Сайт: 
  • Профессия: Консультант 1С
Здравствуйте. Требуется создать регламентное задание по автоматической отправке отчетов на почту.
Создала общий модуль, в котором прописала:
1) Общую процедуру, запускаемую из фонового задания:
Процедура Отчет() Экспорт
ТекстПисьма = "Отчет по ... за " + Строка(НачалоДня(ТекущаяДата())-60*60*16) + " - " + Строка(НачалоДня(ТекущаяДата())+60*60*8) + Символы.ПС;
Таб = СоздатьОтчет(ТекстПисьма);

ПутьКФайлу = "C:\Users\Public\";
ИмяФайла = "temp.xls";
ПолноеИмяФайла = ПутьКФайлу+ИмяФайла;

ВыгрузитьТДвФайл(Таб, ПолноеИмяФайла, ТекстПисьма);

ОтправкаУведомлений(ТекстПисьма, ПолноеИмяФайла);
КонецПроцедуры


2) Формирование отчета
Функция СоздатьОтчет(ТекстПисьма)
Таб = Новый ТабличныйДокумент;
Попытка
//Получаем схему из макета
СхемаКомпоновкиДанных = Отчеты.УниверсальныйОтчет.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
//Из схемы возьмем настройки по умолчанию
Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию;
//Настроим период
НачальнаяДата = Настройки.ПараметрыДанных.Элементы.Найти("НачальнаяДата");
НачальнаяДата.Значение = НачалоДня(ТекущаяДата())-60*60*16;
КонечнаяДата = Настройки.ПараметрыДанных.Элементы.Найти("КонечнаяДата");
КонечнаяДата.Значение = НачалоДня(ТекущаяДата())+60*60*8;

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

Исключение
ТекстПисьма = ТекстПисьма + "Ошибка при создании отчета! " + ОписаниеОшибки() + Символы.ПС;
Возврат Таб;
КонецПопытки;
КонецФункции
3) Сохранение в файл (Excel):

Процедура ВыгрузитьТДвФайл(Таб, ПолноеИмяФайла, ТекстПисьма)
Попытка
Таб.Записать(ПолноеИмяФайла, ТипФайлаТабличногоДокумента.XLS);

Исключение
ТекстПисьма = ТекстПисьма + "Не удалось создать файл! " + ОписаниеОшибки() + Символы.ПС;
КонецПопытки;
КонецПроцедуры

4) Отправление почту:

Процедура ОтправкаУведомлений(ТекстПисьма, ПолноеИмяФайла)
ИПП = Новый ИнтернетПочтовыйПрофиль;
ИПП.АдресСервераSMTP = "mail.ru";
ИПП.ПарольSMTP = "pass";
ИПП.ПользовательSMTP = "login";
ИПП.ПортSMTP = 25;

Сообщение = Новый ИнтернетПочтовоеСообщение;
Сообщение.Кодировка = "UTF-8";
Сообщение.Получатели.Добавить("1@mail.ru");
Сообщение.Получатели.Добавить("2@mail.ru");

Сообщение.Отправитель.Адрес = "0@mail.ru";

Сообщение.Тема = "Регл.задание: Отчет";
Попытка
Сообщение.Вложения.Добавить(ПолноеИмяФайла,"Отчет");
Исключение
ТекстПисьма = ТекстПисьма + "Не удалось добавить вложение! " + ОписаниеОшибки() + Символы.ПС;
КонецПопытки;
Сообщение.Тексты.Добавить(ТекстПисьма);

Почта = Новый ИнтернетПочта;
Почта.Подключиться(ИПП);
Почта.Послать(Сообщение);
Почта.Отключиться();
КонецПроцедуры.

Код написан для внутреннего отчета. А нужно для внешнего отчета. Как получить систему компоновки данных для внешнего отчета? Подскажите, пожалуйста


Онлайн LexaK

  • *****
  • Сообщений: 1246
  • РЕПУТАЦИЯ: 344
  • КПД: 28%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 1С
для БСП20 упр.формы
есть справочник ДополнительныеОтчетыИОбработки, там регистрируете свой внешний отчет.

программно его можно получить по команде

    //ссылка - элемент справочника ДополнительныеОтчетыИОбработки с вашим отчетом
    лкОтчет = ДополнительныеОтчетыИОбработки.ПолучитьОбъектВнешнейОбработки(Ссылка);
    ...

примерно такой-же механизм есть и для БСП1.2

какая у вас конфигурация вы не написали.
Помогло? - Нажми СПАСИБО!!!
                       :)


 

«Единица для отчетов» и «Единица хранения остатков»

Автор tranceferРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 6933
Последний ответ 14 Фев 2012, 02:29
от Dethmontt
Как понять почему перестало работать регламентное задание - "отправка отчетов"?

Автор virtusРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 1972
Последний ответ 26 Июл 2014, 16:00
от virtus
Консоль отчетов. Вопрос "Загрузить стандартные настройки?"

Автор KatishРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 2274
Последний ответ 04 Апр 2012, 03:47
от Katish
Построитель отчетов, сводная таблица.Ошибка при вызове метода контекста...

Автор alekseyРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 4770
Последний ответ 28 Ноя 2009, 23:31
от aleksey
Предлагаю свои услуги по написанию различных обработок, отчетов, конфигураций

Автор Шурыгин Иван СергеевичРаздел Резюме

Ответов: 4
Просмотров: 4862
Последний ответ 20 Мар 2013, 14:48
от ОСНО

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

alex0402
95 Сообщений
oleg-x
93 Сообщений
Геннадий ОбьГЭС Геннадий ОбьГЭС
64 Сообщений
Golickoff Golickoff
51 Сообщений
ilyay ilyay
45 Сообщений
AIFrame
42 Сообщений
wise wise
31 Сообщений
Амал
30 Сообщений
ab30ru
24 Сообщений
lansy
22 Сообщений

* Кто онлайн

  • Точка Гостей: 385
  • Точка Скрытых: 0
  • Точка Пользователей: 12
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal