Отправка отчетов СКД по рассписанию

1с и web разработка

В этой статье я буду описывать свой поход к отправке отчетов, сделанных на СКД, по расписанию. Статья будет про неуправляемые формы обычное приложение. Будут описаны некоторые объекты 1С, будет много кода. Готовы? Тогда под кат.

Для начала определимся с целью. Какой функционал у нас должен получиться в результате? Я для себя решил примерно так:

  1. Отчет должен отправляться на почтовые адреса, указанные в настройках
  2. В одном письме может быть несколько отчетов
  3. При добавлении новых отчетов для отправки конфигурация не должна изменяться.
  4. Формат отчета должен быть pdf, xls, html и т.д.
  5. Для отправки отчетов должна быть гибкая настройка расписания.

Теперь немного изменим конфигурацию 1С:

  1. Создать справочник «Настройки отправки отчетов»
    1. Реквизиты: РегламентноеЗадание (Строка 40), ИспользоватьРегламентныеЗадания (Булево)
    2. Табличные части: ОтчетыДляОтправки, ПочтовыеАдреса
    3. Реквизиты табличной части «ОтчетыДляОтправки»: Отчет (СправочникСсылка.ВнешниеОбработки), ФорматФайла (Строка 10)
    4. Реквизиты табличной части «ПочтовыеАдреса»: Адрес (Строка 50)
  2. Создать регламентное задание «ОтправкаОтчетовПоРассписанию». Именно этот объект будет отвечать за действия выполняемые по расписанию. В нашем случае за отправку отчетов
  3. Создать процедуру для работы регламентного задания, нажав на кнопку в поле «Имя метода». Далее приведу код процедуры и вызываемой ею функции

    Немного поясню: Процедура ОтправкаОтчетовПоРассписанию создается тогда, когда Вы нажимаете на кнопку в поле «Имя метода». Другие две процедуры Вы должн
    Ну и вставить свои учетные данные почтового сервера вместо этих: adres@otpravitelya.ru, user, server, password, smtp_server, smtp_user, smtp_password
  4. Создаем форму элемента справочника «Настройки отправки отчетов» и раскидываем по ней все реквизиты и табличные части. Использовать в коде будем только процедуру формы «ПриОткрытии» и событие галочки «ИспользоватьРегламентныеЗадания». Также добавьте на форму надпись «НадписьРасписаниеРегламентногоЗаданияНастройки», т.к. будем использовать ее событие «ПриНажатии». Приведу код

    Ну и код модуля справочника «Настройки отправки отчетов»:

     
  5. Обновляем конфигурацию и пробуем то, что у нас получилось. Отправляются ли отчеты

Один Ответ

  1. Подсистема является упрощенным аналогом Рассылки отчетов из БСП. Встраивается в конфигурацию элементарно.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *