К статье
Практический материал

Разработка и Конфигурация · 8 мин

Как изменить цвет фона формы в 1С

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

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

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

Какие виды форм существуют и почему это важно

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

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

Изменение цвета фона в конфигураторе

Самый простой способ — задать цвет на этапе разработки формы. Откройте конфигуратор, найдите нужный объект (справочник, документ, обработку), откройте его форму. В обычной форме выделите форму или конкретный элемент, затем в палитре свойств найдите свойство «ЦветФона» и выберите нужный цвет из палитры или задайте его компоненты (красный, зелёный, синий).

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

Порядок действий в конфигураторе
  1. 1
    Откройте конфигуратор и разблокируйте конфигурацию для изменений
  2. 2
    Найдите объект и откройте нужную форму
  3. 3
    Выделите форму или конкретный элемент
  4. 4
    В палитре свойств найдите «ЦветФона» и выберите цвет
  5. 5
    Сохраните конфигурацию и обновите конфигурацию базы данных
  6. 6
    Откройте форму в режиме предприятия и проверьте результат

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

Программное изменение цвета фона

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

В обычной форме код размещают в модуле формы, например в обработчике «ПриОткрытии». В управляемой форме цвет назначают элементам через свойства, доступные в объекте элемента формы. Ниже пример для управляемой формы — установка цвета фона конкретного поля.

bsl
&НаКлиенте
Процедура ПриОткрытии(Отказ)
    Элементы.Комментарий.ЦветФона = Новый Цвет(255, 240, 200);
    Элементы.Статус.ЦветФона = WebЦвета.СветлоЗеленый;
КонецПроцедуры

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

Подсветка строк и ячеек через условное оформление

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

Настройка выполняется в конфигураторе: откройте форму, выделите таблицу или динамический список, в свойствах найдите «УсловноеОформление» и добавьте элемент. Укажите отбор (например, «Проведен = Ложь»), оформление (цвет фона) и оформляемые поля. Тот же механизм доступен пользователям в режиме предприятия через настройку списка — без участия разработчика.

Ограничения и типичные проблемы

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

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

Типичные ошибки
01
Попытка задать ЦветФона всей управляемой форме — свойства нет, код не сработает; красьте отдельные элементы
02
Обращение к элементу формы по неверному имени — ошибка выполнения при открытии формы
03
Ручная подсветка строк списка вместо условного оформления — цвет теряется при обновлении данных
04
Изменение конфигурации без копии — при неудачном обновлении нет пути отката
05
Использование ярких контрастных цветов — текст становится нечитаемым, интерфейс утомляет

Проверка результата и откат изменений

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

Перед изменением конфигурации сделайте выгрузку базы или хотя бы сохраните конфигурацию в файл. Если результат не устроил, откат — это восстановление из копии или возврат свойства в значение «Авто». Пользовательское условное оформление откатывается проще: через «Ещё — Изменить форму» или сброс настроек списка.

Контрольные точки

Как проверить результат

Форма открывается
Норма

Открывается без ошибок, цвет применён

Тревожный признак

Ошибка обращения к элементу — проверьте имя элемента в коде

Читаемость текста
Норма

Текст контрастен фону, всё читается

Тревожный признак

Текст сливается с фоном — подберите другую пару цветов

Стабильность подсветки
Норма

Цвет сохраняется после обновления списка и переоткрытия

Тревожный признак

Подсветка пропадает — перенесите логику в условное оформление

Часто задаваемые вопросы

Можно ли изменить цвет фона всей управляемой формы?

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

Как задать цвет в формате RGB?

Через конструктор: Новый Цвет(255, 240, 200), где числа — интенсивность красного, зелёного и синего от 0 до 255. Также доступны предопределённые значения из коллекции WebЦвета, например WebЦвета.СветлоСерый.

Почему заданный программно цвет не отображается?

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

Может ли обычный пользователь раскрасить список без программиста?

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

Сохранится ли изменение цвета при обновлении конфигурации?

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

Как подсветить строки табличной части по условию?

Используйте условное оформление формы: добавьте элемент, задайте отбор по реквизиту табличной части (например, «Количество = 0»), укажите цвет фона и в оформляемых полях перечислите колонки табличной части. Программно это делается через коллекцию УсловноеОформление формы.

Итог

Что важно запомнить

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