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