Как известно, в состав Библиотеки стандартных подсистем входит подсистема "Рассылка отчетов", позволяющая в соответствии с настроенным расписанием формировать и отправлять отчеты заданным получателям.
К недостаткам подсистемы "Рассылка отчетов" можно отнести:
- отсутствие возможности учитывать при настройке расписания отправки отчетов производственный календарь. Например, отчет должен отправляться по определенным рабочим дням недели, с учетом праздников и нерабочих периодов. А в случае, если дата рассылки отчета выпадает на праздничный день, то необходимо перенести рассылку на предыдущий/следующий рабочий день.
- отсутствие возможности гибко управлять настройкой расписания отправки отчетов. Например, пользователю требуется перенести отправку отчета на определенный день, запланировать рассылку в определенные дни вне расписания или вообще отменить рассылку в определенный день. С помощью существующего механизма настройки расписания это будет сделать достаточно сложно.
Подсистема регулярных заданий решает перечисленные выше проблемы при работе со штатным механизмом настройки расписания рассылки отчетов.
Подключение справочника "Рассылки отчетов" к подсистеме регулярных заданий
Предположим, конфигурация прикладного решения находится на поддержке без возможности внесения изменений. В этом случае подключение дополнительного функционала возможно через механизм расширений конфигурации. Таким образом, первым шагом необходимо подключить расширение из публикации Подсистема регулярных заданий к конфигурации. Как это сделать описано, например, здесь. После подключения расширения необходимо запустить базу с ключом /C ЗапуститьОбновлениеИнформационнойБазы.
После подключения расширения на панели разделов должна появиться наша подсистема:
Далее, необходимо подключить к подсистеме собственно сам справочник "Рассылки отчетов"
- Добавляем справочник "Рассылки отчетов" в расширение
- Добавляем справочник РассылкиОтчетов в типы объектов метаданных:
- ОпределяемыйТип.рз_ЗадачиРегулярныхЗаданий
- Справочник.рз_РегулярныеЗадания.Задачи.РегулярнаяЗадача
- РегистрСведений.рз_СостоянияВыполненияРегулярныхЗаданий.ЗаданиеЗадача
- РегистрСведений.рз_ЖурналРаботыРегулярныхЗаданий.ЗаданиеЗадача
- Вносим изменения в функцию ПередВыполнениемЗадачиРегулярногоЗадания общего модуля рз_РегулярныеЗаданияПереопределяемый:
После выполненной настройки внешний вид элемента справочника "Рассылки отчетов" примет следующий вид:
Настройка графиков рассылки отчетов
После того, как справочник "Рассылки отчетов" подключен к подсистеме можно переходить непосредственно к настройке графиков рассылок отчетов. Для этого, во-первых необходимо отключить штатное расписание выполнения рассылки (если оно задано). Затем, создаем на основании рассылки новое регулярное задание "Создать на основании - Регулярное задание"
На скриншоте выше рассылка отчетов "Демо: Архивация в папку файлов" будет осуществляться каждый понедельник в 10:00 с учетом праздничных дней, при этом, если дата рассылки выпадает на праздничный день, то она переносится на предыдущий рабочий день.
В случае необходимости скорректировать график рассылки переходим на страницу Результат заполнения графика
Предусмотрены следующие возможности по ручной корректировке графика выполнения заданий (ручные изменения графика выделяются желтым цветом):
- создание новой записи графика работы
- отмена существующей записи графика
- копирование записи графика (перемещение записи мышкой с нажатой клавишей Ctrl)
- перемещение записи графика (перемещение записи мышкой)
По кнопке "Заполнить по шаблону" есть возможность отмены ручных корректировок графика.
На этом настройку графика рассылки отчетов можно считать выполненной.
Дополнительная информация
Тестирование подсистемы проводилось на версии платформы 8.3.19.1229 (режим совместимости конфигурации 8.3.14). При разработке использовалась Библиотека стандартных подсистем версии 3.1.7