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

Обучение и Решения · 11 мин

Как изменить цвет в 1С:Предприятие

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

Изменить цвет в 1С:Предприятие можно несколькими способами — и правильный выбор зависит от того, кто вы: обычный пользователь, которому нужно выделить просроченные документы в списке, или разработчик, дорабатывающий конфигурацию. Пользователю доступно условное оформление прямо в режиме 1С:Предприятие через настройки списка и формы, без вмешательства в конфигурацию. Разработчику открыты все возможности: программное изменение цвета текста и фона ячеек, настройка оформления в конфигураторе, работа с объектом «Цвет».

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

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

Способы изменения цвета: что выбрать

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

Сравнение вариантов

Условное оформление в режиме 1С:Предприятие

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

Условное оформление в конфигураторе

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

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

Максимальная гибкость: цвет по любой логике, события ПриВыводеСтроки, ПриПолученииДанных. Требует знания встроенного языка 1С.

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

Условное оформление списка в режиме 1С:Предприятие

Это основной способ для пользователя. Условное оформление позволяет задать правило вида: «если поле Статус равно Оплачен — покрасить строку зелёным». Настройка выполняется прямо в рабочем режиме, без конфигуратора.

Как настроить цвет строк в списке
  1. 1
    Откройте нужный список (документы, справочник, журнал).
  2. 2
    Нажмите «Ещё» и выберите «Настроить список» (либо «Изменить форму» / «Настройки» — зависит от конфигурации).
  3. 3
    Перейдите на закладку «Условное оформление» и нажмите «Добавить».
  4. 4
    В поле «Оформление» нажмите кнопку выбора и задайте цвет текста или фона, шрифт.
  5. 5
    На закладке «Условие» добавьте отбор: поле, вид сравнения, значение.
  6. 6
    На закладке «Оформляемые поля» укажите колонки, к которым применяется цвет (или оставьте пустым для всей строки).
  7. 7
    Нажмите «ОК» и проверьте результат в списке.

Обратите внимание на поле «Оформляемые поля». Если оставить его пустым, цвет применится ко всей строке целиком. Если указать конкретную колонку — окрасится только она. Это удобно, когда нужно подсветить, например, только сумму долга, а не весь документ.

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

Настройка цвета через «Все действия → Настройки формы»

В типовых конфигурациях на управляемых формах (Бухгалтерия, Управление торговлей, ERP) путь может отличаться: в некоторых списках нужно открыть «Ещё → Изменить форму», найти элемент таблицы и в его свойствах открыть «Условное оформление». Логика та же: условие, оформление, оформляемые поля. Если пункт «Настроить список» недоступен, значит, форма списка построена иначе — используйте настройку формы или динамический список.

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

Если раскраска нужна всем пользователям и должна быть частью конфигурации, условное оформление задаётся в конфигураторе. Откройте форму списка в конфигураторе, в дереве элементов выберите таблицу или саму форму, затем в палитре свойств найдите «Условное оформление» и нажмите ссылку «Открыть». Дальше всё аналогично пользовательской настройке: добавляете элемент, задаёте оформление (цвет текста, цвет фона, шрифт), условие отбора и оформляемые поля.

Для статических элементов формы (надписей, полей, кнопок) цвет задаётся напрямую в палитре свойств: «ЦветТекста», «ЦветФона», «ЦветРамки». Цвет можно выбрать из палитры: стиль (автоцвет, меняющийся со сменой темы), Windows-цвета, Web-цвета или абсолютный цвет по модели RGB.

Программное изменение цвета через встроенный язык

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

Условное оформление формы программно

В модуле формы (обычно в обработчике ПриСозданииНаСервере) можно добавить правило условного оформления кодом:

Элемент = УсловноеОформление.Элементы.Добавить();

ПолеЭлемента = Элемент.Поля.Элементы.Добавить();

ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных("Список");

ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));

ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Список.СуммаДокумента");

ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Меньше;

ОтборЭлемента.ПравоеЗначение = 0;

Элемент.Оформление.УстановитьЗначениеПараметра("ЦветТекста", WebЦвета.Красный);

Объект Цвет и способы задания

