gifts2017

Отправка внешнего отчета на электронную почту (используя БСП)

Опубликовал Дмитрий Воронов (korppinen) в раздел Программирование - Инструментарий

В новых редакциях 1С: Бухгалтерия очень нравится отправка печатных форм отчетов, документов и всего, что можно, на электронную почту. В данной статье покажу ряд простых действий, которые добавят в ваши отчеты, выполненные без использования  компоновки, команду отправки по E-mail.
(Для отчетов, выполненных на СКД, такая возможность - штатная).

1. На форме отчета обязательны группы командной панели:

Например 

"КоманднаяПанельОтчета" (Вид - Командная панель),

"ГруппаДополнительнаяКоманднаяПанельОтчета" (Вид - Командная панель),

Поле вывода отчета - Реквизит "Результат" (Тип - ТабличныйДокумент)

 


2.  В процедуре "ПриСозданииНаСервере" формы добавляем команду БСП и устанавливаем заголовок отчета (он же имя файла).

 

ЭтотОбъект.Заголовок = "Отчет";      //Название отчета, оно же имя файла  "Отчет.xls"
 
ОтправкаПочтовыхСообщений.ПриСозданииОтчетаНаСервере(ЭтаФорма, Элементы.КоманднаяПанельОтчета.Имя,
  , Элементы.ГруппаДополнительнаяКоманднаяПанельОтчета.Имя,
  );


3. Добавляем в модуль формы в самый конец:

#Область СлужебныеПроцедурыИФункции
&НаКлиенте
Процедура Подключаемый_ВыполнитьКомандуОтправки()
 
 ОтправкаПочтовыхСообщенийКлиент.ОтправитьОтчет(ЭтотОбъект);
 
КонецПроцедуры
#КонецОбласти

 

4. Формируем результат по своим алгоритмам и выводим в табличное поле формы - Результат

5. Всё! В приложении - шаблон отчета. Наличие Заголовка формы и табличного поля "Результат" - обязательны!

 

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
Пример отправки простого отчета по e-mail
.erf 8,40Kb
21.08.15
7
.erf 1 8,40Kb 7 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Азат (sultbec) 17.04.16 07:31
Очень долго искал как сделать, спасибо автору - подсказал.
только лучше будет не устанавливать заголовок отчета при создании (кому как нравится), а в процедуре сделать так:


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


ДополнительныеПараметры=новый структура;
ДополнительныеПараметры.Вставить("Контрагент"        , Объект.Контрагент);

КлючеваяОперация = "ОтправкаОтчетаПоЭлектроннойПочте";
ОценкаПроизводительностиКлиентСервер.НачатьЗамерВремени(КлючеваяОперация);

ПараметрыПисьма = ОтправкаПочтовыхСообщенийВызовСервера.ПараметрыЭлектронногоПисьмаДляОтчетов(ПараметрыОтчета,
	ДополнительныеПараметры);
РаботаСПочтовымиСообщениямиКлиент.СоздатьНовоеПисьмо(ПараметрыПисьма);
...Показать Скрыть



Плюсом будет то, что адрес контрагента в этом случае подставится в письмо.
2. андрей Фил (grig_nv) 18.05.16 14:41
Ай спасибо, пригодилось, чуствую самому бы пришлось полдня убить с отладчиком.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа