Разработка и Конфигурация · 10 мин
Как в 1С поменять цвет фона
Подробная инструкция, как изменить цвет фона в 1С: через стили конфигурации, программно на встроенном языке, условное оформление таблиц и отчётов.
Цвет фона в 1С меняется в нескольких местах, и способ зависит от того, что именно нужно перекрасить: всю форму, отдельное поле, строку таблицы, ячейку отчёта или интерфейс в целом. Универсальной кнопки «сменить фон» в платформе нет — есть набор инструментов: стили конфигурации, свойства элементов формы, условное оформление и программная установка цвета на встроенном языке.
Для пользователя без доступа к конфигуратору доступны только настройки условного оформления в отчётах и списках, где это разрешено разработчиком. Все остальные изменения выполняются в конфигураторе или через расширение конфигурации. Ниже разобраны основные сценарии с точными действиями и примерами кода.
Способы изменить цвет фона: что выбрать
Перед изменением определите объект: цвет фона формы в целом, фон отдельного поля ввода, строки динамического списка, области табличного документа или всего интерфейса. Для каждого случая есть свой инструмент, и подмена одного другим — частая причина того, что «цвет не меняется».
Сравнение вариантов
Подходит для отдельных полей, групп и декораций формы. Настраивается в конфигураторе или программно. Не работает для строк динамического списка.
Подходит для строк и колонок списков, табличных частей и отчётов СКД. Позволяет задавать цвет по условию. Не меняет фон произвольных элементов формы.
Подходят для глобального изменения цветов интерфейса. Требуют правки конфигурации и влияют на всех пользователей.
Подходит для печатных форм и отчётов, построенных без СКД. Задаётся в макете или программно.
Как поменять цвет фона элемента формы в конфигураторе
Откройте конфигуратор, найдите нужный объект (справочник, документ, обработка) и откройте его форму. В дереве элементов формы выделите нужный элемент — поле, группу, декорацию или саму форму — и откройте палитру свойств (правый клик → «Свойства» или Alt+Enter).
Найдите свойство ЦветФона (для формы целиком — свойство формы, для поля — свойство элемента). Нажмите кнопку выбора и задайте цвет одним из способов: абсолютный цвет (конкретный оттенок RGB), цвет стиля (ссылка на элемент стиля конфигурации, например «ЦветФонаПоля»), Windows-цвет (привязка к системным настройкам) или Web-цвет из палитры.
После установки сохраните конфигурацию (F7 для обновления конфигурации базы данных, если менялись объекты метаданных) и запустите режим предприятия для проверки. Изменение свойств формы в расширении конфигурации позволяет не трогать основную конфигурацию — это предпочтительный способ для типовых решений на поддержке.
- 1Откройте форму объекта в конфигураторе или в расширении
- 2Выделите элемент и откройте палитру свойств
- 3Найдите свойство ЦветФона и задайте нужный цвет
- 4Сохраните изменения и обновите конфигурацию базы данных при необходимости
- 5Запустите режим предприятия и проверьте отображение
Как задать цвет фона программно на встроенном языке
Программная установка цвета нужна, когда цвет зависит от условий: например, подсветить поле с ошибкой или раскрасить кнопки по статусу. Цвет создаётся конструктором Новый Цвет(Красный, Зеленый, Синий) со значениями от 0 до 255 либо выбирается из предопределённых коллекций WebЦвета и WindowsЦвета.
Пример для управляемой формы — установка фона поля при открытии:
&НаКлиенте
Процедура ПриОткрытии(Отказ)
Элементы.Комментарий.ЦветФона = Новый Цвет(255, 250, 205); // светло-жёлтый
Элементы.Статус.ЦветФона = WebЦвета.СветлоЗеленый;
КонецПроцедуры
Для обычных форм синтаксис аналогичный, но доступ к элементам идёт через ЭлементыФормы. Учтите ограничение: у динамических списков и таблиц, связанных с ними, программная установка ЦветФона у элемента таблицы не раскрасит отдельные строки — для этого существует только условное оформление.
Как раскрасить строки и ячейки через условное оформление
Условное оформление — единственный штатный способ менять цвет фона строк динамического списка, табличной части или колонок отчёта на СКД по условию. Например, подсветить просроченные документы красным, а проведённые — зелёным.
Для списка в конфигураторе откройте форму списка, выделите элемент списка, в палитре свойств откройте УсловноеОформление и добавьте элемент. Задайте три части: условие отбора (например, «Просрочен = Истина»), оформление (параметр «Цвет фона» — нужный оттенок) и оформляемые поля (какие колонки красить; если оставить пустым — раскрасится вся строка).
Программно условное оформление добавляется через коллекцию УсловноеОформление формы или списка:
ЭлементОформления = Список.УсловноеОформление.Элементы.Добавить();
ЭлементОтбора = ЭлементОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Просрочен");
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ЭлементОтбора.ПравоеЗначение = Истина;
ЭлементОформления.Оформление.УстановитьЗначениеПараметра("ЦветФона", Новый Цвет(255, 220, 220));
В отчётах на СКД условное оформление настраивается на вкладке «Условное оформление» схемы компоновки или в пользовательских настройках отчёта — там пользователь без конфигуратора может сам задать цвет по условию, если разработчик не запретил изменение настроек.
Как выбрать действие
Как изменить цвет фона ячеек табличного документа и печатной формы
Для печатных форм и отчётов, построенных на табличном документе, цвет фона задаётся в макете. Откройте макет объекта, выделите нужную ячейку или диапазон, откройте свойства (правый клик → «Свойства») и установите параметр ЦветФона на вкладке «Оформление».
Программно цвет области меняется так:
Область = ТабличныйДокумент.Область("R2C3:R2C8");
Область.ЦветФона = Новый Цвет(230, 240, 255);
Учтите, что яркие и тёмные фоны в печатных формах расходуют много тонера и ухудшают читаемость при печати на чёрно-белом принтере. Для печатных документов используйте светлые оттенки и проверяйте результат в предварительном просмотре.
Как изменить цвета интерфейса через стили конфигурации
Стили определяют общую цветовую схему прикладного решения: фон форм, цвет полей, шрифтов, навигации. В конфигураторе откройте ветку «Общие → Стили», выберите стиль и измените нужные элементы — например, «ЦветФонаФормы», «ЦветФонаПоля», «ЦветФонаКнопки».
Изменение стиля влияет на всех пользователей и на все формы, где элемент ссылается на этот цвет стиля. Это мощный, но рискованный способ: одна правка меняет вид всей системы. Для типовых конфигураций на поддержке правку стилей лучше выполнять через расширение или вообще отказаться от неё в пользу условного оформления конкретных форм.
Проверка результата и типичные ошибки
После изменения откройте форму в режиме предприятия под тем пользователем и в том клиенте (тонкий, веб), где цвет должен отображаться. Цвета в тонком и веб-клиенте могут слегка отличаться из-за особенностей отрисовки, а в мобильном клиенте часть оформления игнорируется.
Как проверить результат
Элемент или строка окрашены заданным цветом при выполнении условия
Цвет не изменился — проверьте, тот ли элемент отредактирован и обновлена ли конфигурация БД
Строки красятся только при выполнении отбора
Красятся все строки — условие отбора не задано или неверно
Текст контрастен фону
Текст сливается — измените цвет шрифта или осветлите фон
Изменения сохранились (сделаны через расширение)
Изменения пропали — правили основную конфигурацию на поддержке
FAQ: частые вопросы о цвете фона в 1С
Можно ли поменять цвет фона без конфигуратора, обычному пользователю?
Частично. В отчётах на СКД пользователь может настроить условное оформление через «Ещё → Изменить вариант отчёта → Условное оформление», если разработчик не закрыл эту возможность. Изменить фон произвольной формы без конфигуратора нельзя.
Почему цвет фона, заданный программно, не применяется к строкам списка?
Динамические списки рисуются платформой, и свойство ЦветФона элемента таблицы на строки не действует. Единственный штатный механизм раскраски строк — условное оформление списка с отбором по полям данных.
Как вернуть цвет фона по умолчанию?
В палитре свойств очистите значение свойства ЦветФона (кнопка очистки или выбор «Авто») — элемент снова будет использовать цвет из стиля. Для условного оформления удалите соответствующий элемент оформления.
Можно ли задать разный цвет фона для чётных и нечётных строк?
Да, через два элемента условного оформления с вычисляемым полем номера строки, но для динамических списков это требует добавления служебного поля в запрос. Часто проще обойтись стандартным чередованием, если оно предусмотрено стилем.
Влияет ли смена цветов на производительность?
Единичные изменения цвета не влияют. Замедление возможно при большом числе элементов условного оформления со сложными отборами в списках с тысячами строк — в этом случае сократите число условий и упростите отборы.
Как изменить цвет фона в мобильном клиенте 1С?
Мобильная платформа поддерживает ограниченный набор оформления, часть цветов игнорируется системой. Проверяйте результат непосредственно на устройстве и не рассчитывайте на точное совпадение с десктопным клиентом.
Что важно запомнить
Цвет фона в 1С задаётся свойством ЦветФона для элементов формы, условным оформлением для строк списков и отчётов СКД, а стилями — для всего интерфейса. Программно цвет создаётся через Новый Цвет(R, G, B). Типовые конфигурации изменяйте через расширение и проверяйте результат в режиме предприятия.