Как скрыть всплывающие окна о неактивности расширений и другие системные уведомления в 1С:Предприятии?

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

Разработчики, работающие с платформой 1С:Предприятие, нередко сталкиваются с проблемой навязчивых всплывающих окон. Эти окна, сообщающие о неактивных расширениях, статусе фоновых заданий, параметрах производительности или других системных событиях, могут значительно мешать работе, особенно во время отладки в конфигураторе. Когда на небольшом мониторе каждое свободное место на счету, нагромождение таких «монологовых» окон, перекрывающих важные элементы интерфейса (например, индикатор текущей строки или кнопки открытых модулей), становится не просто неудобством, а настоящей проблемой, снижающей продуктивность и вызывающей раздражение.

Мы понимаем это чувство, когда приходится продираться сквозь системные оповещения, чтобы добраться до нужной информации или элемента управления. Цель этой статьи — разобраться, почему возникают эти окна и как мы можем управлять их поведением, чтобы обеспечить более комфортную и эффективную среду разработки и работы в 1С.

Почему всплывающие окна доставляют неудобства?

Давайте подробнее проанализируем ситуацию, которую описывают пользователи. Представьте, что вы отлаживаете фоновое задание. В этот момент в правом нижнем углу экрана начинает расти "нагромождение монологовых окон". Самое крупное из них, например, сообщает о неактивности расширения. Это окно перекрывает критически важные элементы конфигуратора: индикатор текущей строки, который помогает ориентироваться в коде, и кнопки открытых модулей, позволяющие быстро переключаться между файлами. На маленьком мониторе место действительно дорого, и потеря даже небольшой части рабочего пространства становится критичной.

Эта проблема усугубляется, когда одновременно используются два конфигуратора (например, для копии базы и для рабочей), и окна начинают накладываться друг на друга. В таких условиях невозможно полноценно работать, так как приходится постоянно отвлекаться на закрытие или перемещение этих окон, а они могут появляться вновь при следующем серверном вызове или продолжении отладки. Логично, что разработчик хочет избавить себя от бесполезных в данном кейсе окон, чтобы сосредоточиться на решении своей основной задачи.

Управление всплывающими окнами о неактивности расширений

