Фон в 1С: цвет строк, подложка и логотип на формах

· 9 мин

Содержание

Чаще всего «установить фон в 1С» значит одно из двух: подсветить цветом строки в списке или поставить логотип-подложку на печатную форму. Первое делается без программирования — Ещё → Настроить список → Условное оформление. Второе — через цвет ячеек и рисунок в макете табличного документа.

Полноценных «обоев» главного окна, как в Windows, в интерфейсе «Такси» нет, и настраивать их бесполезно — такой возможности платформа не даёт. Зато фон можно менять точечно: цвет строк и ячеек, фон поля на управляемой форме, подложку в печатной форме. Всё это работает и в 1С 8.3, и в более старой 8.2.

Термин размытый, поэтому сначала короткий навигатор — выберите, что именно нужно покрасить.

Какой фон в 1С вам нужно изменить?

Цвет фона строк в списке без программирования

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

  1. Откройте нужный список (журнал документов , список справочника).
  2. В командной панели нажмите Ещё и выберите Настроить список….
  3. Перейдите на вкладку Условное оформление.
  4. Нажмите Добавить — появится новая строка оформления.
  5. В колонке Оформление откройте настройку и задайте Цвет фона.
  6. В колонке Условие задайте правило: поле, вид сравнения и значение. Например, поле Проведён равно Нет.
  7. При необходимости в Оформляемые поля оставьте только нужные колонки — иначе красится вся строка.
  8. Нажмите Завершить редактирование, затем ОК.

Список сразу перекрасит строки, попавшие под условие. Можно добавить несколько правил: они проверяются сверху вниз, и для строки применяется первое подходящее. Поэтому более узкие условия ставьте выше общих — иначе общее правило закрасит строку раньше, и до частного дело не дойдёт.

Чтобы убрать подсветку, вернитесь в Условное оформление, снимите флажок у правила или удалите строку. Полностью сбросить все личные настройки списка помогает пункт Ещё → Установить стандартные настройки, но он вернёт и отбор, и сортировку, а не только цвет.

Условий можно комбинировать несколько через И. Для «просрочено» удобно сравнивать поле даты с параметром &ТекущаяДата — тогда подсветка смещается сама, без ручной правки.

Настройка привязана к текущему пользователю. Чтобы раздать её всем, администратор сохраняет вариант как стандартную настройку списка (Ещё → ... → настройки списка); конкретный пункт зависит от конфигурации.

Фон в отчётах: подсветка ячеек по условию

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

  1. Сформируйте отчёт (например, Универсальный отчёт).
  2. Откройте настройки: кнопка Настройки… или Ещё → Изменить вариант отчёта.
  3. Включите расширенный вид настроек, если он есть, и перейдите на вкладку Условное оформление.
  4. Добавьте элемент, задайте Оформление → Цвет фона.
  5. В Условие укажите правило (например, Сумма больше 100000).
  6. В Оформляемые поля выберите, какие именно поля красить; оставите пустым — покрасятся все.
  7. Закройте настройки и переформируйте отчёт.

Цвет фона в отчёте выводится и при печати, и при сохранении в Excel — это удобно для контрольных отчётов, где нужно пометить отклонения.

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

Логотип и подложка на печатной форме

Фон печатной формы — это макет табличного документа. Здесь «фон» складывается из двух вещей: цвета заливки ячеек и рисунка-подложки (логотип, водяной знак).

Цвет заливки ячеек макета

Макет правится в конфигураторе (или через расширение — об этом ниже).

  1. Откройте макет печатной формы в дереве конфигурации.
  2. Выделите диапазон ячеек.
  3. Откройте свойства ячеек (Таблица → Ячейки → Свойства или контекстное меню).
  4. В свойстве Цвет фона выберите цвет из палитры.

В уже сформированной печатной форме залить ячейки можно и на лету: выделить область и задать цвет через меню Таблица. Но такая заливка не сохранится в макете — только в текущем документе.

Логотип как подложка

Полноценного «фонового изображения за текстом» в табличном документе нет, но логотип размещают рисунком:

  1. В макете установите курсор в нужную область.
  2. Вставьте рисунок: Таблица → Рисунки → Вставить картинку и выберите файл.
  3. Растяните рисунок и при необходимости отправьте его назад относительно текста (Порядок → На задний план).
  4. Для водяного знака возьмите бледную картинку — прозрачность в табличном документе ограничена, поэтому «осветлять» лучше заранее, в графическом редакторе.

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

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

Фон поля на управляемой форме из кода

Здесь важная поправка к расхожему заблуждению: 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. В конфигураторе откройте Конфигурация → Расширения конфигурации.
  2. Создайте расширение, добавьте в него нужную форму или макет.
  3. Внесите изменения фона.
  4. Обновите конфигурацию базы данных.

Расширение подключается к базе и действует для всех пользователей. Перед экспериментами на рабочей базе сделайте резервную копию: ошибка в расширении может помешать открыть форму.

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

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

Почему фон не меняется или не сохраняется

Разберём, что обычно идёт не так.

Диагностика: выберите симптом

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

Частые вопросы

Можно ли поставить картинку на фон всего окна 1С, как обои?
Нет. Интерфейс «Такси» не поддерживает фоновое изображение главного окна. Менять можно фон строк, ячеек, полей и печатных форм, но не «обои» рабочего стола.
Чем отличается установка фона в 1С 8.3 и 8.2?
Механизм условного оформления и свойство ЦветФона работают в обеих версиях. Отличается интерфейс настройки: в 8.3 «Такси» это Ещё → Настроить список, в обычных формах 8.2 путь и палитра другие.
Как сделать так, чтобы цвет видели все пользователи, а не только я?
Пользовательскую настройку сохраните как стандартную (нужны права администратора) либо вынесите условное оформление в конфигурацию или расширение — тогда оно действует для всех.
Нужен ли конфигуратор, чтобы покрасить строки в списке?
Нет. Цвет фона строк и ячеек отчёта настраивается в режиме «1С:Предприятие» без конфигуратора. Конфигуратор нужен только для правки макетов и форм.
Печатается ли цветной фон ячеек на принтере?
Да, цвет фона табличного документа выводится на печать и сохраняется при экспорте в Excel. Проверьте только, что в настройках принтера не включён монохромный режим.