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