Разработка и Конфигурация · 10 мин
Как в 1С сделать фон: настройка фона форм и элементов
Практические способы задать фон в 1С: цвет фона формы и элементов, картинка на фоне, программное управление цветом, ограничения и типичные ошибки.
Фон в 1С — это не одна настройка, а целый набор механизмов: цвет фона формы, цвет фона отдельных элементов, фоновая картинка формы, оформление ячеек таблиц через условное оформление. Какой способ выбрать, зависит от того, работаете вы в управляемых или обычных формах и что именно нужно раскрасить — всю форму, поле ввода, строку табличной части или заголовок.
В управляемых формах (режим «Такси» и обычный интерфейс управляемого приложения) платформа намеренно ограничивает свободу оформления: нельзя произвольно залить форму любой картинкой, как в обычных формах. Это сделано для единообразия интерфейса. Но цвет фона отдельных элементов, условное оформление списков и программная подсветка доступны в полном объёме.
Ниже разобраны все рабочие способы задать фон: от простой настройки в конфигураторе до программного изменения цвета по условию, а также ограничения, о которых часто забывают.
Что именно можно раскрасить в 1С
Прежде чем искать настройку, определите объект. В управляемых формах цвет фона поддерживают: поля ввода, надписи, группы (в том числе страницы), таблицы формы, кнопки (ограниченно). Сама форма целиком в управляемом приложении не имеет настраиваемой картинки фона — её фон определяется темой интерфейса платформы.
В обычных формах (толстый клиент, обычное приложение) возможностей больше: у формы есть свойство фонового рисунка, можно задать способ его отображения — растянуть, замостить, расположить по центру. Это актуально для старых конфигураций, которые ещё не переведены на управляемый интерфейс.
Отдельная задача — раскрасить строки списка документов или табличной части по условию (например, просроченные заказы — красным). Это делается не через свойства элемента, а через условное оформление формы, и механизм там свой.
Проверьте, в каком режиме работает конфигурация
Свойство ЦветФона в конфигураторе или коде
Настраивается в форме, не в запросе
Как задать цвет фона элемента в конфигураторе
Самый простой способ — статическая настройка без программирования. Откройте форму в конфигураторе, выделите нужный элемент (поле, надпись, группу) и в палитре свойств найдите «ЦветФона». Щёлкните по полю выбора и задайте цвет: абсолютный из палитры, из стиля (например, цвет фона подсказки) или web-цвет.
Предпочтительнее выбирать цвета из стиля, а не абсолютные. Цвета стиля адаптируются под оформление платформы и корректно выглядят при смене темы интерфейса. Абсолютный яркий цвет, заданный «в лоб», часто выглядит чужеродно и может стать нечитаемым.
Для групп формы обратите внимание на свойство «Отображение»: если группа отображается как обычная, цвет фона может визуально не отличаться от фона формы. Установите отображение «Слабое выделение» или «Обычное выделение» — тогда заливка станет заметной.
- 1Откройте форму объекта в конфигураторе
- 2Выделите элемент в дереве элементов формы
- 3В палитре свойств найдите ЦветФона и выберите цвет из стиля или палитры
- 4Для группы проверьте свойство Отображение
- 5Сохраните и откройте форму в режиме предприятия для проверки
Как изменить фон программно
Динамическое изменение цвета делается в модуле формы. Доступ к элементу идёт через коллекцию «Элементы», цвет задаётся объектом типа «Цвет». Конструктор принимает три компоненты — красный, зелёный, синий (значения от 0 до 255), либо можно использовать предопределённые цвета из стиля через «ЦветаСтиля».
Типичный пример: подсветить поле «Комментарий» жёлтым, если оно не заполнено, при открытии формы и при изменении. Код размещается в обработчиках «ПриСозданииНаСервере» (начальная установка) и «ПриИзменении» нужного поля.
Для сброса цвета к стандартному присвойте свойству значение «Новый Цвет()» без параметров или цвет из стиля, соответствующий обычному фону поля. Просто «очистить» свойство нельзя — нужно задать корректный цвет.
&НаКлиенте
Процедура ПодсветитьПоле()
Если ПустаяСтрока(Объект.Комментарий) Тогда
Элементы.Комментарий.ЦветФона = Новый Цвет(255, 240, 180);
Иначе
Элементы.Комментарий.ЦветФона = ЦветаСтиля.ЦветФонаПоля;
КонецЕсли;
КонецПроцедурыКак раскрасить строки списка через условное оформление
Условное оформление — правильный инструмент для подсветки строк динамических списков и табличных частей. В форме списка откройте «Все действия» → «Изменить форму» либо в конфигураторе перейдите на закладку «Условное оформление» формы. Добавьте новый элемент настройки: укажите условие отбора (например, «Проведен Равно Нет»), оформление (Цвет фона) и оформляемые поля.
Важно явно указывать оформляемые поля. Если список полей пуст, оформление применится ко всей строке; если нужно подсветить только одну колонку — добавьте её в список полей. Порядок элементов в списке оформления имеет значение: применяются все подходящие, но при конфликте одного свойства приоритет у верхнего элемента.
Для табличной части объекта условное оформление настраивается аналогично в редакторе формы. Условие строится по полям данных формы, например «Объект.Товары.Цена Больше 100000». Проверяйте результат в предприятии: ошибка в имени поля условия не выдаёт сообщения — строка просто не раскрашивается.
Фоновая картинка формы в обычных формах
В обычных формах у формы есть свойство «ФоновыйРисунок» и «СпособОтображенияФоновогоРисунка». В конфигураторе откройте свойства формы, выберите картинку из общей картинки конфигурации или файла и задайте способ отображения: растянуть, замостить (мозаика), по центру, пропорционально.
Программно фоновый рисунок назначается через свойство формы «ФоновыйРисунок» с объектом типа «Картинка» — например, загруженной из файла или из библиотеки картинок. Учитывайте, что картинка хранится в конфигурации или загружается извне; большие файлы увеличивают объём конфигурации и время открытия формы.
Практический совет: фоновая картинка не должна мешать чтению данных. Используйте приглушённые светлые изображения или полупрозрачные текстуры. Яркий фон под полями ввода делает форму нечитаемой и вызывает ошибки при вводе данных.
Ограничения и альтернативы в управляемом интерфейсе
В управляемых формах задать произвольную картинку фона всей формы нельзя — это архитектурное ограничение платформы для единообразия интерфейса. Доступные альтернативы: оформление групп цветом и рамкой, декорации с картинками (элемент «Декорация» с видом «Картинка»), настройка общего стиля конфигурации.
Если задача — брендирование (логотип компании, фирменные цвета), корректный путь — изменить стиль конфигурации и добавить декорацию с логотипом на начальную страницу или на формы через расширение конфигурации. Расширение предпочтительнее прямой правки типовой конфигурации: оно не нарушает поддержку и не снимает конфигурацию с обновления.
Для печатных форм фон и оформление задаются в макете табличного документа: у ячеек макета есть свойства «ЦветФона», «ЦветТекста», «Шрифт». Это отдельная область, не связанная с экранными формами.
Сравнение способов
Быстро и просто для статичной подсветки; не подходит для логики по условиям
Гибко, реагирует на события; требует кода в модуле формы
Стандартный способ для списков и таблиц; не работает для произвольных полей вне коллекций
Безопасно для типовых конфигураций; требует навыков разработки
Типичные ошибки и как их проверить
Частая ошибка — попытка задать цвет фона таблице целиком, ожидая заливки всех строк. Таблица формы не красит строки через своё свойство: используйте условное оформление. Вторая типичная ситуация — код меняет цвет «Элементы.Имя.ЦветФона», но визуально ничего не происходит: проверьте, что имя элемента указано верно и код выполняется на клиенте (для интерактивных изменений).
Ещё одна ошибка — задание цвета в обработчике «ПриОткрытии» до того, как данные загружены, из-за чего условие проверяется по пустым значениям. Переносите логику подсветки в «ПриСозданииНаСервере» после чтения объекта или в обработчики изменения данных.
Как проверить результат
Цвета и подсветка соответствуют задуманному
Оформление видно только в конфигураторе
Строки красятся и не красятся строго по условию
Подсветка срабатывает на лишних строках или пропадает
Контраст текста и фона достаточный
Текст сливается с фоном
Частые вопросы
Можно ли поставить картинку фоном всей формы в управляемом приложении?
Нет, это архитектурное ограничение платформы. Используйте декорации с картинками, оформление групп цветом и настройку стиля конфигурации как альтернативу.
Как раскрасить строку списка документов красным, если документ не проведён?
В форме списка добавьте элемент условного оформления: условие «Проведен Равно Нет», оформление — цвет фона, оформляемые поля оставьте пустыми для всей строки. Проверьте результат в режиме предприятия.
Почему программно заданный цвет не отображается?
Чаще всего неверно указано имя элемента, код выполняется не в том контексте (сервер/клиент) или условие проверяется до загрузки данных. Проверьте имя элемента в дереве формы и перенесите логику в подходящий обработчик.
Как вернуть стандартный цвет фона поля?
Присвойте свойству ЦветФона значение из стиля, например ЦветаСтиля.ЦветФонаПоля, либо пустой объект «Новый Цвет()». Просто удалить значение свойства программно нельзя.
Безопасно ли менять оформление в типовой конфигурации?
Изменения оформления безопаснее вносить через расширение конфигурации: типовая конфигурация остаётся на поддержке и обновляется штатно. Прямая правка типовых форм усложняет обновление.
Как задать фон для ячеек печатной формы?
Фон печатной формы настраивается в макете табличного документа: выделите ячейки макета и задайте свойство «ЦветФона». Это не зависит от оформления экранных форм.
Что важно запомнить
Цвет фона элементов задаётся свойством ЦветФона в конфигураторе или кодом, строки списков раскрашиваются условным оформлением, а фоновая картинка формы доступна только в обычных формах. Для типовых конфигураций используйте расширения и проверяйте результат в режиме предприятия.