Многие пользователи и администраторы систем на базе 1С сталкиваются с тем, что при активной работе с документами правый нижний угол экрана переполняется всплывающими сообщениями о записи или проведении. Эти уведомления могут перекрывать важные элементы интерфейса и отвлекать от работы. В рамках данной статьи мы разберем, как устроены эти оповещения, почему их нельзя отключить одной «галочкой» в настройках, и какие существуют способы решения этой задачи — от простых пользовательских до продвинутых программных методов.
Для начала проанализируем, как именно платформа 1С формирует эти сообщения. В управляемом приложении за вывод подобных окон отвечает встроенный метод платформы ПоказатьОповещениеПользователя (в англоязычном варианте ShowUserNotification). Это системный механизм, который предназначен для информирования пользователя о завершении длительных операций или результатах фоновых процессов.
Важно понимать, что эти сообщения не являются частью бизнес-логики конкретного документа (например, «Реализации товаров и услуг»), а вызываются программным кодом в модулях формы или общих модулях конфигурации. Рассмотрим пример типичного вызова такого оповещения, который часто встречается в типовых решениях:
ТекстОповещения = НСтр("ru = 'Документ успешно проведен'");
ПоказатьОповещениеПользователя(
ТекстОповещения,
ПолучитьНавигационнуюСсылку(Объект.Ссылка),
Строка(Объект.Ссылка),
БиблиотекаКартинок.Информацию32
);
Поскольку этот вызов жестко прописан в коде конфигурации или Библиотеки Стандартных Подсистем (БСП), в интерфейсе программы обычно отсутствует глобальная настройка для его отключения. Попытки отключить «Показатели производительности» (желтые цифры внизу экрана) не принесут результата, так как это совершенно другой механизм мониторинга нагрузки на сервер и клиент.
Если мы не хотим вмешиваться в программный код, рассмотрим самый простой способ минимизировать неудобства. Платформа 1С позволяет изменять положение всплывающих окон.
Разберем по шагам, как это сделать:
Проанализируем ситуацию с хранением настроек: позиция окна сохраняется в локальном кэше пользователя на конкретном компьютере (в папке %AppData%\1C\1cv8). Имейте в виду, что при очистке кэша или смене рабочего места уведомления вернутся в исходное положение (правый нижний угол).
Для радикального решения проблемы нам потребуется механизм Расширений. Это позволит нам не снимать основную конфигурацию с поддержки и при этом точечно изменить поведение программы. Рассмотрим наиболее эффективный путь — перехват процедур в общих модулях.
В современных типовых конфигурациях (БУХ 3.0, ERP, ЗУП) оповещения часто централизованы через функции БСП. Вместо того чтобы править каждый вид документа, мы можем создать расширение и использовать аннотацию &Вместо для процедуры, которая отвечает за вывод сообщений.
Рассмотрим пример логики в расширении:
&Вместо("ПоказатьОповещениеОбУспешнойЗаписи")
Процедура Расш_ПоказатьОповещениеОбУспешнойЗаписи(Параметры)
// Мы можем просто оставить тело процедуры пустым,
// чтобы уведомление не выводилось вовсе.
Возврат;
КонецПроцедуры
Если же вызовы ПоказатьОповещениеПользователя разбросаны по разным модулям форм, можно применить более гибкий подход: создать расширение для общего модуля ОбщегоНазначенияКлиент и добавить условие, которое будет фильтровать сообщения по ключевым словам в тексте (например, игнорировать всё, что содержит слово "проведен").
Проанализируем изменения в последних версиях платформы. Начиная с версии 8.3.15, механизм уведомлений был значительно переработан. Теперь в системе появился Центр оповещений (иконка колокольчика в верхней части интерфейса).
Что это меняет для нас:
Если ваши сотрудники работают через браузер, мы можем задействовать настройки самого веб-обозревателя. Веб-клиент 1С часто использует механизм Push-уведомлений браузера для имитации всплывающих окон.
Посмотрим на алгоритм действий:
В этом случае платформа может либо полностью перестать показывать всплывающие окна, либо начнет отрисовывать их внутри области страницы, что иногда выглядит менее раздражающе.
Подводя итог, мы видим, что штатной настройки «выключить всё» в пользовательском режиме не существует. Однако, мы можем выбрать подходящую стратегию:
Помните, что полное отключение оповещений может привести к тому, что пользователи пропустят информацию о критических ошибках или важных событиях в системе. Поэтому мы рекомендуем не просто отключать метод ПоказатьОповещениеПользователя, а добавлять в код расширения проверку ролей или специальных констант, чтобы оставить возможность управления этой функцией без повторного изменения кода. Для вывода важных сообщений за пределы рабочего окна программы можно использовать инструмент для отображения уведомлений из 1С в центре уведомлений Windows.