Фон в 1С: цвет строк, подложка и логотип на формах
Содержание
Чаще всего «установить фон в 1С» значит одно из двух: подсветить цветом строки в списке или поставить логотип-подложку на печатную форму. Первое делается без программирования — Ещё → Настроить список → Условное оформление. Второе — через цвет ячеек и рисунок в макете табличного документа.
Полноценных «обоев» главного окна, как в Windows, в интерфейсе «Такси» нет, и настраивать их бесполезно — такой возможности платформа не даёт. Зато фон можно менять точечно: цвет строк и ячеек, фон поля на управляемой форме, подложку в печатной форме. Всё это работает и в 1С 8.3, и в более старой 8.2.
Термин размытый, поэтому сначала короткий навигатор — выберите, что именно нужно покрасить.
ЦветФона элемента формы — раздел «Фон из кода».Цвет фона строк в списке без программирования
Это самый частый запрос: выделить, например, непроведённые документы или просроченные заказы. Делается прямо в работе, конфигуратор не нужен, настройка сохраняется под вашего пользователя.
- Откройте нужный список (журнал документов , список справочника).
- В командной панели нажмите
Ещёи выберитеНастроить список…. - Перейдите на вкладку
Условное оформление. - Нажмите
Добавить— появится новая строка оформления. - В колонке
Оформлениеоткройте настройку и задайтеЦвет фона. - В колонке
Условиезадайте правило: поле, вид сравнения и значение. Например, полеПроведёнравноНет. - При необходимости в
Оформляемые поляоставьте только нужные колонки — иначе красится вся строка. - Нажмите
Завершить редактирование, затемОК.
Список сразу перекрасит строки, попавшие под условие. Можно добавить несколько правил: они проверяются сверху вниз, и для строки применяется первое подходящее. Поэтому более узкие условия ставьте выше общих — иначе общее правило закрасит строку раньше, и до частного дело не дойдёт.
Чтобы убрать подсветку, вернитесь в Условное оформление, снимите флажок у правила или удалите строку. Полностью сбросить все личные настройки списка помогает пункт Ещё → Установить стандартные настройки, но он вернёт и отбор, и сортировку, а не только цвет.
Условий можно комбинировать несколько через И. Для «просрочено» удобно сравнивать поле даты с параметром &ТекущаяДата — тогда подсветка смещается сама, без ручной правки.
Настройка привязана к текущему пользователю. Чтобы раздать её всем, администратор сохраняет вариант как стандартную настройку списка (Ещё → ... → настройки списка); конкретный пункт зависит от конфигурации.
Фон в отчётах: подсветка ячеек по условию
В отчётах на системе компоновки данных (СКД) — а это почти все типовые отчёты — работает тот же механизм условного оформления, только в настройках отчёта.
- Сформируйте отчёт (например,
Универсальный отчёт). - Откройте настройки: кнопка
Настройки…илиЕщё → Изменить вариант отчёта. - Включите расширенный вид настроек, если он есть, и перейдите на вкладку
Условное оформление. - Добавьте элемент, задайте
Оформление→Цвет фона. - В
Условиеукажите правило (например,Суммабольше100000). - В
Оформляемые полявыберите, какие именно поля красить; оставите пустым — покрасятся все. - Закройте настройки и переформируйте отчёт.
Цвет фона в отчёте выводится и при печати, и при сохранении в Excel — это удобно для контрольных отчётов, где нужно пометить отклонения.
Если отчёт самодельный и собран в конфигураторе, условное оформление задаётся в схеме компоновки данных, на одноимённой вкладке — логика та же.
Логотип и подложка на печатной форме
Фон печатной формы — это макет табличного документа. Здесь «фон» складывается из двух вещей: цвета заливки ячеек и рисунка-подложки (логотип, водяной знак).
Цвет заливки ячеек макета
Макет правится в конфигураторе (или через расширение — об этом ниже).
- Откройте макет печатной формы в дереве конфигурации.
- Выделите диапазон ячеек.
- Откройте свойства ячеек (
Таблица → Ячейки → Свойстваили контекстное меню). - В свойстве
Цвет фонавыберите цвет из палитры.
В уже сформированной печатной форме залить ячейки можно и на лету: выделить область и задать цвет через меню Таблица. Но такая заливка не сохранится в макете — только в текущем документе.
Логотип как подложка
Полноценного «фонового изображения за текстом» в табличном документе нет, но логотип размещают рисунком:
- В макете установите курсор в нужную область.
- Вставьте рисунок:
Таблица → Рисунки → Вставить картинкуи выберите файл. - Растяните рисунок и при необходимости отправьте его назад относительно текста (
Порядок → На задний план). - Для водяного знака возьмите бледную картинку — прозрачность в табличном документе ограничена, поэтому «осветлять» лучше заранее, в графическом редакторе.
Если логотип нужен в шапке каждого документа, его обычно кладут не в фон, а в отдельную область макета над таблицей — так он не наезжает на текст и корректно переносится при печати на разных принтерах. Фоновый же рисунок под всей таблицей оправдан для бланков и водяных знаков, где важен именно эффект подложки.
Если печатная форма принадлежит типовой конфигурации на поддержке, правьте её не в основном макете, а в расширении — иначе обновление затрёт изменения или потребует ручного сравнения.
Фон поля на управляемой форме из кода
Здесь важная поправка к расхожему заблуждению: 1С не использует CSS. Управляемые формы описываются не стилями браузера, а объектами платформы. Цвет фона элемента задаётся его свойством ЦветФона.
Самый простой случай — покрасить конкретное поле при открытии формы:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Элементы.Склад.ЦветФона = Новый Цвет(255, 255, 200);
КонецПроцедуры
Здесь Склад — имя элемента формы, а Новый Цвет(255, 255, 200) задаёт цвет по составляющим RGB (светло-жёлтый). Имя элемента смотрят в конфигураторе, в дереве элементов формы, — это не заголовок поля, а именно имя.
Чаще фон нужно менять не один раз при открытии, а в ответ на действие пользователя. Тогда цвет задают в обработчике события поля — например, подсветить сумму, когда она превышает лимит:
&НаКлиенте
Процедура СуммаПриИзменении(Элемент)
Если Объект.Сумма > 100000 Тогда
Элементы.Сумма.ЦветФона = Новый Цвет(255, 230, 230);
Иначе
Элементы.Сумма.ЦветФона = Новый Цвет(255, 255, 255);
КонецЕсли;
КонецПроцедуры
Обработчик СуммаПриИзменении срабатывает при каждой правке поля. Ветка Иначе возвращает белый фон — без неё поле осталось бы цветным, когда сумма снова станет небольшой.
Для строк таблицы и динамического списка цвет по условию задают не прямым присваиванием, а через коллекцию условного оформления формы. Механизм повторяет пользовательскую настройку из первого раздела, только собирается кодом: добавляется элемент оформления, ему задаётся цвет фона, условие отбора и оформляемые поля. Если точного состава методов под рукой нет, надёжнее настроить то же самое мышью в пользовательском режиме — результат одинаковый.
Для обычных (неуправляемых) форм 8.2 цвет фона элемента тоже задаётся свойством ЦветФона, но палитра и часть свойств отличаются. В типовых решениях на 8.3 обычные формы почти не встречаются.
Динамический фон: цвет меняется по условию
«Динамический фон» — это и есть условное оформление: цвет не фиксированный, а зависит от данных строки. Отдельной технологии под это нет, используются уже описанные инструменты:
- в списках — вкладка
Условное оформлениев настройке списка; - в отчётах — та же вкладка в настройках СКД;
- на форме из кода — коллекция условного оформления формы.
Типичные условия, под которые красят фон:
| Что подсветить | Поле условия | Пример правила |
|---|---|---|
| Непроведённые документы | Проведён | равно Нет |
| Просроченные заказы | дата отгрузки | меньше &ТекущаяДата |
| Крупные суммы | Сумма | больше порога |
| Строки по контрагенту | Контрагент | равно значению |
Главное правило — не красить всё подряд: если цветом помечено больше трети строк, подсветка перестаёт работать как сигнал.
Как поменять фон без доступа к конфигуратору
Если конфигурация на поддержке, а трогать её нельзя, есть два честных пути — и оба не требуют снимать конфигурацию с поддержки.
Пользовательские настройки. Цвет строк в списках и ячеек в отчётах настраивается прямо в режиме «1С:Предприятие», как описано выше. Конфигуратор для этого вообще не нужен — это штатная возможность для пользователя.
Расширение конфигурации . Чтобы изменить макет печатной формы или добавить условное оформление на форму документа, не меняя основную конфигурацию, используют расширение (доступны начиная с платформы 8.3.6). В расширение добавляют копию формы или макета, правят фон там, а основная конфигурация остаётся нетронутой и спокойно обновляется.
Коротко про расширение:
- В конфигураторе откройте
Конфигурация → Расширения конфигурации. - Создайте расширение, добавьте в него нужную форму или макет.
- Внесите изменения фона.
- Обновите конфигурацию базы данных.
Расширение подключается к базе и действует для всех пользователей. Перед экспериментами на рабочей базе сделайте резервную копию: ошибка в расширении может помешать открыть форму.
Внешние обработки тоже умеют менять фон открытых форм программно, но это разовый эффект на время сеанса и требует кода — для постоянной подсветки удобнее настройки или расширение.
Отдельно стоит назвать, чего делать не стоит. Перекрашивать фон правкой типовой конфигурации, снятой с поддержки, — путь в тупик: каждое обновление превращается в ручное сравнение, а выигрыш — лишь пара цветных полей. Если задача решается пользовательской настройкой, она и есть правильный ответ; расширение — когда настройки не хватает; и только крайний случай — изменение самой конфигурации.
Почему фон не меняется или не сохраняется
Разберём, что обычно идёт не так.
Ещё одна частая ситуация — фон выглядит по-разному у двух пользователей. Это не сбой: условное оформление списков и отчётов персональное. Чтобы у всех было одинаково, настройку раздаёт администратор как стандартную, либо оформление зашивается в конфигурацию (или расширение).
Частые вопросы
Можно ли поставить картинку на фон всего окна 1С, как обои?
Чем отличается установка фона в 1С 8.3 и 8.2?
ЦветФона работают в обеих версиях. Отличается интерфейс настройки: в 8.3 «Такси» это Ещё → Настроить список, в обычных формах 8.2 путь и палитра другие.