К статье
Практический материал

Разработка и Конфигурация · 10 мин

Как поменять цвет таблиц в 1С

Как изменить цвет таблиц и ячеек в 1С 8.3: настройка оформления, условное оформление списков, раскраска табличных частей и печатных форм.

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

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

Ниже разобраны все рабочие сценарии: от простой смены стиля до подсветки строк по условию «просроченная задолженность — красным». Для каждого варианта указаны ограничения и способы проверить результат.

Определите, какая таблица нуждается в раскраске

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

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

Маршрут решения

Как выбрать способ

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

Персональная настройка интерфейса без конфигуратора

В типовых конфигурациях на управляемых формах пользователь может изменить общий стиль программы. Путь: раздел «Администрирование» → «Интерфейс» (в некоторых конфигурациях — «Персональные настройки» → «Персональная настройка интерфейса»). Там доступны варианты стиля и масштаб интерфейса. Изменение применяется сразу и действует только для текущего пользователя.

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

Условное оформление списка в конфигураторе

Основной способ раскрасить строки списка — условное оформление формы списка. Откройте конфигуратор, найдите нужный объект (например, документ «Реализация товаров и услуг»), откройте его форму списка. В свойствах формы найдите строку «Условное оформление» и нажмите кнопку открытия.

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

Порядок действий в конфигураторе
  1. 1
    Откройте форму списка нужного объекта в конфигураторе
  2. 2
    В свойствах формы откройте «Условное оформление»
  3. 3
    Добавьте элемент, задайте «Цвет фона» или «Цвет текста»
  4. 4
    На закладке «Условие» настройте отбор (например, Сумма > 100000)
  5. 5
    Проверьте закладку «Оформляемые поля» — укажите колонки или оставьте пустым для всей строки
  6. 6
    Обновите конфигурацию базы данных (F7) и откройте список в режиме предприятия

Работает этот механизм только в управляемых формах. Для обычных форм (устаревший интерфейс) оформление задаётся программно в обработчиках «ПриПолученииДанных» или «ПриВыводеСтроки» через объект ОформлениеСтроки.

Программная раскраска через встроенный язык

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

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

ЭлементОформления.Оформление.УстановитьЗначениеПараметра("ЦветФона", WebЦвета.СветлоРозовый);

ЭлементОтбора = ЭлементОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));

ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.Товары.Количество");

ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Больше;

ЭлементОтбора.ПравоеЗначение = 100;

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

ПолеОформления.Поле = Новый ПолеКомпоновкиДанных("Товары");

Ключевые моменты: левое значение отбора ссылается на путь к данным (для табличной части — «Объект.Товары.ИмяРеквизита»), а оформляемое поле — на имя элемента формы (таблицы). Если перепутать эти два понятия, оформление молча не сработает — это самая частая причина «не красится».

Типичные ошибки
01
В отборе указано имя элемента формы вместо пути к данным — условие никогда не срабатывает
02
Не заполнены оформляемые поля при необходимости раскрасить одну колонку — красится вся строка
03
Использован режим просмотра конфигурации без обновления базы данных (F7) — изменений не видно в режиме предприятия
04
Цвет задан в обработчике ПриАктивизацииСтроки — оформление мерцает и теряется при обновлении списка; правильное место — условное оформление

Раскраска отчётов на СКД пользователем

Отчёты, построенные на системе компоновки данных, пользователь раскрашивает сам, без конфигуратора. Откройте отчёт, нажмите «Изменить вариант» (или «Настройки» → «Расширенные»), перейдите на закладку «Условное оформление». Добавьте элемент, задайте цвет фона или текста, условие (например, «Просрочено, дней» больше 0) и область применения.

Настройку можно сохранить как отдельный вариант отчёта и сделать доступной коллегам, если у вас есть право сохранения вариантов «для всех пользователей». Это самый безопасный способ: он не требует изменения конфигурации и легко откатывается удалением варианта.

Если условное оформление отчёта не применяется, проверьте область использования: оформление, заданное для всего отчёта, может перекрываться оформлением группировки. Также убедитесь, что поле из условия присутствует в выбранных полях или доступно в ресурсах — иначе отбор не вычисляется.
ПЗ
Практическое замечание

Цвет ячеек в печатных формах

Печатные формы строятся на макете табличного документа. В конфигураторе откройте макет нужной печатной формы (Общие → Макеты или макет конкретного объекта), выделите ячейки области и в палитре свойств задайте «Цвет фона», «Цвет текста» и «Цвет границы». Изменения видны сразу при следующем формировании печатной формы.

Если цвет должен зависеть от данных (например, отрицательные суммы — красным), оформление назначается в коде при выводе области: после получения области из макета обращаются к ячейке через ОбластьМакета.Область(...) или параметры и устанавливают свойство ЦветТекста. Помните, что на чёрно-белом принтере цветные выделения превращаются в оттенки серого — для печати надёжнее дублировать смысл жирным шрифтом или рамкой.

Проверка результата и откат изменений

После любого способа раскраски проверьте результат в режиме предприятия под пользователем с обычными правами, а не только под администратором: условное оформление может вести себя иначе при ограничении доступа к полям. Откройте список, прокрутите его, обновите (F5) — оформление должно сохраняться при обновлении и перепроведении документов.

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

Контрольные точки

Как проверить результат

Список в режиме предприятия
Норма

Строки, подпадающие под условие, подсвечены; остальные — без изменений

Тревожный признак

Подсвечены все строки или ни одной — ошибка в условии отбора

Обновление списка и перепроведение документа
Норма

Оформление сохраняется и пересчитывается

Тревожный признак

Цвет пропадает — оформление задано не через условное оформление, а в обработчике

Просмотр под другим пользователем
Норма

Оформление видно так же

Тревожный признак

У пользователя нет прав на поле из условия — оформление не работает

Часто задаваемые вопросы

Можно ли поменять цвет таблицы в 1С без конфигуратора?

Да, но ограниченно. Пользователь может менять стиль интерфейса и раскрашивать отчёты на СКД через «Изменить вариант» → «Условное оформление». Раскрасить список документов или табличную часть без доступа к конфигуратору или расширению нельзя.

Почему условное оформление не срабатывает?

Чаще всего в отборе указано имя элемента формы вместо пути к данным (нужно «Объект.Товары.Количество», а не «ТоварыКоличество»), либо конфигурация базы данных не обновлена после изменений. Также проверьте, что поле из условия доступно в данных списка.

Как раскрасить только одну колонку, а не всю строку?

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

Пропадёт ли раскраска после обновления конфигурации?

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

Можно ли задать разный цвет для чётных и нечётных строк?

Штатного «зебра»-оформления в управляемых формах нет. Можно попробовать условие на вычисляемое поле с номером строки, но для динамических списков это ненадёжно. Для отчётов на СКД чередование проще реализовать через макет группировки или вычисляемое поле с остатком от деления номера строки.

Цветная печатная форма печатается серым — что делать?

Это нормально для чёрно-белых принтеров. Дублируйте смысловое выделение не только цветом, но и начертанием шрифта, рамкой или текстовым маркером, чтобы информация читалась и в монохромной печати.

Итог

Что важно запомнить

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