Как настроить условное оформление в 1С Предприятии

· 9 мин

Содержание

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

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

Где именно вы хотите раскрасить данные?

Что меняет механизм и где он работает

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

Механизм один и тот же, но точек входа несколько:

  • 📋 Динамические списки — журналы документов, списки справочников, формы списка. Настраивает сам пользователь.
  • 📊 Отчёты на СКД — раскраска ячеек и строк в результате отчёта.
  • 🖥 Управляемые формы — оформление полей и таблиц формы, задаётся в Конфигураторе.
  • 📄 Табличные документы и макеты — там раскраска чаще задаётся иначе, но СКД-отчёт выводит результат в табличный документ уже с применённым оформлением.

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

Условное оформление не меняет сами данные — только их вид на экране и в печати отчёта. Суммы, даты и реквизиты остаются нетронутыми.

Как добавить правило в режиме предприятия

Самый частый сценарий — раскрасить журнал документов или список справочника. Разберём по шагам на примере списка, где нужно выделить красным строки с отрицательным остатком.

  1. Откройте нужный список (например, список документов).
  2. Нажмите Ещё в командной панели → Настроить список….
  3. Перейдите на вкладку Условное оформление.
  4. Нажмите Добавить — появится новый пустой элемент с тремя настройками.
  5. В поле Оформление задайте, что поменять: откройте его, поставьте галочку Цвет текста и выберите красный. Можно отметить сразу несколько свойств.
  6. В поле Условие соберите отбор: поле Остаток, вид сравнения Меньше, значение 0.
  7. В поле Оформляемые поля выберите колонки, которые красить. Оставите пустым — покрасится вся строка.
  8. Нажмите Завершить редактирование, затем ОК. Список сразу перерисуется.

Настройка сохраняется автоматически и привязана к вашему пользователю. Чтобы снять правило, вернитесь на ту же вкладку и либо снимите галочку «Использовать» у элемента, либо удалите его.

Что указать в правиле оформления
Выполнено: 0 / 4

Какие свойства можно менять

В поле «Оформление» доступен целый список параметров. Чаще всего используют:

  • 🎨 Цвет текста и Цвет фона — основная раскраска.
  • 🔤 Шрифт — сделать жирным, курсивом, поменять размер.
  • 👁 Видимость — скрыть строку или ячейку, не удаляя данные.
  • 🔒 Доступность — сделать поле недоступным для редактирования.
  • ✏️ Текст — подменить выводимый текст (например, вместо пустого значения показать прочерк).
  • 🔢 Формат — задать формат вывода числа или даты для конкретных строк.

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

Полезные примеры условий

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

ЗадачаУсловие (отбор)Оформление
Просроченная оплатаДатаОплаты Меньше ТекущаяДатаЦвет текста — красный
Непроведённый документПроведён Равно ЛожьЦвет текста — серый, курсив
Нулевая или отрицательная суммаСумма Меньше или равно 0Цвет фона — светло-жёлтый
Незаполненный реквизитСклад Не заполненоЦвет фона — розовый
Выделить своего контрагентаКонтрагент В списке (ваш список)Шрифт — жирный

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

Как собрать условие в конструкторе отбора

Условие — это обычный отбор системы компоновки данных. Он собирается из строк вида поле + вид сравнения + значение.

Виды сравнения зависят от типа поля. Для чисел и дат — Равно, Не равно, Больше, Больше или равно, Меньше, Меньше или равно. Для любых полей — В списке, Не в списке, Заполнено, Не заполнено. Для строк добавляется Содержит и Начинается с.

Несколько условий объединяются в группы. По умолчанию строки связаны логическим И — должны выполниться все. Если нужно «или», добавьте группу с типом Группа ИЛИ и перенесите в неё нужные строки.

Пример составного условия «просроченный и неоплаченный»:

Группа (И)
├── ДатаОплаты < ТекущаяДата
└── Оплачено = Ложь

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

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

Что происходит, когда правил несколько

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

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

Отсюда практическое правило: частные условия ставьте ниже общих. Если у вас есть широкое правило «все неоплаченные — серым» и узкое «просроченные более 30 дней — красным», узкое должно стоять ниже, иначе серый фон перекроет красный.

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

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

Если правил много и они путаются, временно снимайте галочку «Использовать» у отдельных элементов — так проще понять, какое из них красит конкретную строку.

Оформление в Конфигураторе и отчётах на СКД

Когда раскраска нужна всем пользователям по умолчанию, персональной настройки мало — её задают на уровне конфигурации.

В управляемой форме. У формы есть собственная коллекция условного оформления (в редакторе формы — отдельная вкладка/команда настройки условного оформления). Там правила задаются так же: оформление, отбор, оформляемые поля. Разница в том, что настройка сохраняется в конфигурации и действует для всех.

В динамическом списке формы. Если на форме лежит реквизит типа «Динамический список», его оформление настраивается в свойствах этого реквизита — механизм тот же, что и в режиме предприятия, но зафиксированный разработчиком.

Программно. Элементы условного оформления можно добавлять кодом. Схема такая:

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

ОтборЭлемент = Элемент.Отбор.Элементы.Добавить(
    Тип("ЭлементОтбораКомпоновкиДанных"));
ОтборЭлемент.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.Сумма");
ОтборЭлемент.ВидСравнения   = ВидСравненияКомпоновкиДанных.Меньше;
ОтборЭлемент.ПравоеЗначение = 0;

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

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

В отчётах на СКД. В системе компоновки данных условное оформление — штатная вкладка настроек. Разработчик задаёт правила в схеме компоновки, а пользователь может их дополнить или переопределить в настройках варианта отчёта через Ещё → Изменить вариант…. Здесь часто красят итоговые строки, выделяют отклонения, подсвечивают значения вне нормы. Логика отбора, приоритета и оформляемых полей — ровно та же, что в списках.

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

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

Типичные ошибки и способы их устранения

Условное оформление устроено просто, но несколько ситуаций стабильно сбивают с толку.

Диагностика: выберите симптом

Ещё одна частая мелочь: цвет выбран слишком бледный и на фоне выделенной строки не читается. Берите контрастные сочетания и проверяйте, как раскраска выглядит при наведении курсора, когда строка подсвечивается системой.

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

Сохранится ли условное оформление после закрытия программы?
Да. Персональная настройка списка хранится в базе и привязана к пользователю — при следующем входе раскраска вернётся. Сбросить её можно через Ещё → Установить стандартные настройки.
Можно ли скрыть строку целиком по условию?
Полностью убрать строку из списка условным оформлением нельзя — для этого служит отбор списка. Но можно задать свойство «Видимость» для оформляемых полей, чтобы спрятать содержимое ячеек. Чтобы строки не показывались вовсе, настройте отбор на вкладке «Отбор».
Чем условное оформление отличается от отбора?
Отбор убирает строки из списка — вы их не видите. Условное оформление оставляет все строки на месте и лишь меняет их вид: цвет, шрифт, видимость отдельных ячеек.
Как перенести настроенное оформление другому пользователю?
Через Ещё → Сохранить настройки… можно выгрузить настройку списка и загрузить её другому пользователю командой Загрузить настройки…. Для массового применения оформление задают в конфигурации.
Почему в отчёте раскраска есть, а при выгрузке в Excel пропала?
При сохранении результата СКД в табличный документ оформление обычно переносится. Если вы копируете данные построчно или выгружаете «только значения», форматирование теряется — выгружайте через Сохранить как… из самого отчёта.