Разработка и Конфигурация · 9 мин
Как раскрасить журнал документов в 1С
Как раскрасить строки журнала документов в 1С через условное оформление: настройка без кода и программно, условия, цвета, типичные ошибки и проверка результата.
Раскрасить журнал документов в 1С можно двумя способами: через настройку условного оформления прямо в режиме предприятия (без изменения конфигурации) или через конфигуратор — в форме списка или программно. В обоих случаях используется один и тот же механизм: условное оформление динамического списка, которое меняет цвет фона, текста или шрифт строки в зависимости от значений реквизитов документа.
Типовые задачи, которые решает раскраска журнала: выделить непроведённые документы серым, пометить помеченные на удаление красным, подсветить документы на крупную сумму или по конкретному контрагенту. Это снижает количество ошибок при визуальном просмотре списка и ускоряет поиск нужных документов.
Ниже разобраны оба подхода с конкретными шагами, ограничениями и проверкой результата. Примеры ориентированы на управляемые формы (1С:Предприятие 8.3), поскольку в обычных формах механизм настройки другой и встречается всё реже.
Как работает условное оформление списка
Условное оформление — это набор правил вида «если выполняется условие, то применить оформление». Каждое правило состоит из трёх частей: отбора (условие по полям данных), оформления (цвет фона, цвет текста, шрифт) и области применения (к каким полям таблицы применять). Если область не указана, оформление применяется ко всей строке списка.
Правила применяются платформой автоматически при выводе каждой строки динамического списка. Пользователю не нужно ничего обновлять вручную: как только документ проведён или помечен на удаление, его строка перекрашивается при следующем обновлении списка.
Раскраска без программирования в режиме предприятия
Если конфигурация работает на управляемых формах и у пользователя есть право настройки списка, раскрасить журнал можно без конфигуратора. Откройте журнал документов, нажмите «Ещё» и выберите «Настроить список». В открывшемся окне перейдите на вкладку «Оформление».
Добавьте новый элемент оформления. В поле «Условие» задайте отбор, например: «Проведен» равно «Нет». В поле «Оформление» выберите параметр «Цвет фона» и укажите нужный цвет. Сохраните настройку — список сразу перерисуется.
- 1Откройте журнал документов и нажмите «Ещё → Настроить список»
- 2Перейдите на вкладку «Оформление» и добавьте новый элемент
- 3Задайте условие, например «ПометкаУдаления = Да»
- 4Выберите оформление: цвет фона или цвет текста
- 5Нажмите «ОК» и проверьте, что строки перекрасились
Обратите внимание: настройка списка сохраняется персонально для пользователя (или для всех, если у вас есть право сохранять настройки для других и вы отметили соответствующий флажок). Если коллеги должны видеть ту же раскраску, либо сохраните настройку для всех, либо реализуйте оформление в конфигураторе.
Настройка условного оформления в конфигураторе
Когда раскраска должна быть частью конфигурации и работать у всех пользователей, правила задаются в форме списка журнала. Откройте конфигуратор, найдите нужный журнал документов, откройте его форму списка. В свойствах формы найдите свойство «УсловноеОформление» и откройте конструктор.
В конструкторе добавьте элемент: на закладке «Условие» укажите отбор по полям списка (например, «СуммаДокумента» больше 100000), на закладке «Оформление» выберите цвет фона или текста. На закладке «Оформляемые поля» можно ограничить применение конкретными колонками — если оставить пустым, окрасится вся строка.
Поле для отбора должно присутствовать в данных динамического списка. Если нужного реквизита нет в запросе списка, условие не сработает. Для журналов документов учитывайте, что список объединяет несколько видов документов, и у части из них реквизита может не быть — тогда условие по этому реквизиту применимо не ко всем строкам.
Программное добавление правил оформления
Иногда правило нужно добавить динамически — например, раскрашивать список по-разному в зависимости от роли пользователя. Для этого условное оформление заполняется кодом в обработчике «ПриСозданииНаСервере» формы списка. Логика такая: получить коллекцию условного оформления списка, добавить элемент, заполнить отбор и оформление.
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
ЭлементОформления = Список.УсловноеОформление.Элементы.Добавить();
ЭлементОтбора = ЭлементОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Проведен");
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ЭлементОтбора.ПравоеЗначение = Ложь;
ЭлементОформления.Оформление.УстановитьЗначениеПараметра("ЦветФона", WebЦвета.Серебристый);
КонецПроцедурыПри программной настройке проверяйте, к какому объекту добавляете правила: у формы есть собственное условное оформление, а у динамического списка — своё. Правила для строк списка корректнее добавлять в условное оформление списка, иначе возможны конфликты с настройками пользователя.
Типовые сценарии раскраски журнала
Чаще всего в практике встречаются несколько стандартных сценариев. Их условия можно комбинировать, при этом порядок правил в списке важен: при конфликте оформлений приоритет имеет правило, расположенное выше.
Частые сценарии оформления
Условие «Проведен = Нет», серый фон или курсив. Помогает быстро видеть черновики.
Условие «ПометкаУдаления = Да», красный или зачёркнутый текст. Снижает риск случайной работы с удаляемыми документами.
Условие «СуммаДокумента > порог», жирный шрифт или жёлтый фон. Работает, только если поле суммы есть в данных списка.
Условие по реквизиту шапки. Ограничение: в журнале с разными видами документов реквизит может отсутствовать у части строк.
Если нужно выделить несколько категорий разными цветами, создайте отдельное правило для каждой категории. Не пытайтесь уместить всё в одно условие через «ИЛИ» — тогда все попавшие строки получат одинаковое оформление.
Проверка результата и типичные ошибки
После настройки обязательно проверьте раскраску на реальных данных: найдите документы, которые точно попадают под условие, и документы, которые не должны окрашиваться. Обновите список (F5) и убедитесь, что цвета применились корректно.
Как проверить результат
Окрашена заданным цветом
Цвет не изменился — проверьте условие и наличие поля в данных списка
Осталась стандартного вида
Окрашена лишняя строка — условие слишком широкое, уточните отбор
Цвет строки меняется при обновлении списка
Цвет не меняется — обновите список, проверьте правильность поля условия
Ограничения и когда лучше использовать расширение
Условное оформление меняет только внешний вид: оно не влияет на данные, печатные формы и отчёты. Если нужно выгрузить раскрашенный список или напечатать его с цветами, потребуется отдельное решение, например отчёт на СКД с собственным условным оформлением.
Для типовых конфигураций на поддержке предпочтительный путь — расширение конфигурации: форма списка дорабатывается в расширении, типовой объект не меняется, и обновления проходят без снятия с поддержки. Это особенно важно, если раскраска добавляется программным кодом.
Что важно запомнить
Раскраска журнала делается условным оформлением динамического списка: условие по полям данных плюс цвет фона или текста. Для себя — через «Настроить список» в режиме предприятия, для всех — через конфигуратор или расширение. Проверяйте, что поле условия есть в данных списка, и тестируйте на реальных документах.
Частые вопросы
Можно ли раскрасить журнал документов без доступа к конфигуратору?
Да, если форма списка — управляемая и у вас есть право настройки. Откройте журнал, выберите «Ещё → Настроить список», добавьте правило на вкладке «Оформление». Настройка сохранится для вашего пользователя; чтобы применить её для всех, нужно право сохранения настроек для других пользователей.
Почему правило условного оформления не срабатывает?
Чаще всего поле, по которому задано условие, отсутствует в запросе динамического списка или называется иначе. Проверьте точное имя поля в настройке списка, вид сравнения и тип значения (например, булево «Проведен» сравнивается с Да/Нет, а не с текстом).
Как раскрасить только одну колонку, а не всю строку?
В настройке правила заполните список оформляемых полей — укажите конкретную колонку списка. Если список полей пуст, оформление применяется ко всей строке целиком.
Почему в журнале условие по реквизиту работает не для всех документов?
Журнал объединяет несколько видов документов, и у части из них нужного реквизита может не быть. Для таких строк условие не вычисляется корректно. Либо выбирайте общий для всех видов реквизит (Проведен, ПометкаУдаления, Дата, Номер), либо стройте отдельные списки по видам документов.
Пропадёт ли раскраска после обновления конфигурации?
Настройка, сделанная пользователем в режиме предприятия, хранится отдельно и обычно сохраняется. Доработка, внесённая напрямую в типовую форму в конфигураторе, может конфликтовать при обновлении — поэтому для постоянных изменений используйте расширение конфигурации.
Переносится ли раскраска списка в отчёты и печать?
Нет. Условное оформление динамического списка влияет только на экранную форму. Для цветного отчёта создайте отчёт на СКД и настройте условное оформление уже в его схеме компоновки данных.