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

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

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

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

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

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

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

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


 

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
152 Сообщений
alex0402
73 Сообщений
alexandr_ll
37 Сообщений
LexaK
29 Сообщений
crow1983
27 Сообщений
MuI_I_Ika MuI_I_Ika
27 Сообщений
sertak sertak
23 Сообщений
дфтын дфтын
17 Сообщений
BuhRust
15 Сообщений
Vzonder
15 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 

Dellos Catering - выездной ресторан кейтеринг по всему Миру
SimplePortal 2.3.5 © 2008-2012, SimplePortal