Меняем цвета в 1С 8.3: от настроек пользователя до кода

· 9 мин

Содержание

Единой кнопки «сменить цветовую схему» в 1С 8.3 нет. Цвета окон и кнопок задаёт стиль платформы, а пользователь управляет только тем, что разработчик оставил в настройках. Зато цвет отдельных полей, строк списков и групп на форме менять можно, причём тремя способами: в конфигураторе, через условное оформление и из кода.

Какой способ ваш, зависит от роли. Рядовой пользователь может подсветить строки в списке. Администратор с правом на изменение форм перекрасит поле или группу. Разработчик задаст цвет по условию или из кода. Дальше — по порядку, от простого к сложному.

Что можно перекрасить, а что нет

Сначала расставим границы, чтобы не искать невозможное.

ОбъектМожно менятьКто и где
Строки и ячейки списковЦвет текста, фона, шрифтПользователь или администратор, условное оформление
Поля и реквизиты формыЦвет текста, фона, рамкиРазработчик, свойства элемента формы
Группы и панелиЦвет фона, рамка, отступыРазработчик, свойства группы
Надписи и декорацииЦвет текста, фонаРазработчик
Фон окон, заголовки, кнопки платформыНет, определяет стильТолько разработчик конфигурации, на уровне стиля

💡 Если нужно «потемнее» или «покрупнее» для всего интерфейса, сначала проверьте масштаб и параметры в настройках клиента: вызовите команду настроек программы (значок шестерёнки или меню «Сервис» в зависимости от интерфейса) и посмотрите раздел параметров. Цветовую тему целиком отсюда не сменить, но масштаб и шрифты регулируются.

Договоритесь внутри команды, что означает каждый цвет. Если у одного бухгалтера красный — «просрочено», а у другого — «срочно позвонить», список превращается в пёстрый ковёр, и подсветка перестаёт работать.

Цвета на уровне пользователя: подсветка строк в списках

Без конфигуратора и без прав разработчика можно настроить условное оформление динамических списков: номенклатуры, документов, контрагентов. Работает в тонком клиенте и в веб-клиенте.

  1. Откройте нужный список, например список документов.
  2. Нажмите «Ещё» в командной панели и найдите пункт настройки списка. Название у него вида «Настройка списка…» или похожее.
  3. Перейдите на вкладку «Условное оформление».
  4. Добавьте элемент: задайте условие (например, Сумма больше 100000) и оформление (цвет текста или фона).
  5. Выберите, к каким колонкам применять правило. Если не выбрать, оформится вся строка.
  6. Сохраните настройку.

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

⚠️ Пункт настройки списка может отсутствовать, если разработчик отключил пользовательские настройки у конкретной формы. Тогда подсветку придётся делать в конфигураторе.

Цвет полей и реквизитов в конфигураторе

Здесь меняем внешний вид самой формы, а не данных. Нужны права администратора и режим конфигуратора.

  1. Откройте нужный объект (справочник, документ, обработку) и его форму.
  2. В редакторе формы выделите поле. Рядом откроется палитра свойств.
  3. Найдите свойства цвета: цвет текста, цвет фона, цвет рамки. Нужная часть также зависит от типа элемента, поэтому у надписи и у поля ввода набор слегка различается.
  4. Выберите значение. Доступны три источника:
    • цвета стиля — берутся из стиля конфигурации и меняются вместе с ним;
    • веб-цвета — стандартная палитра, например красный, зелёный, серый;
    • произвольный цвет — задаётся числами RGB.
  5. Сохраните форму и запустите 1С:Предприятие в режиме отладки, чтобы проверить результат.

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

Шрифт настраивается рядом: размер, жирность, начертание. Крупный шрифт и контрастный цвет вместе решают задачу «чтобы бросалось в глаза» лучше, чем один цвет.

Как подобрать цвета, которые читаются

Цвет в 1С задаётся тремя числами от 0 до 255: красная, зелёная и синяя составляющие. Несколько заготовок для условного оформления:

НазначениеЦвет фона (RGB)Цвет текста
Просрочка, ошибка255, 225, 225Тёмно-красный
Внимание255, 245, 200Тёмно-серый или чёрный
Выполнено225, 245, 225Серо-зелёный
Неактуальноебез фонаСерый

Правила простые:

  1. Фон — бледный, текст — тёмный. Насыщенный красный фон под чёрным текстом на плохом мониторе читается хуже, чем бледно-розовый.
  2. Не опирайтесь только на цвет. Часть людей плохо различает красный и зелёный, поэтому добавьте жирный шрифт или отдельную колонку со статусом.
  3. Проверьте форму в чёрно-белом режиме экрана или распечатке. Если смысл ясен без цвета, подсветка сделана правильно.
  4. Не смешивайте больше трёх оттенков на одной форме.

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

Условное оформление: цвет меняется по данным

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

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

  • Оформляемые поля — к каким полям или колонкам применяется правило.
  • Отбор — условие, при котором правило срабатывает.
  • Оформление — цвет текста, цвет фона, шрифт и другие параметры.

Сложные условия собираются из нескольких отборов. Они объединяются как «И» либо как «ИЛИ», как в обычной настройке отбора списка.

ЗадачаУсловиеЧто менять
ПросрочкаДата оплаты меньше текущей, статус не «Оплачено»Цвет текста — красный
Закрытые элементыПометка выполнения включенаЦвет текста — серый
Крупные суммыСумма больше порогаФон — светло-жёлтый, шрифт — жирный

💡 Подбирайте контраст. Светлый текст на светлом фоне в веб-клиенте и на плохом мониторе читается тяжело. Хорошее правило: фон — бледный оттенок, текст — тёмный.

