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

10.07.20

Разработка - БСП (Библиотека стандартных подсистем)

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование SM По подписке [?] Купить один файл
Пример отправки простого отчета по e-mail
.erf 8,48Kb
16
16
1 SM
Скачать Купить за 1 850 руб.

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

Например 

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

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

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

 

 

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

 

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

 

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

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

 

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

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

 

почта

См. также

Инструментарий разработчика БСП (Библиотека стандартных подсистем) Программист Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Пример шаблона для многопоточного выполнения фонового задания на основе БСП. Шаблоны сделаны для процедуры и функции.

2 стартмани

03.05.2024    1289    20    Hitcher    3    

13

БСП (Библиотека стандартных подсистем) Адаптация типовых решений Программист Платформа 1С v8.3 1С:ERP Управление предприятием 2 Бесплатно (free)

Понадобилось в подменю "Создать на основании" добавить свою команду, которая открывает обработку. В процессе доработок появилась проблема двух подменю "Создать на основании". В статье о том, как решились проблемы.

01.03.2024    3707    dimanich70    8    

16

Механизмы платформы 1С БСП (Библиотека стандартных подсистем) Программист Стажер Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Небольшая шпаргалка по функциям БСП касательно адреса. Так скажем, еще один способ помимо https://infostart.ru/1c/articles/1060970/

12.02.2024    1157    FilippovRI    0    

17
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. sultbec 10 17.04.16 07:31 Сейчас в теме
Очень долго искал как сделать, спасибо автору - подсказал.
только лучше будет не устанавливать заголовок отчета при создании (кому как нравится), а в процедуре сделать так:


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


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

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

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



Плюсом будет то, что адрес контрагента в этом случае подставится в письмо.
Yan_Malyakov; +1 Ответить
2. grig_nv 7 18.05.16 14:41 Сейчас в теме
Ай спасибо, пригодилось, чуствую самому бы пришлось полдня убить с отладчиком.
Оставьте свое сообщение