Автоматическое уведомление об отпуске (для ЗУП 3.1)




Данная обработка предназначена для автоматической рассылки уведомлений сотрудникам о запланированных отпусках. Основанием для рассылки является документ График отпусков (а также Перенос отпуска). Тестировалось на ЗУП 3.1.10.78 платформа 8.3.12.1790.

Обработка предназначена для автоматической рассылки уведомлений сотрудникам о запланированных отпусках. Для отправки уведомлений обработка смотрит на проведенные документы "График отпусков" с заданным комментарием (задается как параметр в обработке. Можно убрать, чтобы смотреть на любые проведенные документы) и ищет сотрудников, у которых через 14 дней (также задается параметром, можно менять) запланирован отпуск. Далее берется их e-mail или дополнительный e-mail (ссылка на новый e-mail также задается параметром), в зависимости от того, какой заполнен, и отправляется уведомление по шаблону. Приоритет у доп.e-mail. 

Шаблон уведомления об отпуске представлен стандартным макетом, правится в обработке. В письме рассылается в виде файла pdf с заполненными параметрами.

Шаблон рссылаемого макета

 Также отправляется копия сотрудникам с заполненным доп.сведением "Получатель рассылки по уведомлениям об отпуске" (параметр, название можно изменить. Необходим, например, сотрудникам Отдела кадров) с уведеомлением о том, что таким-то сотрудникам было отправлено уведомление. 

Поскольку обработка предназанчена для автоматической рассылки, то не имеет формы (только для тестирования — форма с кнопкой выполнения) .
Главное окно
Поэтому все параметры настраиваются в коде обработки. Настройка производится в процедуре "ЗначенияПараметровЗаполнения()". 

 Параметры

После заполнения параметров "под себя", если нужно что-то менять, и создания доп.свойства "Получатель рассылки по уведомлениям об отпуске" (Можно не создавать, тогда уведомление о том, кому отправилась рассылка об отпусках, не будет приходить) у справочника Сотрудники, добавляем обработку в дополнительные отчеты и обработки и настраиваем расписание выполнения Администрирование->Поддержка и обслуживание->регламентные и фоновые задания:

 Настройка расписания
 

Поскольку уже ни раз были вопросы, решил вынести в описание. Это не имеет особого отношения к обработке, скорее это администрирование, но тем не менее. При подключении обработки к расписанию указывайте пользователя, под которым она будет выполняться. У этого пользователя ОБЯЗАТЕЛЬНО должна быть снята галочка "Защита от опасных действий". 

 

  UPD:

1. теперь учитывает переносы отпусков (исправлено, слетало после добавления совместимости)

2. Добавлена совместимость с новыми версиями ЗУП, в частности 3.1.9, 3.1.10

3. Исправлен учет уволенных сотрудников