Цвет из кода на встроенном языке

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

Цвет элемента формы

В модуле формы, например в процедуре ПриОткрытии, можно обратиться к элементу и задать свойства:

&НаКлиенте
Процедура ПриОткрытии(Отказ)
    Если Объект.Сумма > 100000 Тогда
        Элементы.Сумма.ЦветТекста = WebЦвета.Красный;
        Элементы.Сумма.ЦветФона = Новый Цвет(255, 245, 200);
    Иначе
        Элементы.Сумма.ЦветТекста = Новый Цвет;
    КонецЕсли;
КонецПроцедуры

Новый Цвет без параметров возвращает «автоматический» цвет, то есть сбрасывает ручную настройку. Для динамичных значений вызывайте код в обработчике изменения реквизита, а не только при открытии: иначе цвет не обновится, пока форму не переоткроют.

Условное оформление списка из кода

Правило добавляют в коллекцию условного оформления формы. Пример: красим текст в колонке Сумма, когда она превышает 100000.

&НаСервере
Процедура ДобавитьПодсветкуСуммы()
    Элемент = УсловноеОформление.Элементы.Добавить();

    Поле = Элемент.Поля.Элементы.Добавить();
    Поле.Поле = Новый ПолеКомпоновкиДанных("Сумма");

    Отбор = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    Отбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Сумма");
    Отбор.ВидСравнения = ВидСравненияКомпоновкиДанных.Больше;
    Отбор.ПравоеЗначение = 100000;

    Элемент.Оформление.УстановитьЗначениеПараметра("ЦветТекста", WebЦвета.Красный);
КонецПроцедуры

Вызывайте процедуру один раз, например из ПриСозданииНаСервере. При повторном вызове правила накопятся дублями, поэтому перед добавлением очистите коллекцию: УсловноеОформление.Элементы.Очистить().

⚠️ Цвет задаётся на стороне клиента, поэтому свойства элементов формы из серверных процедур без контекста доступны не всегда. Если платформа ругается на обращение к Элементы на сервере, вынесите установку цвета в клиентскую процедуру или используйте условное оформление.

Сброс цвета и очистка из кода

Бывает, что нужно вернуть полю исходный вид после того, как условие перестало выполняться. Для этого присвойте автоматический цвет:

&НаКлиенте
Процедура СуммаПриИзменении(Элемент)
    Если Объект.Сумма > 100000 Тогда
        Элементы.Сумма.ЦветФона = Новый Цвет(255, 225, 225);
    Иначе
        Элементы.Сумма.ЦветФона = Новый Цвет;
    КонецЕсли;
КонецПроцедуры

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

Оформление групп и панелей

Цветом удобно разделять блоки формы: шапку, итоги, блок «внимание». Для этого у групп формы настраивают:

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

Если у группы нужного свойства нет, делают «подложку» из декорации. Создайте декорацию-надпись, растяните её на нужную область, задайте цвет фона и разместите в группе перед остальными элементами.

Не злоупотребляйте. Три-четыре цветовых акцента на форму — предел. Когда подсвечено всё, не выделяется ничего.

Веб-клиент и мобильное приложение

Работает не всё одинаково, и это важно проверить до того, как вы переделали полконфигурации.

СредаЦвета полей и условное оформлениеОсобенности
Тонкий клиентПоддерживаются полностьюЭталон поведения
Веб-клиентПоддерживаются, отображение зависит от браузераОттенки могут чуть отличаться
Мобильное приложениеПоддерживаются частичноОформление ограничено, внешний вид задаёт стиль платформы

Что стоит учесть:

  1. Проверяйте цвета в том клиенте, где реально работают люди. Разработчик сидит в тонком клиенте, а бухгалтер — в браузере.
  2. Мелкие оттенки (разница между #FFF5C8 и #FFF3C0) на экранах телефонов не видна.
  3. Для мобильных форм полагайтесь на форму, спроектированную под мобильный интерфейс, а не на перекрашенную настольную.

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

Частые ошибки

  • Цвет есть в конфигураторе, а в программе нет. Форма не обновилась: закройте и откройте её заново или перезапустите клиент. Если в базе включено кэширование интерфейса, возможно придётся сбросить кэш пользователя.
  • Правило условного оформления не срабатывает. Проверьте, что поле в «Оформляемых полях» указано верно, а тип в отборе совпадает с типом колонки: число с числом, дата с датой.
  • Текст не виден. Цвет текста совпал с фоном. Сбросьте оформление элемента и задайте пару заново.
  • Цвет одного пользователя «пропал». Пользовательские настройки списка хранятся отдельно для каждой учётной записи. Если настройки сброшены в профиле, правила исчезнут.
Диагностика: выберите симптом

Частые вопросы

Можно ли сделать тёмную тему во всей 1С?
Нет, у платформы нет переключателя тёмной темы. Меняются отдельные элементы форм и стиль на уровне конфигурации.
Нужны ли права разработчика, чтобы подсветить строки в списке?
Нет. Для динамических списков условное оформление доступно пользователю через настройку списка, если разработчик её не отключил.
Влияет ли цвет на скорость работы?
Практически нет. Заметная нагрузка возможна только от сложных условных оформлений в больших списках.
Как вернуть цвета по умолчанию?
Удалите пользовательские правила условного оформления в настройке списка либо сбросьте настройки формы. В конфигураторе очистите значение свойства цвета.
Почему цвет в мобильном приложении другой?
Мобильная платформа применяет собственный стиль и поддерживает оформление не в полном объёме.