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