Как настроить автоматическую отправку отчетов на почту в 1С:Управление торговлей 3 и использовать API рассылки для своих обработок?

Программист 1С v8.3 (Управляемые формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

В современных бизнес-процессах автоматизация играет ключевую роль. Регулярное получение аналитической информации — это залог своевременного принятия управленческих решений. В конфигурации «Управление торговлей 3» (и аналогичных решениях на базе БСП, таких как УТ 11, КА 2, ERP) предусмотрен мощный стандартный механизм, позволяющий настроить автоматическую отправку любых отчетов по электронной почте по заданному расписанию.

В этой статье мы подробно рассмотрим, как настроить этот функционал в пользовательском режиме, а также разберем, как разработчик может использовать программный интерфейс (API) этой подсистемы в своих собственных обработках и расширениях.

Интерфейсная настройка рассылки отчетов в пользовательском режиме

Для того чтобы настроить автоматическую отправку отчетов, не требуется вносить изменения в конфигурацию. Все действия выполняются в режиме «1С:Предприятие» благодаря встроенной подсистеме БСП «Рассылка отчетов».

Выясним, как пройти этот процесс по шагам:

  1. Откроем раздел НСИ и администрирование (или меню Администрирование в зависимости от интерфейса вашей системы).
  2. Перейдем в подраздел Печатные формы, отчеты и обработки, где найдем пункт Рассылки отчетов.
  3. В открывшемся списке нажмем кнопку Создать для настройки новой рассылки.
  4. В форме настройки укажем наименование рассылки, выберем получателей (это могут быть пользователи системы, контрагенты, физические лица или произвольные адреса e-mail).
  5. На вкладке Отчеты выберем один или несколько отчетов, которые должны войти в рассылку. Для каждого отчета можно настроить свои индивидуальные параметры и варианты.
  6. На вкладке Расписание настроим периодичность запуска регламентного задания (например, ежедневно в 18:00 или каждый понедельник утром).
  7. На вкладке Доставка укажем системную учетную запись почты, с которой будут отправляться письма, и настроим формат вложений (например, PDF, Excel или архив ZIP с паролем).

Полезный лайфхак: Быстро создать рассылку можно прямо из формы любого открытого отчета. Для этого достаточно нажать на кнопку с изображением конверта на панели инструментов отчета. Система автоматически создаст новую рассылку и заполнит ее текущим отчетом с вашими персональными настройками.

Программный интерфейс (API) для разработчиков

Часто перед разработчиком встает задача интегрировать отправку отчетов в собственную логику системы: например, отправлять отчет клиенту сразу после проведения документа или вызывать рассылку по нажатию кнопки в специализированном рабочем столе (АРМ). Подсистема БСП предоставляет полноценный программный интерфейс для решения этих задач.

Вся основная логика и методы API сосредоточены в общих модулях РассылкаОтчетов, РассылкаОтчетовКлиент и РассылкаОтчетовВызовСервера.

Рассмотрим подробнее ключевые методы, которые вы можете использовать в своем коде:

1. Программный запуск существующей рассылки

Если в справочнике РассылкиОтчетов уже настроена рассылка, и вам нужно просто принудительно запустить ее выполнение в коде (например, в обработчике проведения документа), используйте следующий метод:


// Ссылка на элемент справочника "Рассылки отчетов"
СсылкаНаРассылку = Справочники.РассылкиОтчетов.НайтиПоНаименованию("Дневные продажи отдела");

Если ЗначениеЗаполнено(СсылкаНаРассылку) Тогда
    // Запуск формирования и отправки рассылки на сервере
    РассылкаОтчетов.ВыполнитьРассылкуОтчетов(СсылкаНаРассылку);
КонецЕсли;

2. Отправка отчета «на лету» без создания элемента в справочнике

Бывают ситуации, когда создавать элемент в справочнике нецелесообразно (например, если параметры отправки или список получателей каждый раз формируются динамически). В этом случае мы можем воспользоваться процедурой РассылкаОтчетов.ВыполнитьРассылку().

Посмотрим на пример подготовки параметров и запуска такой отправки:


// 1. Инициализируем структуры параметров с помощью стандартных конструкторов БСП
ПараметрыДоставки = РассылкаОтчетов.ПараметрыДоставки();
ОтчетыДляРассылки = РассылкаОтчетов.ОтчетыДляРассылки();
ПараметрыЖурнала  = РассылкаОтчетов.ПараметрыЖурнала();

// 2. Заполняем настройки доставки писем
ПараметрыДоставки.УчетнаяЗапись = Справочники.УчетныеЗаписиЭлектроннойПочты.СистемнаяУчетнаяЗапись;
ПараметрыДоставки.ПолучателиЭлектроннойПочты = "client@example.com, director@example.com";
ПараметрыДоставки.ТемаПисьма = "Актуальные остатки товаров на складах на " + Формат(ТекущаяДата(), "ДЛФ=D");
ПараметрыДоставки.ТелоПисьма = "Добрый день! Во вложении вы найдете актуальные данные по остаткам.";
ПараметрыДоставки.ОтправлятьПисьмоЕслиОтчетыПустые = Ложь;

// 3. Указываем, какие форматы сохранения использовать (например, PDF и Excel)
ФорматыСохранения = Новый Массив;
ФорматыСохранения.Добавить(Перечисления.ФорматыСохраненияОтчетов.PDF);
ФорматыСохранения.Добавить(Перечисления.ФорматыСохраненияОтчетов.XLSX);

// 4. Добавляем отчет в коллекцию для отправки
// Примечание: В реальной задаче необходимо заполнить структуру отчета правильными параметрами СКД
НовыйОтчет = ОтчетыДляРассылки.Добавить();
НовыйОтчет.Отчет = Справочники.ВариантыОтчетов.НайтиПоНаименованию("Остатки и доступность товаров");
НовыйОтчет.ФорматыСохранения = ФорматыСохранения;

// 5. Запускаем формирование и отправку
РассылкаОтчетов.ВыполнитьРассылку(ПараметрыДоставки, ОтчетыДляРассылки, ПараметрыЖурнала);

3. Открытие диалога создания рассылки из формы внешнего отчета

Если вы разрабатываете свой собственный уникальный отчет и хотите предоставить пользователю возможность быстро создать из него рассылку, вы можете вызвать клиентский метод из модуля РассылкаОтчетовКлиент:


// Код вызывается в контексте формы вашего отчета
РассылкаОтчетовКлиент.СоздатьНовуюРассылкуИзОтчета(ЭтаФорма);

Продвинутые возможности БСП, о которых важно знать

Используя подсистему рассылки БСП, вы автоматически получаете доступ к огромному числу сервисных возможностей, которые не придется программировать вручную:

Таким образом, использование встроенной подсистемы БСП «Рассылка отчетов» в УТ 3 позволяет как обычным пользователям, так и разработчикам гибко и быстро настраивать автоматические процессы доставки отчетов без написания лишнего «велосипедного» кода.

← На главную