В процессе работы с программами на платформе 1С:Предприятие 8.3 пользователи часто сталкиваются с раздражающим эффектом: после записи документа или справочника в нижней части экрана появляется полупрозрачное окно с заголовком «Изменение:». Проблема заключается не столько в самом факте появления уведомления, сколько в его поведении — оно может «зависать» на экране, медленно затухать и, что самое неприятное, блокировать нажатие кнопок, которые оно перекрывает. Рассмотрим подробно, почему это происходит и как можно «вылечить» систему от этой назойливой индикации.
Для начала проанализируем ситуацию с технической стороны. То самое желтое окошко с буквой «i» является результатом работы встроенного метода платформы ПоказатьОповещениеПользователю. В интерфейсе «Такси» разработчики используют этот метод для визуального подтверждения того, что данные успешно сохранены в базе. Это стандарт поведения современных конфигураций, таких как УНФ, Бухгалтерия предприятия 3.0 или Управление торговлей 11.
Проблема блокировки кнопок в версии платформы 8.3.13 и близких к ней связана с тем, что прозрачное окно фактически является отдельным графическим слоем. Пока анимация затухания не завершена полностью, этот слой перехватывает клики мыши. Если ваша операционная система настроена на «красивые» плавные переходы, 1С будет подчиняться этим настройкам, растягивая процесс исчезновения окна на несколько секунд.
Если мы не хотим вносить изменения в программный код 1С, первым делом попробуем оптимизировать работу графической подсистемы Windows. Часто именно из-за включенной анимации окон уведомление исчезает слишком медленно. Разберем по шагам, как это исправить:
После выполнения этих действий окна оповещений в 1С должны начать исчезать практически мгновенно, не оставляя «фантомных» зон, блокирующих нажатия.
Если манипуляции с Windows не помогли или недоступны, перейдем к решению задачи на уровне кода. Метод ПоказатьОповещениеПользователю имеет несколько параметров, один из которых отвечает за время отображения окна.
Проанализируем структуру этого метода:
ПоказатьОповещениеПользователю(<Текст>, <ДействиеПриНажатии>, <Пояснение>, <Картинка>, <Важность>, <УникальныйИдентификатор>)
Хотя в официальной документации параметр «Интервал» для этого метода в некоторых версиях платформы скрыт, в коде конфигурации часто вызываются процедуры-обертки. Чтобы найти, где именно формируется оповещение, выполним следующие шаги:
Ctrl + Shift + F).ПоказатьОповещениеПользователю.
// Пример стандартного вызова
ТекстОповещения = НСтр("ru = 'Данные успешно сохранены'");
ПоказатьОповещениеПользователю(ТекстОповещения, , Объект.Ссылка);
Чтобы сократить время жизни окна, можно изменить логику вызова. Если вы хотите полностью отключить это уведомление для конкретного документа, достаточно просто закомментировать соответствующую строку кода символами //. Однако, правильнее будет найти место, где текст уведомления формируется массово для всей системы (обычно это общий модуль работы с формами) и внести изменения там.
Иногда «мертвая зона», в которой не нажимаются кнопки, гораздо больше самого визуального окна. Это часто происходит на мониторах с высоким разрешением (4K) при использовании масштабирования Windows (например, 125% или 150%).
Рассмотрим, как это исправить:
Это заставит 1С самостоятельно отрисовывать интерфейс без вмешательства алгоритмов Windows, что часто решает проблему некорректных координат всплывающих окон.
Важно понимать, что в версии 8.3.13 платформа 1С рисовала эти окна собственными программными средствами. Начиная с версии 8.3.15 и выше, разработчики реализовали возможность интеграции с системным Центром уведомлений Windows 10/11.
Если мы обновим платформу до актуальной (например, 8.3.22 или 8.3.25), то сможем переключить режим отображения оповещений. В этом случае уведомления будут всплывать не поверх интерфейса 1С, а в стандартном боковом меню Windows. Они перестанут блокировать кнопки внутри программы и будут автоматически скрываться системой согласно общим правилам уведомлений ОС. Для реализации такого механизма можно использовать решение для вывода оповещений в центр уведомлений Windows.
Для включения этого режима (в новых версиях) необходимо проверить параметр в настройках программы или использовать команду запуска с определенным флагом, но чаще всего достаточно простого обновления платформы, так как механизм отрисовки «родных» окон 1С в новых релизах был существенно переработан и оптимизирован.
Мы проанализировали ситуацию и выяснили, что «зараза» в виде назойливого окна — это штатный механизм, который работает некорректно из-за настроек графики или особенностей старой версии платформы. Самый быстрый способ решения для пользователя — отключение анимации в настройках Windows. Самый надежный способ для компании — обновление платформы до актуального релиза, где взаимодействие с интерфейсом реализовано более грамотно.