В процессе активной работы пользователей в программах системы «1С:Предприятие» в управляемом интерфейсе часто возникает неудобство из-за всплывающих окон в правом нижнем углу экрана. Такие уведомления появляются при интерактивном сохранении или проведении документов, а также при записи элементов справочников. Разберем особенности работы этого механизма, выясним, почему в платформе нет штатной кнопки полного отключения, и рассмотрим практические способы минимизации их влияния на работу пользователей.
Проанализируем природу появления этих всплывающих окон. Уведомление о проведенной операции или успешной записи генерируется непосредственно ядром платформы «1С:Предприятие». Данный механизм задуман разработчиками платформы как визуальное подтверждение завершения транзакции, что предотвращает повторные нажатия на командные кнопки при медленной связи с сервером или в случаях, когда записанный документ сразу пропадает из списка из-за установленных отборов.
Важно понимать: Встроенный язык 1С и типовые настройки конфигураций не содержат глобального свойства или переключателя для полного подавления системных уведомлений ядра платформы. Процедура ПоказатьОповещениеПользователя() отвечает только за программно инициированные оповещения, тогда как стандартные окна записи вызываются самой платформой.
Рассмотрим штатный подход к снижению визуального шума от уведомлений. В некоторых промежуточных релизах платформы (в частности, в ветке 8.3.10) всплывающие окна были жестко зафиксированы в нижнем правом углу экрана, перекрывая важные элементы форм и списков.
Разберем последовательность действий для настройки расположения окон:
Если требуется полностью исключить показ всплывающих уведомлений на рабочих местах пользователей, рассмотрим вариант с использованием системной автоматизации. Каждое всплывающее окно платформы 1С принадлежит определенному оконному классу операционной системы Windows — V8NotificationWindow.
Мы можем использовать легковесный фоновый процесс на языке AutoIt, который отслеживает создание окон данного класса и моментально закрывает их до того, как они привлекут внимание пользователя. Скомпилированный исполняемый файл можно централизованно распространять на рабочие места через групповые политики Active Directory (GPO).
Посмотрим на пример скрипта:
HotKeySet('{Esc}', '_Exit')
While 1
$winList = WinList("[CLASS:V8NotificationWindow]", "")
For $i = 1 To $winList[0][0]
WinClose($winList[$i][1])
Next
Sleep(200)
WEnd
Func _Exit()
Exit
EndFunc
Разберем логику работы представленного кода:
WinList ищет все открытые в системе окна, относящиеся к классу V8NotificationWindow.For проходит по найденным дескрипторам и отправляет команду закрытия WinClose для каждого оповещения.Sleep(200) обеспечивает минимальную нагрузку на процессор клиентского компьютера, гарантируя при этом быструю реакцию на появление окна.HotKeySet на клавишу Esc используется для удобного завершения процесса при тестировании и отладке скрипта.Нередко системные уведомления путают с другими оповещениями прикладных конфигураций, которые поддаются штатной настройке: