Отчеты и Аналитика · 11 мин
Как в отчете 1С выделить строку цветом
Как выделить строку цветом в отчете 1С: условное оформление в СКД, настройка отбора по условию, раскраска строк и ячеек, типовые ошибки и примеры.
Выделение строк цветом в отчетах 1С решается через механизм условного оформления. Он встроен в систему компоновки данных (СКД), на которой работают практически все отчеты в типовых конфигурациях: «Управление торговлей», «Бухгалтерия», «ERP», «Зарплата и управление персоналом». Пользователь может настроить подсветку самостоятельно, без изменения конфигурации и без навыков программирования.
Типичные задачи, которые решает условное оформление: подсветить строки с отрицательным остатком красным, выделить клиентов с просроченной задолженностью, отметить заказы со статусом «Не согласован» или документы с нулевой суммой. Условие задается по значению любого поля отчета, а оформление применяется как к отдельной ячейке, так и ко всей строке целиком.
Ниже разобраны оба рабочих сценария: настройка в пользовательском режиме (подходит большинству пользователей) и программное оформление через модуль отчета (для разработчиков и нетиповых случаев). Также приведены проверки результата и типичные ошибки, из-за которых цвет «не срабатывает».
Где находится условное оформление в отчете
В типовых конфигурациях откройте нужный отчет и перейдите в его настройки. Путь зависит от интерфейса, но общая логика одинакова: нажмите «Ещё» (или кнопку настройки на панели отчета) и выберите пункт «Изменить вариант» либо «Настройки». Откроется окно настроек с закладками «Отборы», «Поля», «Группировки», «Условное оформление».
Если закладки «Условное оформление» не видно, переключите настройки в расширенный режим — в простом режиме часть вкладок скрыта. Обычно для этого есть ссылка «Расширенная настройка» или нужно открыть форму «Изменить вариант отчета», где доступны все закладки СКД.
В отчетах, построенных не на СКД (редкие старые или самописные решения), закладки условного оформления не будет — такие отчеты раскрашиваются только программно или через табличный документ после формирования. Если вы не видите нужной закладки и расширенный режим не помогает, уточните у разработчика, на чем построен отчет.
Как выделить строку цветом по условию: пошаговая настройка
Рассмотрим практический пример: в отчете по складским остаткам нужно выделить красным строки, где остаток отрицательный. Порядок действий одинаков для любых отчетов на СКД, меняется только поле и условие.
Ключевой момент — поле «Оформляемые поля». Если оно пустое, оформление применяется ко всей строке отчета. Если перечислить в нем конкретные поля (например, только «Остаток»), цветом выделится только эта ячейка. Это удобно, когда нужно акцентировать внимание на самом проблемном значении, а не на всей строке.
Условий в отборе может быть несколько, они объединяются по «И». Например, чтобы выделить только отрицательные остатки по конкретному складу, добавьте второе условие: «Склад Равно <нужный склад>». Вид сравнения выбирается из списка: равно, не равно, больше, меньше, содержит, в списке и другие варианты.
Подсветка по типовым сценариям
Просроченная задолженность
В отчетах по дебиторке условие обычно строится по полю «Просрочено» или «Дни просрочки»: «Дни просрочки Больше 0» — цвет фона желтый, «Дни просрочки Больше 30» — красный. Важно: элементы условного оформления применяются сверху вниз, и при пересечении условий приоритет имеет более верхний элемент. Поэтому более «строгое» условие (более 30 дней) должно стоять выше общего (больше 0).
Выделение по статусу или виду документа
Если в отчете есть поле со статусом («Согласован», «Отменен», «Черновик»), условие задается через вид сравнения «Равно» с выбором конкретного значения. Для строковых полей удобен вид сравнения «Содержит» — например, подсветить все строки, где в наименовании контрагента встречается «ИП».
Чередование цвета строк («зебра»)
Для улучшения читаемости широких отчетов иногда требуется чередование фона строк. Штатного переключателя «зебры» в пользовательском режиме нет: это решается либо настройками макета в конфигураторе, либо программно. Если такая задача возникает регулярно, поручите её разработчику — самостоятельная доработка типового макета без опыта может сломать внешний вид отчета.
Программное условное оформление для разработчика
Если отчет формируется кодом или настройки нужно задать «жестко» в конфигурации, условное оформление добавляется в схему компоновки данных программно. Элемент создается в коллекции настроек компоновщика, заполняются отбор, оформление и оформляемые поля.
ЭлементОформления = Настройки.УсловноеОформление.Элементы.Добавить();
// Условие
ЭлементОтбора = ЭлементОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Остаток");
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Меньше;
ЭлементОтбора.ПравоеЗначение = 0;
ЭлементОтбора.Использование = Истина;
// Оформление
ЭлементОформления.Оформление.УстановитьЗначениеПараметра("ЦветФона", Новый Цвет(255, 220, 220));
// Пустой список оформляемых полей = вся строка
ЭлементОформления.Использование = Истина;
Программный способ нужен, когда условие нельзя выразить стандартным отбором (например, сравнение двух полей между собой через вычисляемое поле), когда раскраска должна зависеть от прав пользователя или когда настройка должна быть частью поставляемого варианта отчета. Для разовых задач пользователя программный путь избыточен.
Сравнение вариантов
Подходит для большинства задач: подсветка по значению поля, статусу, дате. Не требует прав разработчика, сохраняется в варианте отчета. Ограничение — условия только по полям, доступным в настройках.
Для сложных условий, сравнения полей между собой, зависимости от контекста. Требует навыков разработки и изменения конфигурации или внешнего отчета.
Обход результата после формирования с установкой цвета областей. Гибко, но оформление теряется при каждом пересчете отчета — подходит только для разовой выгрузки.
Как сохранить и проверить результат
После настройки условное оформление живет внутри варианта отчета. Чтобы не потерять настройку, сохраните вариант: «Ещё → Сохранить вариант отчета» (или «Сохранить вариант как»), задайте понятное имя, например «Остатки с подсветкой минусов». При следующем открытии отчета выберите этот вариант — подсветка применится автоматически.
Проверять результат нужно на данных, где условие точно выполняется и точно не выполняется. Сформируйте отчет и убедитесь: строки, подпадающие под условие, окрашены; строки вне условия — нет; при пересечении нескольких правил сработало правильное (верхнее в списке).
Как проверить результат
Фон строк (или заданных ячеек) изменился на выбранный цвет
Цвет не применился — проверьте поле условия, вид сравнения и флаг «Использование» у элемента
Оформление стандартное
Подсвечено лишнее — условие слишком широкое или неверно выбран вид сравнения
Сработало более приоритетное (верхнее) правило
Цвет от другого правила — измените порядок элементов в списке
Вариант сохранен, подсветка на месте
Настройка пропала — вариант не был сохранен или открыт другой вариант
Типичные ошибки и ограничения
Самая частая причина «неработающего» цвета — неверно выбранное поле в условии. В отчете может быть несколько похожих полей (например, «Остаток», «КонечныйОстаток», «ОстатокНаСкладе»), и условие по «не тому» полю просто никогда не выполняется. Сверяйте имя поля в условии с реальной колонкой отчета.
Вторая типичная ситуация — условие по ресурсу, который рассчитывается на уровне группировок. Условное оформление по итоговым полям может вести себя неочевидно на уровне детальных строк и групп. Если подсветить нужны именно итоги по группе, добавьте элемент оформления в настройки конкретной группировки, а не в общие настройки отчета.
Ограничение механизма: условное оформление работает только с полями, доступными в настройках СКД. Если нужного поля нет (например, признак, который не выведен в отчет и не предусмотрен запросом), добавить его пользовательским способом не получится — потребуется доработка запроса отчета разработчиком.
FAQ
Можно ли выделить цветом не всю строку, а только одну ячейку?
Да. В элементе условного оформления заполните «Оформляемые поля» — укажите там только нужную колонку. Тогда цвет фона или шрифта изменится лишь в этой ячейке, остальная строка останется стандартной. Чтобы красить несколько конкретных колонок, перечислите их все в списке.
Почему условное оформление не срабатывает, хотя условие верное?
Проверьте три вещи: включен ли флаг «Использование» у элемента оформления; существует ли поле условия среди выбранных полей отчета; не перекрыто ли правило другим элементом, стоящим выше в списке. Также убедитесь, что тип значения в условии совпадает с типом поля.
Как сделать подсветку доступной всем пользователям?
Сохраните настройку в варианте отчета и отметьте вариант как общий (доступен при наличии соответствующих прав — обычно у администратора или старшего пользователя). Либо разработчик может включить условное оформление в типовой вариант отчета в конфигурации.
Можно ли менять не цвет фона, а цвет текста или шрифт?
Да. В параметрах оформления доступны «Цвет текста», «Шрифт» (в том числе жирный и курсив), «Цвет фона», а также формат и выравнивание. Например, отрицательные суммы часто выделяют красным цветом текста без заливки фона.
Работает ли условное оформление при выгрузке отчета в Excel?
При сохранении табличного документа в формат Excel цвета фона и текста обычно переносятся, так как они являются свойствами ячеек сформированного документа. Однако сложные элементы оформления могут отображаться в Excel с отличиями — проверяйте результат на реальном файле.
Как подсветить строки по условию, которого нет среди полей отчета?
Штатными настройками — никак: условие строится только по полям, доступным в схеме компоновки. Решение — попросить разработчика добавить нужное поле в запрос отчета (как вычисляемое или обычное), после чего условное оформление по нему станет доступно в пользовательском режиме.
Что важно запомнить
Подсветка строк в отчетах 1С настраивается через условное оформление в варианте отчета: задайте условие по полю, выберите цвет и оставьте «Оформляемые поля» пустыми для всей строки. Следите за порядком правил, сохраняйте вариант после настройки и проверяйте результат на данных, где условие выполняется и не выполняется.