Сообщения о неактивных расширениях — одна из наиболее частых причин появления навязчивых всплывающих окон. Давайте рассмотрим, почему они возникают и какие подходы существуют для их устранения или скрытия.

  1. Причины появления сообщений о неактивности расширения

    Прежде чем скрывать уведомление, важно понимать, почему оно появляется. Мы выясним, что такое сообщение может быть вызвано несколькими причинами:

    • Снятый флажок "Подключать расширение при входе в программу": Если этот флажок снят в свойствах расширения, платформа будет считать его неактивным и уведомлять об этом.

    • Включенный "Безопасный режим" для расширения: В некоторых случаях, особенно при некорректной настройке, безопасный режим может приводить к отключению расширения и соответствующему оповещению.

    • Конфликты совместимости после обновления типовой конфигурации 1С: После обновления конфигурации, особенно нетиповой, расширения могут стать несовместимыми. В таком случае платформа автоматически отключает расширение и выводит сообщение о его неактивности.

    • Ошибки в самом расширении: Если расширение содержит ошибки, которые не позволяют ему корректно подключиться, оно также будет считаться неактивным.

  2. Радикальное решение: удаление или исправление расширения

    Если расширение действительно не используется или вызывает постоянные проблемы, и его неактивность не является критичной для функциональности системы, мы можем рассмотреть его удаление. Это наиболее прямой способ полностью устранить источник оповещения.

    Алгоритм действий:

    1. Сохраняем расширение в файл: Прежде чем удалять, мы обязательно сохраним текущую версию расширения в отдельный файл. Это позволит нам восстановить его, если оно понадобится в будущем или если выяснится, что оно всё-таки было необходимо.

    2. Удаляем расширение из списка подключенных: В режиме конфигуратора или в режиме "Предприятие" (через раздел "Администрирование" -> "Печатные формы, отчеты и обработки" -> "Расширения") мы находим проблемное расширение и удаляем его.

    Этот метод, хоть и является радикальным, полностью устраняет источник оповещения о неактивности расширения. Важно убедиться, что удаляемое расширение действительно не влияет на бизнес-процессы. Как вариант, мы можем починить расширение, если оно не работает, или повторно его добавить, если оно было отключено из-за ошибки.

  3. Программное скрытие уведомлений о неактивности расширений

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

    Реализуем процедуру, которая будет перехватывать и удалять сообщения о неактивных расширениях. Для этого мы используем встроенную функцию ПолучитьСообщенияПользователю().

    Пример размещения кода: такая процедура может быть размещена в серверном модуле и вызываться при запуске программы, например, с использованием аннотации &Перед к процедуре СтандартныеПодсистемыСервер.УстановкаПараметровСеанса. Это позволит перехватывать сообщения до того, как они будут показаны пользователю.

    
    // Пример кода для серверного модуля, предназначенного для фильтрации сообщений
            
    &Перед
    Процедура УстановкаПараметровСеанса(Знач ИмяПользователя, Знач ВнешниеПараметры) Экспорт
        // Получаем все текущие сообщения для пользователя.
        Сообщения = ПолучитьСообщенияПользователю();
                
        // Создаем новый список сообщений, куда будем добавлять только те, которые хотим оставить.
        // Или просто итерируем и удаляем из текущего списка, что может быть менее эффективно при больших списках.
        // В данном примере мы итерируем и удаляем, что потребует особого внимания к индексам
        // или обхода в обратном порядке / с использованием копии.
                
        // Более безопасный способ - создать временный массив для удаления и пройтись по нему
        МассивСообщенийДляУдаления = Новый Массив;
        Для Каждого Сообщение Из Сообщения Цикл
            // Мы ищем сообщения, которые содержат ключевые слова о неактивности расширения.
            // Можно использовать более сложную логику, например, проверять поле Сообщение.Идентификатор
            // или Сообщение.ВидСообщения, если платформа предоставляет такие детали.
            // В данном примере мы используем текстовый поиск.
            Если Сообщение.Текст Подобно "%расширение%неактивно%"
                Или Сообщение.Текст Подобно "%не подключено%"
                Или Сообщение.Текст Подобно "%расширение не может быть применено%" Тогда
                        
                МассивСообщенийДляУдаления.Добавить(Сообщение);
            КонецЕсли;
        КонецЦикла;
                
        // Удаляем собранные сообщения из исходного списка
        Для Каждого СообщениеДляУдаления Из МассивСообщенийДляУдаления Цикл
            Сообщения.Удалить(СообщениеДляУдаления);
        КонецЦикла;
                
        // Помещаем отфильтрованные сообщения обратно для отображения.
        // Если Сообщения теперь пуст, то ничего не будет показано.
        ПоместитьСообщенияПользователю(Сообщения);
    КонецПроцедуры
    

    Важно: Мы должны тщательно продумать условие фильтрации (Сообщение.Текст Подобно "%расширение%неактивно%" и подобные), чтобы случайно не скрыть важные системные сообщения, которые могут указывать на действительно критичные проблемы. Рекомендуем также логировать удаляемые сообщения для последующего анализа.

  4. Готовые решения и расширения для скрытия уведомлений

    Для тех, кто предпочитает готовые решения, существуют сторонние расширения, разработанные специально для универсального отключения подобных уведомлений при старте системы. Эти расширения позволяют нам держать неактивные расширения в базе без постоянных напоминаний.

    Некоторые из таких решений могут отключать как сообщения о неактивных расширениях, так и об ошибках применения конфигурации, в то время как другие сосредоточены только на уведомлениях о расширениях. Мы можем поискать их на специализированных ресурсах или в каталогах решений для 1С.

  5. Контроль информации через Журнал регистрации

    Мы должны помнить, что независимо от скрытия всплывающих окон, информация о неактивных расширениях по-прежнему будет доступна в журнале регистрации 1С:Предприятия. Это очень важный аспект, поскольку он позволяет нам сохранять контроль над состоянием системы, не перегружая интерфейс пользователя.

    Мы можем периодически просматривать журнал регистрации для контроля состояния расширений и оперативного выявления проблем, если они возникнут. Это позволяет нам не пропускать важные системные события, даже если мы решили отключить их навязчивое отображение на экране.