Цвет в коде задаётся тремя способами: через перечисления WebЦвета и WindowsЦвета (например, WebЦвета.СветлоЗеленый) или через конструктор абсолютного цвета Новый Цвет(255, 200, 200), где числа — компоненты RGB от 0 до 255.

// Прямое изменение цвета элемента формы

Элементы.СуммаДокумента.ЦветТекста = Новый Цвет(180, 0, 0);

Элементы.Шапка.ЦветФона = WebЦвета.СветлоСерый;

В обычных (не управляемых) формах для раскраски строк табличного поля используется обработчик «ПриВыводеСтроки», где доступен параметр ОформлениеСтроки: ОформлениеСтроки.ЦветФона = WebЦвета.Розовый;. В управляемых формах этот механизм заменён условным оформлением.

1c
Элемент.Оформление.УстановитьЗначениеПараметра("ЦветФона", Новый Цвет(255, 230, 230));

Изменение цвета в отчётах на СКД

Отчёты, построенные на системе компоновки данных, раскрашиваются через настройки отчёта. Откройте отчёт, нажмите «Ещё → Изменить вариант» (или «Настройки»), перейдите на закладку «Условное оформление» и добавьте правило: условие по полям данных, оформление (цвет текста, фона) и область применения. Это работает так же, как условное оформление списка, но применяется к результату отчёта.

Разработчик может задать условное оформление в схеме компоновки данных в конфигураторе — тогда раскраска будет у всех пользователей отчёта. Пользовательская настройка сохраняется как вариант отчёта и может быть назначена другим сотрудникам через механизм вариантов отчётов (в типовых конфигурациях — кнопка «Ещё → Выбрать вариант / Сохранить вариант»).

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

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

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

Применение цвета в списке
Норма

Строки, подходящие под условие, окрашены; остальные — стандартные.

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

Окрасились все строки или ни одной — проверьте условие отбора и имя поля.

Порядок правил
Норма

Частное правило выше общего, пересекающиеся условия работают как задумано.

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

Общее правило перекрывает частное — поднимите частное правило выше в списке.

После обновления конфигурации
Норма

Пользовательские настройки сохранились и работают.

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

Настройка пропала — восстановите её или перенесите в расширение/конфигурацию.

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

Типичные ошибки
01
Условие по несуществующему имени поля — правило молча не срабатывает. Проверяйте точное имя поля через настройку формы или конфигуратор.
02
Пустой список оформляемых полей при желании окрасить одну колонку — цвет применяется ко всей строке. Укажите конкретное поле.
03
Правка типовой формы напрямую вместо расширения — при обновлении изменения теряются или блокируют обновление.
04
Ожидание, что личная настройка видна всем — пользовательское оформление индивидуально; для всех нужна настройка в конфигураторе или общий вариант отчёта.

Частые вопросы

Почему условное оформление не срабатывает?

Чаще всего причины три: неверное имя поля в условии (проверьте его через «Изменить форму»), неподходящий вид сравнения (например, «Равно» вместо «Содержит» для строк) или правило перекрыто другим правилом выше в списке. Также проверьте, что настройка применена к нужной таблице, если на форме их несколько.

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

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

Как задать свой цвет, которого нет в палитре?

В диалоге выбора цвета переключитесь на закладку «Абсолютный» и введите значения красного, зелёного и синего компонентов (RGB) от 0 до 255. В коде используйте конструктор Новый Цвет(красный, зелёный, синий).

Пропадут ли мои настройки цвета после обновления 1С?

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

Как раскрасить строки в обычном (не управляемом) приложении?

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

Можно ли выделить цветом ячейку табличного документа при печати?

Да. В макете табличного документа цвет ячейки задаётся в свойствах области (ЦветФона, ЦветТекста), а программно — через свойства области: Область.ЦветФона = WebЦвета.Желтый. Это влияет на печатную форму документа.

Итог

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

Пользователю для изменения цвета строк достаточно условного оформления через «Ещё → Настроить список»: условие, цвет, оформляемые поля. Разработчик задаёт оформление в конфигураторе или кодом через УсловноеОформление формы и объект Цвет. Пользовательские настройки индивидуальны и безопасны, а доработки конфигурации делайте через расширения и после резервной копии.