Разработка и Конфигурация · 12 мин
Как сделать 1С цветной: раскраска форм, списков и полей
Как сделать 1С цветной: настройка условного оформления, раскраска списков и полей, цвета стиля, примеры кода и типичные ошибки при работе с цветом в 1С.
«Цветная 1С» — так обычно называют задачу визуального выделения данных в программе: подсветить просроченные заказы красным, оплаченные счета зелёным, пометить важные строки в списках. В 1С это реализуется несколькими способами: через условное оформление форм, настройку стилей, программное изменение цвета элементов и через пользовательские настройки списков в режиме «Предприятие».
Выбор способа зависит от того, кто вы — пользователь или разработчик, и что именно нужно раскрасить. Пользователю доступна настройка условного оформления списков прямо из интерфейса без изменения конфигурации. Разработчику дополнительно доступны цвета стиля, программная установка цвета фона и текста элементов формы, а также оформление ячеек табличных документов в отчётах.
Важно понимать ограничение: нельзя просто «сменить тему» всей программы одной кнопкой, как в браузере. Цветовое оформление в 1С настраивается поэлементно — для списков, полей, кнопок и областей отчётов. Ниже разберём все рабочие способы от простого к сложному.
Что именно можно раскрасить в 1С
Прежде чем приступать к настройке, определите объект раскраски — от этого зависит инструмент. В 1С можно менять цвета у следующих элементов:
- строки списков документов и справочников (например, подсветить просроченные заказы);
- отдельные поля формы — цвет фона, цвет текста, цвет рамки;
- ячейки табличных документов в отчётах и печатных формах;
- элементы оформления через стили конфигурации (цвета кнопок, заголовков, навигации);
- картинки и надписи на управляемых формах.
Наиболее востребованный сценарий — раскраска строк списков по условию. Например, менеджеры хотят видеть неоплаченные счета красным, а отгруженные — зелёным. Это решается условным оформлением без единой строки кода.
Раскраска списка без программирования: условное оформление в режиме «Предприятие»
Пользователь типовых конфигураций (УТ, ERP, Бухгалтерия, Управление нашей фирмой) может раскрасить список самостоятельно. Для этого не нужны права разработчика и изменение конфигурации — настройка сохраняется персонально для пользователя или для всех, если есть права администратора.
Порядок действий на примере списка заказов:
- Откройте нужный список, например «Продажи — Заказы клиентов».
- В меню «Ещё» выберите пункт «Настроить список» (в некоторых конфигурациях — «Изменить форму» или «Настройка списка»).
- Перейдите на закладку «Условное оформление» и добавьте новый элемент.
- Задайте условие: например, поле «Статус» равно «Не согласован».
- На закладке «Оформление» выберите параметр «Цвет фона» и укажите нужный цвет, например светло-красный.
- Сохраните настройку и проверьте результат в списке.
- 1Откройте список и выберите «Ещё — Настроить список»
- 2Добавьте элемент условного оформления и задайте условие отбора
- 3Укажите оформление: цвет фона или цвет текста
- 4Сохраните настройку и проверьте подсветку строк в списке
Несколько практических нюансов. Условий может быть несколько — они применяются сверху вниз, поэтому более важные правила ставьте выше. Цвет фона лучше выбирать светлых оттенков: насыщенный красный или синий делает текст нечитаемым. Если настройка не применяется, проверьте, не сброшены ли пользовательские настройки списка и совпадает ли имя поля в условии с реальным реквизитом.
Условное оформление в конфигураторе: для разработчиков
Если настройка нужна всем пользователям и должна быть частью конфигурации, условное оформление задаётся в конфигураторе на уровне формы. Откройте форму списка, перейдите на закладку «Условное оформление» в свойствах формы и добавьте элементы оформления с условиями отбора — логика та же, что в пользовательском режиме, но настройка хранится в конфигурации.
Для динамических списков условие строится по полям запроса. Важно, чтобы поле, по которому проверяется условие, присутствовало в выборке запроса динамического списка, иначе оформление не сработает. Если поле нужно только для условия, добавьте его в запрос, но не выводите в таблицу.
Программно элементы условного оформления тоже можно добавлять — через коллекцию УсловноеОформление формы или динамического списка. Это полезно, когда оформление зависит от настроек, хранящихся в базе:
Элемент = Список.УсловноеОформление.Элементы.Добавить();
Отбор = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
Отбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Просрочен");
Отбор.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
Отбор.ПравоеЗначение = Истина;
Элемент.Оформление.УстановитьЗначениеПараметра("ЦветФона", WebЦвета.СветлоРозовый);Программная установка цвета элементов формы
Когда нужно раскрасить конкретное поле, надпись или кнопку на форме, используются свойства ЦветФона, ЦветТекста и ЦветРамки. Их можно задать как в конфигураторе в палитре свойств элемента, так и программно в модуле формы.
Цвет задаётся тремя способами:
WebЦвета.Красный— из предопределённой коллекции веб-цветов;Новый Цвет(255, 200, 200)— произвольный цвет по модели RGB;ЦветаСтиля.ЦветАкцентнойКнопки— ссылка на цвет стиля конфигурации.
Пример: подсветить поле «Сумма долга» красным, если долг есть, и вернуть стандартный цвет, если долга нет:
Если Объект.СуммаДолга > 0 Тогда
Элементы.СуммаДолга.ЦветТекста = Новый Цвет(200, 0, 0);
Иначе
Элементы.СуммаДолга.ЦветТекста = Новый Цвет(); // автоцвет
КонецЕсли;Чтобы вернуть цвет «по умолчанию», присвойте пустой цвет — Новый Цвет(). Это важно: если просто задать белый, элемент будет выглядеть чужеродно в других стилях оформления. Типичный сценарий — динамическая подсветка при изменении данных: код размещают в обработчике ПриИзменении поля или в процедуре, обновляющей форму.
Цвета стиля: единое оформление конфигурации
Стили в 1С — это наборы цветов и шрифтов, которые применяются ко всей конфигурации. Найти их можно в конфигураторе: ветка «Общие — Стили» и «Общие — Элементы стиля». Через элементы стиля задаются, например, цвет фона формы, цвет текста заголовков, цвета кнопок по умолчанию.
Изменение элемента стиля меняет оформление всех форм, где этот элемент используется. Это правильный способ «перекрасить» конфигурацию целиком: вместо того чтобы задавать цвет каждой кнопки, вы меняете один элемент стиля, например «Цвет кнопки».
Однако есть ограничения. Изменение стилей — это доработка конфигурации, она требует снятия объектов с поддержки (или выполняется в расширении) и усложняет обновление типовых решений. Для типовых конфигураций безопаснее использовать расширение: в нём можно переопределить элементы стиля, не трогая основную конфигурацию.
Цвет в отчётах и печатных формах
Отчёты на системе компоновки данных (СКД) раскрашиваются через условное оформление настроек отчёта — и в конфигураторе, и в пользовательском режиме через кнопку «Ещё — Изменить вариант отчёта». Логика аналогична спискам: задаётся условие (например, «Рентабельность меньше 0») и оформление (красный цвет текста). Можно также оформлять отдельные поля независимо от условий — задать цвет колонки «Итого» жирным шрифтом на сером фоне.
В печатных формах, построенных на табличном документе, цвет задаётся в макете: выделите ячейки макета и в палитре свойств установите цвет фона и текста. Программно при выводе области цвет ячейки меняется через свойство ЦветФона области табличного документа:
Область = ТабДок.Область("R" + НомерСтроки + "C3");
Если Сумма < 0 Тогда
Область.ЦветТекста = WebЦвета.Красный;
КонецЕсли;Как выбрать подходящий способ
Способ раскраски определяется двумя вопросами: кто выполняет настройку и должна ли она быть общей для всех пользователей. Ориентируйтесь на следующую схему.
Как выбрать действие
Проверка результата и ограничения
После настройки проверьте раскраску на реальных данных: создайте или найдите объекты, удовлетворяющие условию, и объекты, ему не удовлетворяющие. Убедитесь, что подсветка срабатывает только там, где нужно, и что текст остаётся читаемым. Проверьте работу у пользователя с ограниченными правами — иногда поле условия недоступно из-за настроек RLS или прав на реквизит, и оформление не применяется.
Как проверить результат
Подсвечены выбранным цветом, текст читаем
Подсветки нет или окрашены лишние строки — проверьте условие отбора
Цвет меняется при выполнении условия и возвращается к стандартному
Цвет «застревает» — нет ветки возврата к автоцвету
Условное оформление срабатывает на нужных строках
Оформление пропадает — проверьте, не сброшен ли вариант отчёта
Учтите и ограничения платформы. В web-клиенте и мобильном клиенте часть возможностей оформления работает иначе или не поддерживается — тестируйте результат именно в том клиенте, которым пользуются сотрудники. Табличные поля в обычных формах (устаревший интерфейс) раскрашиваются через обработчик ПриПолученииДанных и оформление ячеек — это отдельный механизм, не совместимый с условным оформлением управляемых форм.
Что важно запомнить
Пользователю для раскраски списков достаточно условного оформления через «Настроить список». Разработчику доступны условное оформление форм, свойства ЦветФона и ЦветТекста, цвета стиля и оформление отчётов СКД. Используйте светлые оттенки, возвращайте автоцвет при снятии условия и дорабатывайте типовые конфигурации только через расширения.
Частые вопросы
Можно ли полностью сменить тему оформления 1С, например на тёмную?
Штатной «тёмной темы» в платформе нет. Можно изменить элементы стиля конфигурации, но это трудоёмкая доработка, и не все элементы интерфейса управляются стилями. Некоторые разработчики частично решают задачу настройкой стилей и цветов форм, но полноценной смены темы одним переключателем платформа не предоставляет.
Почему условное оформление списка не срабатывает?
Чаще всего поле, по которому задано условие, отсутствует в запросе динамического списка или имя поля указано с ошибкой. Также проверьте, не перекрыта ли конфигураторская настройка пользовательской, и видит ли пользователь это поле с учётом своих прав.
Можно ли раскрасить список по-разному для разных пользователей?
Да. Пользовательские настройки списка сохраняются индивидуально, поэтому каждый сотрудник может задать свою подсветку через «Настроить список». Если нужна централизованная, но разная для ролей раскраска, её добавляют программно с проверкой роли текущего пользователя.
Как задать цвет произвольного оттенка, которого нет в WebЦвета?
Используйте конструктор Новый Цвет(Красный, Зеленый, Синий) со значениями от 0 до 255 по каждому каналу. Например, Новый Цвет(255, 235, 200) даст мягкий персиковый фон.
Будет ли раскраска работать в web-клиенте?
Условное оформление списков и форм в web-клиенте работает, но отдельные тонкости (некоторые шрифтовые эффекты, отдельные виды оформления ячеек) могут отличаться. Всегда проверяйте результат в том клиенте, в котором реально работают пользователи.
Как раскрасить ячейки табличной части документа?
Для табличных частей на управляемой форме используется условное оформление формы с указанием в оформляемых полях колонок табличной части, а условие строится по полям строки, например «Объект.Товары.Цена больше 10000». Программная раскраска отдельных ячеек управляемой таблицы напрямую не поддерживается — только через условное оформление.