Разработка и Конфигурация · 10 мин
Как в 1С настроить цвет: практическое руководство
Практическое руководство по настройке цвета в 1С: условное оформление списков, цвет шрифта и фона в формах, программное задание цвета через код.
Цвет в 1С используется в нескольких разных местах: подсветка строк в списках документов и справочников, цвет шрифта и фона отдельных элементов формы, раскраска ячеек табличных документов и отчётов. В зависимости от задачи настройка выполняется либо без программирования — через условное оформление формы, либо программно — через объект Цвет и стили конфигурации.
Чаще всего пользователи ищут, как раскрасить строки списка по условию: например, выделить красным непроведённые документы, зелёным — оплаченные заказы, жёлтым — просроченные задачи. Это делается через условное оформление формы списка и не требует написания кода. Для типовых конфигураций (Бухгалтерия, Управление торговлей, ERP) часть таких настроек уже встроена, а свои правила можно добавить через режим «Ещё → Изменить форму» или в конфигураторе.
Ниже разобраны все основные сценарии: от простой подсветки строк до программного задания цвета и типичных ошибок, из-за которых раскраска не срабатывает.
Способы задания цвета в 1С: что где применяется
Прежде чем настраивать, важно понять, какой механизм подходит под вашу задачу. В платформе 1С:Предприятие 8.3 существует четыре основных подхода, и они не взаимозаменяемы.
Первый — условное оформление формы. Работает для динамических списков (списки документов, справочников, регистров) и таблиц формы. Позволяет задать цвет текста, цвет фона и шрифт для строк или отдельных колонок по условию. Настраивается визуально, код не нужен.
Второй — свойства элемента формы. У каждого элемента (поле, надпись, кнопка, группа) есть свойства ЦветТекста, ЦветФона, ЦветРамки. Их можно задать в конфигураторе в палитре свойств или изменить программно при работе формы.
Третий — стили конфигурации. В конфигураторе есть ветка «Общие → Стили», где определены именованные цвета (ЦветаСтиля). Использование стилей вместо абсолютных цветов гарантирует, что оформление будет корректно выглядеть при смене темы интерфейса.
Четвёртый — цвета в табличных документах и отчётах на СКД. Там раскраска задаётся либо в макете, либо через условное оформление схемы компоновки данных.
Как раскрасить строки списка через условное оформление
Это самая востребованная задача. Порядок действий для конфигуратора: откройте нужную форму списка, в дереве элементов найдите основную таблицу (обычно называется «Список»), затем в палитре свойств откройте свойство «УсловноеОформление» и добавьте новый элемент.
В настройке элемента условного оформления три ключевые вкладки. На вкладке «Оформление» выберите, что менять: ЦветТекста, ЦветФона или Шрифт. На вкладке «Условие» задайте отбор — например, «Проведен Равно Нет» или «СуммаДокумента Больше 100000». На вкладке «Оформляемые поля» укажите, к каким колонкам применять оформление; если оставить пустым, раскрасится вся строка.
После сохранения и обновления конфигурации откройте список в режиме предприятия и проверьте результат. Строки, удовлетворяющие условию, должны изменить цвет сразу, без перезапуска сеанса.
- 1Откройте форму списка в конфигураторе и найдите таблицу «Список»
- 2Откройте свойство «УсловноеОформление» и добавьте элемент
- 3На вкладке «Условие» задайте отбор, например ПометкаУдаления = Истина
- 4На вкладке «Оформление» установите ЦветФона или ЦветТекста
- 5На вкладке «Оформляемые поля» укажите колонки или оставьте пустым для всей строки
- 6Сохраните, обновите конфигурацию и проверьте список в режиме предприятия
Настройка без конфигуратора — через «Изменить форму»
В типовых конфигурациях на управляемых формах пользователь с правами администратора может раскрасить список прямо в режиме предприятия. Откройте список, в меню «Ещё» выберите «Изменить форму», найдите в дереве элемент «Список» и в его свойствах откройте «Условное оформление». Добавьте правило по той же логике: условие, оформление, поля.
Учтите ограничение: пользовательская настройка формы хранится отдельно от конфигурации и может сбрасываться при обновлении, если разработчик изменил форму. Для постоянных правил надёжнее вносить изменения в конфигуратор или расширение.
Как изменить цвет элемента формы: поля, надписи, кнопки
Если нужно раскрасить не строку списка, а конкретный элемент — например, сделать красной надпись о задолженности или залить фон поля «Комментарий», — используются свойства элемента формы. В конфигураторе выделите элемент и в палитре свойств найдите ЦветТекста, ЦветФона, ЦветРамки.
Цвет задаётся тремя способами: выбор из палитры (абсолютный цвет), выбор из списка web-цветов или выбор цвета стиля. Предпочтительный вариант — цвет стиля: он адаптируется под тему интерфейса и не «ломается» при смене оформления сеанса.
Динамическое изменение цвета в процессе работы делается программно. Например, подсветить поле красным, если введено недопустимое значение. Код размещается в модуле формы, в обработчике соответствующего события.
&НаКлиенте
Процедура ПодсветитьПоле()
Элементы.Комментарий.ЦветФона = WebЦвета.СветлоРозовый;
Элементы.НадписьДолг.ЦветТекста = Новый Цвет(200, 0, 0);
КонецПроцедурыПрограммное задание цвета: Цвет, WebЦвета, ЦветаСтиля
Встроенный язык предлагает три способа указать цвет. Первый — конструктор Новый Цвет(Красный, Зеленый, Синий), где каждая составляющая принимает значение от 0 до 255. Так, Новый Цвет(255, 255, 0) — это жёлтый.
Второй — перечисление WebЦвета: готовый набор именованных цветов (Красный, СветлоСерый, БледноЗеленый и другие). Удобно, когда не нужен точный оттенок. Третий — ЦветаСтиля: обращение к цветам, определённым в стиле конфигурации, например ЦветаСтиля.ЦветТекстаПоля.
Практическая рекомендация: избегайте жёстко зашитых абсолютных цветов в коде, если элемент должен сочетаться с интерфейсом. Абсолютный цвет уместен для акцентных подсветок (ошибка, предупреждение), а для нейтральных элементов лучше брать цвета стиля.
Сравнение способов задания цвета
Точный оттенок для акцентной подсветки; ограничение — не адаптируется к теме интерфейса
Быстрый выбор именованного цвета без подбора RGB; палитра ограничена стандартным набором
Корректная работа при смене темы и в разных клиентах; требует, чтобы нужный цвет был определён в стиле конфигурации
Цвет в отчётах и табличных документах
Для отчётов на СКД раскраска настраивается в схеме компоновки: закладка «Настройки» → «Условное оформление». Логика та же, что у форм: условие отбора, параметры оформления (ЦветФона, ЦветТекста), список оформляемых полей. Пользователь может добавить своё правило и в режиме предприятия через «Ещё → Изменить вариант отчёта», если разработчик не запретил это в настройках.
В табличных документах (макеты печатных форм) цвет задаётся в свойствах ячейки макета в конфигураторе либо программно при выводе: Область.ЦветФона = WebЦвета.СеребристоСерый;. Учтите, что при печати цветной фон расходует тонер и на чёрно-белом принтере превращается в серый — для печатных форм яркую заливку используют умеренно.
Частые ошибки и как проверить результат
Самая распространённая причина «неработающей» раскраски — условие ссылается на поле, которого нет в запросе динамического списка. Если поле не выбрано в запросе списка, отбор в условном оформлении по нему не сработает или будет вести себя непредсказуемо. Добавьте нужное поле в запрос списка, даже если выводить его в колонку не планируете.
Вторая типичная ошибка — конфликт нескольких правил. Элементы условного оформления применяются сверху вниз, и нижние правила могут перекрывать верхние. Если цвет «не тот», проверьте порядок элементов и при необходимости поднимите приоритетное правило выше.
Третья группа проблем — настройка сделана в пользовательском режиме «Изменить форму», а потом пропала после обновления конфигурации. Проверяйте, где хранится правило: в конфигураторе, в расширении или в пользовательских настройках формы.
Как проверить результат
Строки, подходящие под условие, сразу выделены нужным цветом
Цвет не меняется или меняется у всех строк подряд
Поле присутствует в тексте запроса динамического списка
Поля в запросе нет — правило работать не будет
Текст читаем и в светлой, и в тёмной теме
Тёмный текст на тёмном фоне или блёклые нечитаемые элементы
Что важно запомнить
Для раскраски строк списков используйте условное оформление — оно не требует кода. Для элементов формы задавайте ЦветТекста и ЦветФона, предпочитая цвета стиля. Программно цвет задаётся через Новый Цвет, WebЦвета или ЦветаСтиля. Проверяйте наличие полей условия в запросе списка и порядок правил оформления.
Частые вопросы
Можно ли раскрасить список в 1С без доступа к конфигуратору?
Да, если у вас есть права на изменение формы. Откройте список, выберите «Ещё → Изменить форму», найдите элемент «Список» и добавьте правило в его условное оформление. Помните, что такая настройка хранится в пользовательских настройках и может сброситься при обновлении конфигурации.
Почему условное оформление не срабатывает, хотя условие задано верно?
Чаще всего поле из условия отсутствует в запросе динамического списка. Откройте свойство списка «Настройка списка» или произвольный запрос и убедитесь, что поле там выбирается. Также проверьте, не перекрывает ли ваше правило другое правило, расположенное ниже в списке.
Как задать цвет в формате RGB или HEX?
Платформа работает с RGB: используйте конструктор Новый Цвет(К, З, С) со значениями от 0 до 255. Если у вас цвет в HEX-формате (например, #FF8800), разбейте его на три пары символов и переведите каждую из шестнадцатеричной системы в десятичную: FF → 255, 88 → 136, 00 → 0.
Можно ли раскрасить только одну колонку, а не всю строку?
Да. В элементе условного оформления на вкладке «Оформляемые поля» добавьте конкретные колонки. Правило будет применяться только к ним. Если список полей пуст, оформление распространяется на всю строку целиком.
Сохранится ли раскраска при обновлении конфигурации?
Правила, добавленные в конфигураторе или в расширении, сохраняются. Правила, добавленные пользователем через «Изменить форму», могут быть утеряны, если при обновлении изменилась структура формы. Для постоянных решений используйте конфигуратор или расширение.
Как вернуть цвет по умолчанию, если настройка не понравилась?
Для программно заданного цвета присвойте свойству значение Новый Цвет() без параметров — это «автоцвет», элемент вернётся к оформлению по умолчанию. Для условного оформления достаточно удалить или отключить соответствующий элемент правила.