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

Разработка и Конфигурация · 11 мин

Как поменять цвет текста в 1С

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

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

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

Ниже разобраны все рабочие способы: от простого условного оформления без изменения конфигурации до программного задания цвета в коде и раскраски ячеек табличного документа. Для каждого способа указаны условия применения и ограничения.

Определите, где именно нужно изменить цвет

Прежде чем выбирать способ, ответьте на вопрос: какой объект должен поменять цвет? От этого зависит весь дальнейший порядок действий, потому что механизмы для разных объектов не взаимозаменяемы.

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

Маршрут решения

Как выбрать действие

Нужно раскрасить строки списка по условию (статус, сумма, дата)Используйте условное оформление списка — в пользовательском режиме или в конфигураторе
Нужно изменить цвет конкретного поля или надписи на формеЗадайте свойство ЦветТекста элемента формы в конфигураторе или программно
Нужен цвет в печатной форме (счёт, накладная)Меняйте свойство ЦветТекста области макета табличного документа
Нужно раскрасить данные в отчёте на СКДИспользуйте условное оформление в настройках отчёта

Способ 1. Условное оформление списка без изменения конфигурации

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

В окне настройки добавьте элемент условного оформления: укажите условие (например, «Сумма меньше 0» или «Проведён равно Нет»), затем задайте параметр оформления «Цвет текста» и выберите нужный цвет из палитры. После сохранения строки, удовлетворяющие условию, будут отображаться заданным цветом.

Условие можно строить по любым реквизитам, видимым в списке: датам, статусам, суммам, контрагентам. Допустимо несколько правил одновременно — например, просроченные документы красным, оплаченные зелёным. Если несколько правил применяются к одной строке, приоритет имеет правило, расположенное выше в списке.

Порядок настройки условного оформления списка
  1. 1
    Откройте нужный список (документы, справочник, журнал)
  2. 2
    Через меню «Ещё» выберите «Настроить список» или «Изменить форму»
  3. 3
    Добавьте элемент условного оформления и задайте условие отбора
  4. 4
    В параметрах оформления установите «Цвет текста» и выберите цвет
  5. 5
    Сохраните настройку и проверьте отображение на реальных данных

Способ 2. Цвет текста элемента формы в конфигураторе

Если нужно изменить цвет конкретного поля, надписи или заголовка на форме, это делается в конфигураторе через палитру свойств элемента. Откройте форму объекта, выделите нужный элемент и найдите свойство «ЦветТекста» (для надписей и полей) или «ЦветТекстаЗаголовка» (для заголовков полей).

Значение свойства можно задать тремя способами: выбрать цвет из палитры (абсолютный цвет), указать элемент стиля из выпадающего списка (например, «Цвет отрицательного числа») или оставить «Авто», чтобы использовался цвет по умолчанию. Рекомендуется по возможности использовать элементы стиля — тогда оформление останется согласованным при смене темы интерфейса.

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

Способ 3. Программное изменение цвета в коде

Разработчику доступно программное задание цвета через встроенный язык. Цвет можно получить из коллекций WebЦвета, ЦветаСтиля или создать конструктором Новый Цвет с указанием компонентов RGB.

Типовой приём — установка цвета в обработчике «ПриСозданииНаСервере» или при изменении данных. Например, подсветить поле красным, если значение отрицательное, и вернуть автоматический цвет, когда значение в норме. Для возврата к стандартному цвету присвойте свойству значение Новый Цвет() без параметров — это эквивалент «Авто».

bsl
// Абсолютный цвет из веб-палитры
Элементы.Сумма.ЦветТекста = WebЦвета.Красный;

// Цвет из стиля конфигурации (предпочтительно)
Элементы.Сумма.ЦветТекста = ЦветаСтиля.ЦветОтрицательногоЧисла;

// Произвольный цвет RGB
Элементы.Статус.ЦветТекста = Новый Цвет(0, 128, 0);

// Возврат к цвету по умолчанию
Элементы.Сумма.ЦветТекста = Новый Цвет();

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

Способ 4. Условное оформление в отчётах на СКД

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

