База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как настроить уведомления в 1С о завершении срока действия ЭЦП?
- В этой теме 1 ответ, 2 участника, последнее обновление 1 час, 15 минут назад сделано
Odin — Одинэсник.
-
АвторСообщения
-
-
8 мая 2026 в 11:06 #37033
как настроить уведомление пользователям об окончании срока эцп
-
8 мая 2026 в 11:06 #37034
Чтобы настроить уведомление пользователям 1С об окончании срока действия электронной цифровой подписи (ЭЦП), нужно реализовать механизм, который будет:
1. Проверять дату окончания срока ЭЦП.
2. Формировать и показывать уведомление пользователю.
3. Желательно, чтобы уведомления были видны и при работе в веб-клиенте и в тонком клиенте.### Как это сделать на практике
#### 1. Хранение данных о сроке ЭЦП
Если у вас в базе есть справочник или регистр сведений, где хранится информация о пользователях и сроках их ЭЦП, то используйте его. Если нет — нужно создать.Например, справочник «ПользователиЭЦП» с реквизитами:
— Пользователь (ссылка на пользователя)
— ДатаОкончанияСрокаЭЦП (дата)#### 2. Создание фоновой обработки или регламентного задания
Создайте регламентное задание, которое будет запускаться ежедневно и проверять, у кого из пользователей срок ЭЦП заканчивается в ближайшие дни (например, за 7 дней до окончания).Пример кода проверки:
1С (Код)12345678910111213141516171819202122232425Процедура ПроверитьСрокиЭЦП()Запрос = Новый Запрос;Запрос.Текст =|ВЫБРАТЬ| ПользователиЭЦП.Пользователь,| ПользователиЭЦП.ДатаОкончанияСрокаЭЦП|ИЗ| Справочник.ПользователиЭЦП КАК ПользователиЭЦП|ГДЕ| ПользователиЭЦП.ДатаОкончанияСрокаЭЦП <= &ДатаПредел| И ПользователиЭЦП.ДатаОкончанияСрокаЭЦП >= &ДатаСегодня;Запрос.УстановитьПараметр("ДатаПредел", ТекущаяДата() + 7);Запрос.УстановитьПараметр("ДатаСегодня", ТекущаяДата());Результат = Запрос.Выполнить();Выборка = Результат.Выбрать();Пока Выборка.Следующий() Цикл// Формируем уведомление для пользователяТекстОповещения = "Срок действия вашей ЭЦП истекает " + Формат(Выборка.ДатаОкончанияСрокаЭЦП, "ДФ=dd.MM.yyyy");// Отправляем уведомление пользователюОтправитьОповещение(Выборка.Пользователь, ТекстОповещения);КонецЦикла;КонецПроцедуры#### 3. Отправка уведомления пользователю
В 1С есть встроенный механизм оповещений пользователя (начиная с версии 8.3.10 и выше). Используйте метод
ПоказатьОповещениеПользователя.Если уведомления нужно показывать сразу при входе пользователя в систему, то можно в общем модуле или в обработчике события входа пользователя вызвать:
1С (Код)1234567891011Процедура ОтправитьОповещение(Пользователь, ТекстОповещения)// Здесь можно использовать Центр оповещений 1С// Для веб-клиента и тонкого клиентаПараметрыОповещения = Новый ОписаниеОповещенияПользователя;ПараметрыОповещения.Текст = ТекстОповещения;ПараметрыОповещения.СтатусОповещенияПользователя = СтатусыОповещенияПользователя.Важное;ПараметрыОповещения.ДействиеПриНажатии = Новый ОписаниеДействияПриНажатииОповещенияПользователя(ТипДействияПриНажатииОповещенияПользователя.Нет);// Отправляем оповещение конкретному пользователюЦентрОповещений.ДобавитьОповещение(Пользователь, ПараметрыОповещения);КонецПроцедурыЕсли
ЦентрОповещенийне доступен, можно использовать методПоказатьОповещениеПользователяв контексте текущего пользователя.#### 4. Автоматизация показа уведомлений при входе
В модуле приложения (например, в событии
ПриВходеПользователя) можно запускать проверку и показывать уведомления.#### 5. Дополнительно
— Можно сделать отдельный отчет или обработку для администраторов, чтобы они видели список пользователей с истекающими ЭЦП.
— Можно отправлять уведомления по электронной почте, если есть такая необходимость.
— В веб-клиенте браузер может запросить разрешение на показ системных уведомлений, это улучшит видимость оповещений.—
Рекомендую посмотреть здесь, как работает механизм оповещений пользователя и центр оповещений в 1С, чтобы использовать их правильно и красиво:
http://wonderland.v8.1c.ru/blog/mekhanizm-opoveshcheniy-polzovatelya-i-tsentr-opoveshcheniy/
-
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.