Управление всплывающими окнами о фоновых заданиях и вызовах сервера

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

  1. Отключение отображения параметров производительности

    Всплывающее окно с информацией о параметрах производительности (например, количество вызовов сервера, время их выполнения), которое часто появляется и мешает при отладке в конфигураторе, можно отключить. Мы разберем по шагам, как это сделать.

    Шаги по отключению в конфигураторе:

    1. Открываем конфигуратор 1С.

    2. Переходим в меню `Сервис` -> `Параметры`.

    3. Выбираем вкладку `Запуск 1С:Предприятия`.

    4. Переходим на вкладку `Дополнительно`.

    5. Снимаем флажок `Отображать параметры производительности`.

    Эту же опцию можно отключить и из режима "Предприятие" для текущего пользователя через главное меню (`Сервис` -> `Параметры`). Мы рекомендуем проверить оба места, чтобы быть уверенными, что опция отключена для всех режимов работы.

  2. Управление сообщениями о выполнении операций

    Сообщения о выполнении некоторых длительных операций, таких как проведение документов или выполнение регламентных заданий, не всегда можно полностью отключить средствами платформы. Однако мы часто можем изменить их размер и положение на экране, чтобы они меньше мешали.

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

  3. Система взаимодействия и оповещения о фоновых заданиях

    Фоновые задания выполняются асинхронно, и система 1С:Предприятие способна отслеживать их статус и уведомлять пользователей о завершении или ошибках. Оповещения о событиях и задачах могут быть отправлены через систему взаимодействия (например, в виде сообщений в чате или всплывающих окон, настроенных через эту систему).

    Настройка регламентных и фоновых заданий, включая их расписание и обработку ошибок, доступна администраторам в разделе `Администрирование` -> `Поддержка и обслуживание`. Здесь мы можем настроить, какие уведомления будут генерироваться, и как они будут доставляться.

    Мы можем также реализовать собственную систему оповещений через систему взаимодействия, которая будет более гибкой и менее навязчивой, чем стандартные всплывающие окна. Например, вместо показа всплывающего окна, отправлять уведомление в чат пользователю или администратору.

Другие типы навязчивых всплывающих окон и способы их настройки

Платформа 1С может генерировать и другие типы уведомлений, которые порой бывают излишне навязчивыми. Мы рассмотрим, как их можно настроить или полностью отключить, чтобы сделать работу более комфортной.

  1. Путеводитель по демонстрационной базе

    Если мы работаем с демонстрационной базой, при каждом её открытии может появляться "Путеводитель". Мы можем легко отключить его, чтобы он больше не мешал.

    Обычно достаточно снять флажок `Показывать при открытии программы`, который расположен непосредственно в самом окне путеводителя. После этого путеводитель перестанет появляться.

  2. Новостные оповещения и напоминания об обновлениях конфигурации/платформы

    1С:Предприятие может информировать нас о новостях, обновлениях конфигураций или платформы. Эти уведомления, хотя и полезны, иногда могут быть слишком частыми.

    Мы можем настроить или полностью отключить их через `Новостной центр` или в разделе `Администрирование` -> `Интернет-поддержка и сервисы` -> `Новости`. Достаточно снять флажок `Включить работу с новостями`, чтобы полностью убрать их. Также мы можем настроить подписку на определенные категории новостей, чтобы получать только действительно важную для нас информацию.

  3. Окно с предложением подключить интернет-поддержку пользователей

    Если мы используем нелицензионную или неактивированную версию, или не ввели данные, то может появляться окно с предложением подключить интернет-поддержку пользователей. Мы выяснили, что это окно обычно исчезает после ввода учетных данных 1С:ИТС в соответствующем разделе программы. Если у нас есть действующая подписка, просто вводим данные, и проблема решится.

  4. Новые механизмы отображения ошибок (с платформы 8.3.17)

    С развитием платформы появляются новые возможности для управления пользовательским опытом. Начиная с платформы 8.3.17, появились новые механизмы отображения ошибок, которые предоставляют разработчикам больше контроля.

    Мы можем использовать обработчик ОбработкаОтображенияОшибки и объект ОтчетОбОшибке для более гибкого управления тем, как ошибки представляются пользователю. Это позволяет нам не просто скрывать, но и перехватывать, анализировать и представлять ошибки в более удобной форме.

    Например, вместо навязчивых всплывающих окон для конечного пользователя, мы можем настроить:

    • Запись информации об ошибке в журнал регистрации.
    • Отправку отчета об ошибке администратору по электронной почте или через систему взаимодействия.
    • Отображение краткого, неблокирующего сообщения в статусной строке.
    Этот подход дает нам возможность сохранить важную информацию об ошибках, при этом значительно улучшая пользовательский опыт и снижая уровень "абьюзивного отношения" к разработчику, как было справедливо отмечено в исходном обсуждении.

Подведем итог: хотя некоторые системные оповещения являются важными и сигнализируют о потенциальных проблемах, платформа 1С:Предприятие предоставляет различные механизмы для управления их видимостью и поведением. Мы можем использовать как простые настройки интерфейса, так и более сложные программные решения или готовые расширения.

Наша задача как разработчиков — не просто слепо скрывать все уведомления, а подходить к этому процессу осознанно, выбирая оптимальные методы для каждого типа оповещений. Таким образом, мы можем настроить более комфортную, продуктивную и менее навязчивую среду разработки и работы, позволяющую сосредоточиться на действительно важных задачах, а не на борьбе с всплывающими окнами.

← На главную