В элементе укажите отбор (условие на данные), оформление — параметр «Цвет текста» — и область применения: весь отчёт или конкретные поля. Например, можно раскрасить колонку «Долг» красным при превышении лимита, не трогая остальные колонки. Настройку можно сохранить в варианте отчёта, чтобы она применялась автоматически.

В отличие от программной раскраски, условное оформление СКД не требует доработки кода и корректно работает при группировках и итогах. Это предпочтительный путь для любых задач визуального выделения данных в отчётах.

Способ 5. Цвет текста в табличном документе и печатных формах

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

Если цвет должен зависеть от данных (например, отрицательная сумма в акте сверки), задавайте его программно после вывода области: получите область результирующего табличного документа и присвойте свойству ЦветТекста нужное значение. Работает это только до вывода документа пользователю или при его программной постобработке.

bsl
Область = ТабличныйДокумент.Область("R" + НомерСтроки + "C5");
Если Сумма < 0 Тогда
    Область.ЦветТекста = WebЦвета.Красный;
КонецЕсли;

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

Как проверить результат и типичные ошибки

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

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

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

Строка, подходящая под условие
Норма

Текст отображается заданным цветом

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

Цвет не изменился — проверьте условие отбора и приоритет правил

Строка вне условия
Норма

Цвет стандартный

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

Окрашено всё — условие задано слишком широко или пустое

Смена значения в поле
Норма

Цвет обновляется сразу или после записи

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

Цвет «застывает» — логика не привязана к событию изменения

Печатная форма
Норма

Цвет виден при предпросмотре

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

Цвет есть в макете, но не в выводе — область перекрывается программно

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

Ограничения и альтернативы

Есть ситуации, где цвет текста недоступен или не является лучшим решением. В мобильном клиенте часть возможностей оформления ограничена; в тонком клиенте некоторые свойства оформления табличных полей применяются не ко всем элементам. Текст в кнопках командной панели и системных надписях перекрасить штатно нельзя.

Альтернативы цвету текста: цвет фона ячейки (заметнее для критичных статусов), картинка в строке списка (иконка статуса считывается быстрее цвета), жирный шрифт через параметр оформления «Шрифт». Для пользователей с нарушениями цветовосприятия сочетание цвета с иконкой или текстовой пометкой — обязательная практика.

Итог

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

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

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

Можно ли поменять цвет текста в 1С без конфигуратора?

Да, для динамических списков и отчётов на СКД. Через «Настроить список» или настройки отчёта добавьте условное оформление с параметром «Цвет текста». Изменить цвет произвольного поля формы без конфигуратора нельзя — это требует доработки формы.

Как вернуть цвет текста по умолчанию после программного изменения?

Присвойте свойству ЦветТекста значение Новый Цвет() без параметров — это эквивалент «Авто». В конфигураторе в палитре свойств выберите вариант «Авто» в списке цветов.

Почему условное оформление применилось ко всем строкам списка?

Чаще всего условие отбора пустое или сформулировано слишком широко. Проверьте, что в отборе указаны конкретное поле, вид сравнения и значение. Также убедитесь, что правило не дублируется выше в списке с более общим условием.

Сохранится ли цвет текста при выгрузке списка в Excel?

Нет. Условное оформление динамического списка — это отображение на экране, при выгрузке в табличный документ или Excel переносятся только значения. Если нужна цветная выгрузка, формируйте отчёт на СКД с условным оформлением и сохраняйте его результат.

Как сделать цвет, зависящий от сложного условия, которое не задать отбором?

Используйте программное оформление: для формы — установку ЦветТекста в обработчиках событий, для списка — обработчик «ПриПолученииДанныхНаСервере» с заполнением коллекции ОформленияСтрок. Это требует доработки конфигурации и аккуратности с производительностью.

Влияет ли смена темы интерфейса на заданные цвета?

Цвета, заданные абсолютно (из палитры или RGB), не меняются и могут стать нечитаемыми на другой теме. Цвета, взятые из элементов стиля (ЦветаСтиля), подстраиваются автоматически. Поэтому для доработок рекомендуется использовать элементы стиля.