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