Цвет фона, текста и границ в таблицах 1С: где что настраивается
Содержание
Цвет таблицы в 1С меняют в одном из трёх мест, и выбор зависит от того, что за таблица перед вами. Печатная форма живёт в макете, и цвет задают у ячеек. Отчёт на СКД красят условным оформлением в настройках варианта. Список или табличную часть в управляемой форме красят условным оформлением формы или кодом.
Если смешать эти инструменты, правки «не работают»: человек красит ячейки макета, а перед ним отчёт, который перерисовывается при каждом формировании. Сначала определите тип таблицы, потом берите нужный способ.
| Что красим | Где настраивается | Когда цвет меняется |
|---|---|---|
| Печатная форма, макет | Конфигуратор, макет, свойства ячеек | Всегда один и тот же |
| Отчёт на СКД | Настройки варианта, условное оформление | По условию, при каждом формировании |
| Список, табличная часть в форме | Условное оформление формы или список в режиме пользователя | По условию, на лету |
| Любой табличный документ из кода | Свойства области: цвет фона, цвет текста | Как задано в процедуре |
С чего начать: определите тип таблицы
Три быстрых признака.
- 📄 Таблица открывается кнопкой «Печать», есть кнопки «Сохранить», «Отправить по почте»: это табличный документ, источник — макет.
- 📊 Вверху кнопка «Сформировать», настройки отчёта, группировки: это отчёт, чаще всего на СКД.
- 🗂 Строки можно выделять, добавлять, сортировать по колонкам: это таблица управляемой формы (список или табличная часть).
Раскрашивать «по просьбе пользователя» удобнее всего условным оформлением. Постоянный цвет без условий стоит оставлять только для шапок и итогов.
Цвет ячеек в макете печатной формы
Макеты печатных форм лежат в конфигураторе: у документа или обработки откройте ветку «Макеты», выберите нужный и дважды щёлкните. Откроется табличный редактор, похожий на электронную таблицу.
Заливка и цвет шрифта
- Выделите ячейки или целые строки: мышью, либо щелчком по номеру строки или заголовку колонки.
- Откройте палитру свойств (меню «Вид», пункт со свойствами, либо клавиша F4).
- В группе, отвечающей за внешний вид, найдите «Цвет фона» и «Цвет текста».
- Выберите значение из окна выбора цвета.
То же можно сделать кнопками на панели редактора макета: заливка и цвет шрифта выводятся рядом с выбором шрифта.
Границы
Границы настраивают отдельно от заливки: у ячеек есть свойства «Граница» (толщина и тип линии) и отдельные сторонние линии: слева, справа, сверху, снизу. Для сетки у всей таблицы выделите область и включите все четыре стороны. Для «зебры» заливайте через строку.
В типовых конфигурациях макеты печатных форм изменять напрямую нельзя без снятия с поддержки. Правильный путь — расширение конфигурации или копия макета в своей обработке. После обновления релиза изменения в типовом макете будут потеряны или вызовут конфликт объединения.
Пользовательский макет без конфигуратора
В большинстве типовых конфигураций есть «Конструктор печатных форм» и редактор макетов печати в режиме 1С:Предприятие: открывается из формы документа командой печати, где вы выбираете форму и жмёте на кнопку редактирования макета. Название пункта зависит от конфигурации, поэтому ищите его рядом с кнопкой печати.
Минус этого способа: цвет задан жёстко. Если нужно «красное, когда долг больше нуля», здесь не получится — только код или СКД.
Условное оформление в отчётах на СКД
В отчёте на компоновке данных цвет задают через условное оформление: правило из трёх частей. Что красим (поля), когда красим (условие) и как (цвет, шрифт).
Пошагово в пользовательском режиме
- Откройте отчёт и нажмите «Настройки» (в части конфигураций кнопка называется «Ещё» → «Изменить вариант»).
- Перейдите на закладку «Условное оформление».
- Добавьте элемент кнопкой «Добавить».
- В поле «Оформление» выберите параметры: «Цвет фона», «Цвет текста», «Шрифт».
- В поле «Отбор» задайте условие: например, «Остаток меньше 0».
- В поле «Поля» укажите, какие колонки красить. Если оставить пустым, закрасится вся строка.
- Сформируйте отчёт и проверьте результат.
Пример: подсветить склады, где остаток меньше минимального. Отбор: Остаток «меньше» Минимальный остаток. Оформление: цвет фона светло-красный, поля — «Остаток» и «Склад».
Пошагово в конфигураторе
В схеме компоновки данных условное оформление задают на закладке «Настройки», в варианте. Это значение по умолчанию для всех, кто откроет отчёт. Пользователь добавит свои правила поверх.
Если правило не срабатывает, смотрите по порядку:
- ✅ Условие проверяется по полю, которое есть в отчёте. Поле, отключённое из выбранных, в условии не работает .
- ✅ Правило стоит ниже конфликтующего: при совпадении побеждает то, что ниже, поэтому порядок элементов важен.
- ✅ Для итогов и группировок условие нужно либо ограничить использованием, либо проверить отдельно: строка итога содержит агрегированные значения.
Раскраска списков и табличных частей в управляемой форме
В управляемых формах таблицы тоже красятся условным оформлением. Работает оно на уровне формы, не макета.
В конфигураторе
Откройте форму, в дереве элементов выберите форму целиком и найдите закладку «Условное оформление». Добавьте элемент: задайте поля (колонки), условие и параметры оформления. Правило подхватят все открытия формы.
В режиме 1С:Предприятие
В списках есть пункт настройки списка (кнопка «Ещё» над таблицей), в нём вкладка «Условное оформление». Пользователь может красить сам, и это сохраняется в его настройках. Остальным пользователям цвет не передаётся: ничего не ломается, но и не видно.
Из кода
Типовая задача: красить строки табличной части, где сумма превышает порог. Процедура добавляется в ПриСозданииНаСервере:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Элемент = УсловноеОформление.Элементы.Добавить();
ПолеОформления = Элемент.Поля.Элементы.Добавить();
ПолеОформления.Поле = Новый ПолеКомпоновкиДанных("СписокСумма");
Отбор = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
Отбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Список.Сумма");
Отбор.ВидСравнения = ВидСравненияКомпоновкиДанных.Больше;
Отбор.ПравоеЗначение = 100000;
Элемент.Оформление.УстановитьЗначениеПараметра("ЦветФона", Новый Цвет(255, 230, 230));
Элемент.Оформление.УстановитьЗначениеПараметра("ЦветТекста", Новый Цвет(160, 0, 0));
КонецПроцедуры
Здесь СписокСумма — имя поля формы (элемент «Сумма» таблицы «Список»), а Список.Сумма — имя поля в источнике данных. Для табличной части они будут другими, например ТоварыЦена и Объект.Товары.Цена.
Без отбора правило закрасит все строки. Всегда проверяйте условие на живых данных, прежде чем отдавать форму пользователям.
Если нужно покрасить всю таблицу одним цветом без условий, у самой таблицы формы есть свойства цвета фона и цвета текста. Для переменного цвета они не подходят: условное оформление гибче.
Из кода: табличный документ и свойства области
Когда вы формируете печатную форму или любую выгрузку программно, цвет задают у области ячеек:
Область = ТабДок.Область("R5C2:R5C6");
Область.ЦветФона = Новый Цвет(221, 235, 247);
Область.ЦветТекста = Новый Цвет(0, 0, 0);
Область.Шрифт = Новый Шрифт(Область.Шрифт, , , Истина);
Адрес R5C2:R5C6 — пятая строка, колонки со второй по шестую. Для именованной области из макета проще обратиться к ней по имени после вывода: Область = ТабДок.Области.Шапка;.
Три практичных приёма:
- 🎨 Красьте после вывода всех данных: так не потеряете цвет при перерисовке.
- 🎨 Для чередования строк считайте остаток от деления номера строки на два и красьте нечётные.
- 🎨 Границы задаются методом
Обвестиу области, параметры — линии для каждой стороны.
Палитра, свои оттенки и цвета стиля
В окне выбора цвета есть вкладки с цветами стиля, веб-цветами и цветами Windows, а свой оттенок задаётся значениями красного, зелёного и синего (от 0 до 255). Запишите числа удачных оттенков: в коде они понадобятся, а выбирать «на глаз» второй раз неудобно.
В коде цвет задают тремя способами.
| Способ | Пример | Когда подходит |
|---|---|---|
| Из RGB | Новый Цвет(255, 230, 230) | Нужен точный оттенок |
| Веб-цвет | WebЦвета.Красный | Быстро, стандартные цвета |
| Цвет стиля | ЦветаСтиля.ПоясняющийТекст | Цвет должен подстроиться под оформление программы |
Для форм лучше брать цвета стиля: они остаются читаемыми, если администратор или пользователь сменит оформление. Жёсткий RGB-цвет, подобранный под светлый фон, на тёмном стиле выглядит плохо.
Не красьте в яркий красный фон и красный текст одновременно. Фон делайте светлым, текст — тёмным оттенком того же цвета.
Печать и выгрузка в Excel
Что происходит с цветом, когда таблицу выводят из программы.
- 🖨 Табличный документ (печатная форма, отчёт) печатается с заливкой, если принтер цветной. На чёрно-белом принтере цвет превращается в серый, и светло-жёлтый фон может пропасть. Для печати берите контрастные заливки.
- 📥 При сохранении в Excel (xlsx) цвет фона и текста переносится вместе с ячейками.
- 🗂 Форма списка, окрашенная условным оформлением, при выводе списка в табличный документ (команда «Вывести список ») цвет теряет: он существует только на экране формы.
- 📊 Цвета отчёта на СКД при выгрузке остаются, если оформление задано в настройках отчёта, а не в форме.
Если заказчик просит «чтобы в Excel тоже было красным», красьте не форму, а программно в табличном документе. Для бумаги проверьте предпросмотр: на нём видно, как лягут заливки и границы.
Готовые рецепты раскраски
Три задачи, которые просят чаще всего.
Отрицательные числа красным
Условие: поле «меньше» 0. Оформление: цвет текста тёмно-красный. Фон не трогайте, иначе при печати на сером принтере число сольётся с заливкой. Правило полезно в отчётах по остаткам, оборотам и задолженности.
Просроченные строки
Условие: «Срок оплаты» «меньше» текущей даты и «Статус» «не равно» «Оплачено». Для сравнения с текущей датой в отчёте используют параметр компоновки, в который подставляют ТекущаяДата() при формировании. Прямо в условие функцию не пишут. Окрасьте всю строку в светло-оранжевый, а срок — дополнительно жирным шрифтом.
Зебра через одну строку
В отчётах СКД чередование строк даёт стиль оформления макета: в настройках варианта у группировки или таблицы есть выбор макета оформления, среди них есть варианты с чередованием. В табличном документе из кода заливайте нечётные строки в цикле, как описано выше. Для списка управляемой формы чередование включено в стиле оформления программы, отдельно его делать не нужно.
Не превращайте таблицу в светофор. Если в одной таблице три-четыре разных цвета, глаз перестаёт различать смысл. Один акцентный цвет для отклонений и один нейтральный для шапок читаются лучше.
Если цвет не меняется
Типичные причины, от частых к редким.
- Правило условного оформления ниже другого. Порядок элементов важен: у последнего совпавшего приоритет.
- Условие не выполняется. Проверьте на конкретной строке: сравнение «больше» не сработает на значении, равном порогу.
- Цвет перебит. Если у колонки задан цвет фона в свойствах, а правило красит текст, видно будет оба параметра. Если правило красит тот же параметр, побеждает условное оформление.
- Правило привязано не к тому полю. В форме поле — это элемент формы, в отчёте — поле компоновки. Имена отличаются.
- Изменили типовой макет. После обновления конфигурации правка пропала. Переносите в расширение.
- Старый кэш формы. Перезапустите клиент, если форма была открыта до изменений.