Разбор от сообщества: Включение темной темы в интерфейсе "версия 8.5" по умолчанию | infolimp.ru

Разбор от сообщества: Включение темной темы в интерфейсе "версия 8.5" по умолчанию

16 августа 2026 · infolimp.ru

С выходом очередного обновления платформы (условно называемого в сообществе «версия 8.5») темная тема интерфейса стала предлагаться по умолчанию. На первый взгляд — косметическое изменение. Но за ним скрываются риски, которые проявятся не сразу: от «слепых» кнопок до падения производительности на старых конфигурациях. Разбираем механику, ловушки и даём чек-лист для безопасного внедрения.

Контекст и ситуация

В актуальных версиях платформы 1С:Предприятие 8.3 (начиная с 8.3.2x) появилась возможность переключения между светлой и тёмной темами интерфейса. Однако до недавнего времени тема по умолчанию оставалась светлой. С релизом, который сообщество окрестило «8.5», ситуация изменилась: при создании новой информационной базы или обновлении существующей (если не заданы явные параметры) платформа автоматически включает тёмную тему.

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

Ключевой тезис: Включение тёмной темы по умолчанию — не просто смена палитры, а изменение системных цветов, на которые завязаны все элементы формы. Если ваш код или расширение не используют системные цвета, они сломаются.

Технический разбор: как платформа выбирает тему

Механизм выбора темы по умолчанию

Платформа определяет тему в следующем порядке приоритета (от высшего к низшему):

  1. Параметр командной строки /Theme Dark или /Theme Light.
  2. Настройка в файле 1Cv8.ini (секция [General], ключ Theme).
  3. Настройка в свойствах информационной базы (в конфигураторе: Администрирование → Настройки информационной базы → Интерфейс).
  4. Значение по умолчанию, заданное в конфигурации (свойство ИспользоватьТемнуюТему в корне конфигурации — доступно в режиме совместимости 8.3.20+).
  5. Если ничего не задано — платформа использует тему, установленную в операционной системе (начиная с версии 8.3.25).

Именно последний пункт стал причиной «внезапного» появления тёмной темы: на Windows 11 с тёмной темой ОС платформа автоматически подхватывает её, если не переопределено явно.

Программное определение текущей темы

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

Функция ТекущаяТемаТемная() Экспорт
    ЦветФона = ЦветФонаФормы();
    // Светлая тема: фона обычно белый (RGB 255,255,255)
    // Тёмная тема: фона тёмно-серый (RGB 43,43,43)
    Возврат ЦветФона < 128; // упрощённо
КонецФункции

Однако такой подход ненадёжен: пользователь мог изменить тему вручную, а системные цвета могут быть переопределены. Для точного определения лучше использовать COM-объект COMОбъект с обращением к настройкам платформы (через GetTheme внешней компоненты), но это выходит за рамки стандартного API.

Ловушка: тёмная тема и пользовательские расширения

Самая частая проблема — расширения конфигурации, которые задают цвета элементов форм «жёстко»:

Элементы.Кнопка.ЦветФона = WebЦвета.Белый;
Элементы.Кнопка.ЦветТекста = WebЦвета.Черный;

При переключении на тёмную тему фон кнопки остаётся белым, а текст — чёрным. Визуально это ещё терпимо. Но если разработчик задал ЦветТекста = WebЦвета.Белый (для светлой темы), то на тёмном фоне текст станет невидимым.

Предупреждение: Никогда не используйте жёсткие цвета в формах, если не хотите получить «слепые» элементы при смене темы. Всегда полагайтесь на системные цвета (ЦветФонаФормы(), ЦветТекстаФормы()) или наследуйте их от родительского элемента.

Пример корректного кода с учётом темы

// Правильно: используем системные цвета
Элементы.Кнопка.ЦветФона = ЦветФонаФормы();
Элементы.Кнопка.ЦветТекста = ЦветТекстаФормы();
// Или наследуем от родителя
Элементы.Кнопка.ЦветФона = Неопределено; // будет взят из родительского элемента

Сравнение подходов: системная тема vs принудительная настройка

Выбор между тем, чтобы оставить тему по умолчанию (автоматически подхватываемую из ОС) или принудительно задать светлую/тёмную, зависит от контекста. Ниже — ключевые критерии.

Когда стоит оставить тему по умолчанию

Когда нужно принудительно отключить тёмную тему

Принудительно задать тему можно через параметр запуска /Theme Light или через настройки информационной базы в конфигураторе. Для всех пользователей — через файл 1Cv8.ini в каталоге базы.

Практическое руководство: что делать прямо сейчас

Чек-лист для администратора и разработчика

  1. Проверьте, какая тема активна по умолчанию. Запустите базу с параметром /C "ПоказатьТему" (если есть внешняя обработка) или просто откройте любую форму и посмотрите на цвет фона.
  2. Протестируйте все ключевые формы при тёмной теме. Особое внимание — формам со списками, табличными полями и кнопками.
  3. Проверьте расширения. Если расширение задаёт цвета через ЦветФона или ЦветТекста — замените на системные цвета или наследование.
  4. Настройте принудительную тему для баз, где тёмная тема вызывает проблемы. Используйте параметр /Theme Light в ярлыке запуска или в настройках базы.
  5. Обновите документацию для пользователей: объясните, как переключить тему вручную (через меню «Настройки» → «Интерфейс»).

Типичные ошибки

Меха
Расширение «НОПик» для 1С — встраиваемый коннектор к внешнему AI с интеллектуальным поиском по базе. Задавайте вопросы обычными словами - AI сам найдёт нужное. 45 дней бесплатно.

Попробовать НОПик →
Знаете ответ на такие вопросы не хуже автора статьи? Пройдите бесплатную анонимную проверку уровня на infolimp.ru - 3 практических задачи, 15 минут, публичный токен-профиль, который можно показать работодателю или заказчику. Без регистрации по почте.

Проверить свой уровень бесплатно →