26 Comments

  1. DonAlPatino

    А для каких конфигураций?

    Reply
  2. yojeeg

    (1) DonAlPatino, для ЗУП 3.0. Добавил в название, спасибо.

    Reply
  3. max996

    перестала работать из за обновления платформы и Защиты от опасных действий, что посоветуете сделать?

    Reply
  4. yojeeg

    (3)Отключить защиту от опасных действий у пользователя, под которым запускается обработка. Например, у Администратора.

    Reply
  5. AlexO

    Так а что в письме-то адресат получает? Не указано.

    Текстовую строчку «У вас отпуск скоро»? )

    Reply
  6. yojeeg

    В обработке есть макет, его и получает. Я дополню описание, спасибо

    Reply
  7. Tanis

    Добрый день!

    Странная штука произошла.

    Отправиться должно было 4 сотрудникам. А пришло почему-то только одному 4 раза подряд. Данные в сообщении указаны именно его.

    В чем может быть проблема?

    Спасибо!

    Reply
  8. yojeeg

    (7)Ну если в общей массе отправляется нормально, а проблема возникла только с одним сотрудником, то это 99% проблема данных. Сказать что-то конкретное, не видя непосредственно систему, нельзя. Проверьте почтовые адреса, которые заданы у сотрудников. Проверьте наличие непроведенных графиков отпусков и переносов отпусков (именно по этому сотруднику), тоже могло повлиять. Если проблема в этом, добавьте в строчку 398 условие «| И ГрафикОтпусковСотрудники.Ссылка.Проведен» и аналогичное по переносу отпусков

    Reply
  9. Tanis

    Добрый день!

    Спасибо, это проверю и добавлю.

    Но меня другое смутило. Что одному сотруднику пришло 4 раза, а трём остальным наоборот не пришло.

    И что-то не сработало оповещение (отчет) «кому были отправлены уведомления», с этим поковыряюсь, скорее всего «сведение» по имени не находит, кроме справочника сотрудников (или физ лиц ли) есть ещё другие «сведения».

    С праздником всех! 😉 (днем программиста)

    Reply
  10. yojeeg

    (9) Спасибо)

    Ну смотрите, список сотрудников он получает тут ПолучитьМассивСотрудниковДляУведомления(); Соответственно если 4 раза по одному, а по другим ни разу, нужно разбираться здесь. Поскольку там стоит условие на ВЫБРАТЬ РАЗЛИЧНЫЕ, то скорее всего один из получаемых разрезов различается по этому сотруднику. Например, вид отпуска можно быть не только «основной». Или вот может быть проблема в подразделении. Я сейчас в обработке кстати исправил получение должности и подразделения, потому что в новых ЗУП изменилась структура хранения этих данных. Обработку обновил.

    Reply
  11. Tanis

    Добрый вечер!

    Да, они изменили структуру, теперь через «Кадровою историю». Вроде как.

    Один запрос точно менял.

    Но обработку сейчас еще раз скачаю. ))))

    Спасибо!

    Reply
  12. Оберон

    (2) Добрый день!

    «Мани» списало а обработку так и не прислали.

    Reply
  13. Оберон

    мани списали а обработку на почту не выслали. пришлите плиз..

    Reply
  14. druncha

    Добрый день!

    В запросе стоит условие на признак ПРоведен для Переноса отпуска. Если в базе нет переносов отпуска — запрос не выдает ни одного сотрудника.

    Reply
  15. yojeeg

    (14) Добрый день, спасибо, исправлено

    Reply
  16. aviconsult

    Доброго дня. Спасибо за вашу обработку. По сотрудникам из документа <График отпусков> — всё улетает, однако почему то не учитывает перенос на релизе 3.1.8.246, в чем может быть проблема?

    Reply
  17. yojeeg

    (16) Добрый день! Вы скачивали последнюю версию, когда уже было сообщение о совместимости с 3.1.9? В 3.1.8 и далее изменилась структура документа переноса, поэтому в обработку были внесены изменения.

    Reply
  18. aviconsult

    (17)

    тура документа переноса, поэтому в обработку были внесен

    да, скачали последнюю вашу версию недавно.

    Reply
  19. yojeeg

    (18) Ошибка подтвердилась, внёс исправления по учету переносу отпусков, а также по учету уволенных сотрудников.

    Reply
  20. Profenix

    Запутался.

    «ДополнительныйEmail» что мы туда указываем?

    Строку?

    Например так:

    ДополнительныйEmail = «Profenix@ya.ru»

    Reply
  21. yojeeg

    Нет, здесь указывается вид контактной информации, где также может содержаться дополнительный e-mail сотрудника.

    Ну к примеру, есть организации, которые для предопределенного вида конт. инф. заполняют личный e-mail, но рассылку уведомлений об отпусках нужно делать на рабочий e-mail. Тогда заводят непредопределенный вид контактной информации, например, «E-mail рабочий». Для таких случаев и нужно указывать наименование этого дополнительного вида контактной информации в виде Справочники.ВидыКонтактнойИнформации.НайтиПоНаименованию(НаименованиеКонтактнойИнформации), где НаименованиеКонтактнойИнформации — это как раз название этого дополнительного вида.

    Если нет никакого доп. e-mail и все адреса записываются в предопределенный вид Email, то нужно указать Справочники.ВидыКонтактнойИнформации.ПустаяСсылка()

    Reply
  22. Profenix

    (21)

    а как организовать уведомления об отправки?

    Reply
  23. yojeeg

    (22)в описании же есть, добавьте доп. свойство у сотрудников «Получатель рассылки по уведомлениям об отпуске», будет на почту приходить, у кого свойство стоит Истина.

    Reply
  24. Profenix

    Возникают следующие ошибки при работе

    Reply
  25. yojeeg

    (24) не вижу здесь ошибок.

    Reply
  26. Profenix

    В общем разобрался.

    В функции ПолучитьАдресЭППолучателяУведомления()

    Поправил — ЗапросПолучателейРассылки.УстановитьПараметр(«Заголовок», «Получатель рассылки по уведомлениям об отпуске»);

    В регламентном и фоновом задание она не заработает если у Администратора стоит защита от опасных действий, нужно поправить в карточке пользователя.

    Reply

Leave a Comment

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