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