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

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

Вопрос комфортной работы в интерфейсе программных продуктов «1С» становится всё более актуальным, особенно для тех, кто проводит за монитором более 8 часов в день. Яркий белый фон и высокая контрастность стандартного оформления могут приводить к быстрой утомляемости глаз. В этой статье мы подробно разберем, как реализовать темную тему в 1С, проанализируем технические нюансы настройки элементов формы и выясним, какие свойства платформы помогут нам добиться профессионального результата.

Встроенная поддержка темной темы в современных версиях платформы

Прежде чем приступать к ручным изменениям в конфигураторе, проанализируем возможности самой платформы. Начиная с версии 8.3.17, разработчики «1С» добавили нативную поддержку темного режима. Если вы используете актуальную версию платформы, система может автоматически подстраиваться под настройки вашей операционной системы (Windows, macOS или Linux).

Рассмотрим, как управлять этим поведением программно или через свойства конфигурации. В корне дерева метаданных существует параметр ВариантОформленияИнтерфейса. Мы можем установить его в одно из трех значений:

  1. Авто — система ориентируется на настройки ОС.
  2. Светлый — принудительная классическая тема.
  3. Темный — активация темного интерфейса независимо от внешних факторов.

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

Ручная настройка элементов формы: борьба с чередованием цветов

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

Для решения этой задачи в свойствах таблицы (списка или табличной части) необходимо найти и настроить следующие параметры:

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

Режим выделения строки и контрастность

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

Посмотрим на свойство РежимВыделенияСтроки. Если установлено значение «Ячейка», выделяться будет только одно поле, что на темном фоне может выглядеть неаккуратно. Установка значения Строка позволяет визуально объединить выделение, делая интерфейс более целостным.

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

Работа с глобальными стилями в Конфигураторе

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

Рассмотрим основные системные цвета, которые подлежат переопределению:

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

Эргономика темной темы: почему черный — это не всегда хорошо

Проанализируем ситуацию с точки зрения медицины и дизайна. Чисто черный фон (код #000000) в сочетании с кипенно-белым текстом (#FFFFFF) создает избыточный контраст. Это приводит к так называемому «эффекту ореола», когда буквы начинают расплываться. Это особенно критично для людей с астигматизмом.

Разберем рекомендации по выбору палитры:

  1. Фон: Используйте глубокие оттенки серого, например, #121212 или #1E1E1E. Это снижает нагрузку на сетчатку.
  2. Текст: Выбирайте мягкие тона — кремовый, светло-серый или очень бледно-голубой.
  3. Акценты: Для кнопок и важных элементов (например, кнопки «Провести и закрыть») лучше использовать приглушенные цвета, чтобы они не превращались в яркие пятна на темном полотне.

Проблема иконок и векторной графики

Одной из самых трудоемких задач при внедрении темной темы является адаптация иконок. Большинство стандартных картинок в старых конфигурациях 1С — это растровые изображения (PNG или BMP), созданные для светлого фона. У них часто есть темная обводка, которая полностью сливается с черным фоном.

Посмотрим на пути решения этой проблемы:

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

Использование условного оформления

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

Рассмотрим пример кода для программной настройки оформления, которое будет учитывать тему:


ЭлементОформления = Список.УсловноеОформление.Элементы.Добавить();
ЭлементОформления.Оформление.УстановитьЗначениеПараметра("ЦветТекста", ЦветаСтиля.ВажнаяНадписьТемнаяТема);
ЭлементОформления.Использование = Истина;
// Добавление условий отбора

Такой подход позволяет динамически подстраивать цвета под выбранную пользователем схему.

Автоматизация через расширения конфигурации

Если вы не хотите вносить изменения в основную конфигурацию, проанализируем возможность использования расширений. Можно написать программный обработчик в модуле управляемого приложения, который при создании любой формы будет выполнять «обход» всех элементов и программно менять их свойства ЦветФона и ЦветТекста. В качестве альтернативы ручному написанию кода можно использовать готовое расширение с набором темных и светлых цветовых тем.

Выясним преимущества такого метода: он позволяет внедрить темную тему даже в типовые конфигурации (БП, УТ, ЗУП) без снятия их с поддержки. Однако помните, что такой «обход» может незначительно замедлить открытие сложных форм с большим количеством реквизитов.

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

← На главную