Цвета, шрифты и рамки в 1С: что меняет разработчик, а что пользователь

· 9 мин

Содержание

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

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

Как устроен стиль в 1С 8.3: элементы, стили, основной стиль

Механизм состоит из трёх уровней. Если их не различать, правки «не применяются» или теряются после обновления.

УровеньГде находитсяЧто задаёт
Элемент стиляОбщие → Элементы стиляИменованный цвет, шрифт или рамку со значением по умолчанию
СтильОбщие → СтилиНабор переопределений: для каких элементов стиля какое значение использовать
Основной стильСвойства корня конфигурацииКакой из стилей конфигурации действует в сеансе

Платформа уже содержит набор стандартных элементов стиля: цвета фона и текста формы, полей, кнопок, особого текста и так далее. Конфигурация добавляет к ним свои. Типовые решения на БСП добавляют десятки элементов — например, для выделения ошибок, недоступных полей, пометок.

Элемент стиля бывает трёх видов:

  • 🎨 Цвет — фон, текст, линии.
  • 🔤 Шрифт — гарнитура, размер, начертание. Размер можно задавать относительно стандартного шрифта, тогда он масштабируется вместе с интерфейсом.
  • 🔲 Рамка — тип и толщина рамки элемента формы.

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

Стандартное оформление 1С и режим интерфейса

Внешний вид, который пользователь видит «из коробки», задаёт платформа. В 8.3 это интерфейс «Такси». За выбор режима отвечает свойство корня конфигурации «Режим совместимости интерфейса». Типовые конфигурации последних редакций работают только в «Такси».

Что из стандартного оформления доступно без программирования:

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

Масштаб меняет размер шрифтов и элементов пропорционально. Цвета и начертания он не трогает, их меняет только стиль конфигурации.

Если в форме шрифт задан абсолютным размером (например, 10 пт), а не относительно стандартного, он может «выпадать» из масштаба. Это частая причина жалоб «у меня всё крупное, а одна надпись мелкая».

Настройка стиля через конфигуратор: пошагово

Этот путь для разработчика или администратора с правами на изменение конфигурации.

Шаг 1. Подготовьте конфигурацию

Сделайте резервную копию базы : Администрирование → Выгрузить информационную базу в конфигураторе. Если конфигурация типовая и стоит на поддержке, изменить её можно только после Конфигурация → Поддержка → Настройка поддержки → Включить возможность изменения.

Изменение типовой конфигурации усложняет каждое следующее обновление: при обновлении придётся сравнивать и объединять ваши правки с релизом поставщика. Для стиля почти всегда хватает расширения, о нём — в следующем разделе.

Шаг 2. Создайте или найдите элемент стиля

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

Шаг 3. Переопределите значение в стиле

  1. Раскройте Общие → Стили и откройте стиль, который указан основным.
  2. В редакторе стиля найдите элемент и задайте ему значение для этого стиля.
  3. Если стилей в конфигурации нет — создайте один и укажите его в свойстве «Основной стиль» корня конфигурации.

Стилей может быть несколько, но в сеансе действует основной. Отдельный стиль удобен, чтобы держать «тёмную» или «контрастную» палитру как готовый набор и переключать её одним свойством.

Шаг 4. Привяжите элементы формы к стилю

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

Из кода к стилю обращаются через свойства глобального контекста ЦветаСтиля, ШрифтыСтиля и РамкиСтиля:

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

    Если Объект.Проведен = Ложь Тогда
        Элементы.Комментарий.ЦветТекста = ЦветаСтиля.ЦветОсобогоТекста;
    КонецЕсли;

КонецПроцедуры

Шаг 5. Сохраните и проверьте

Сохраните конфигурацию и обновите конфигурацию базы данных (F7). Перезапустите сеанс 1С:Предприятия: стиль читается при старте, открытые сеансы новых значений не увидят.

Что именно нужно изменить в оформлении?

Расширения и внешние обработки: меняем стиль без правки типовой

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

Что можно сделать в расширении:

  • ✅ создать собственные элементы стиля и использовать их в своих объектах;
  • ✅ заимствовать форму типового документа и привязать её поля к своему элементу стиля;
  • ✅ добавить условное оформление в обработчике ПриСозданииНаСервере заимствованной формы;
  • ✅ изменить шрифт и цвет отдельных надписей и групп.

Порядок работы:

  1. В конфигураторе откройте Конфигурация → Расширения конфигурации и создайте расширение.
  2. В дереве расширения добавьте свой элемент стиля в ветке Общие → Элементы стиля.
  3. Заимствуйте нужную форму (контекстное меню объекта в основной конфигурации → «Добавить в расширение»).
  4. Привяжите поля к своему элементу стиля или пропишите оформление в коде.
  5. Обновите конфигурацию базы данных и перезапустите сеанс.

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

При выборе цвета в коде предпочитайте элементы стиля, а не Новый Цвет(255, 0, 0). Жёсткий RGB не подстраивается под другой стиль и хуже читается на нестандартной палитре.

Стиль в мобильном клиенте и мобильном приложении

Мобильный клиент работает с той же конфигурацией, что и обычный. Элементы стиля и основной стиль действуют и там, но форма перестраивается под узкий экран, и часть оформления ведёт себя иначе.

Что учитывать:

  • 📱 Размеры шрифтов лучше задавать относительно стандартного. Абсолютный размер, удобный на мониторе, на телефоне даёт обрезанные надписи.
  • 🌓 На устройстве может быть включена тёмная тема системы. Цвет текста, прописанный вручную, рискует слиться с фоном. Элементы стиля здесь снова безопаснее жёстких цветов.
  • 🔲 Рамки и сложные группировки на маленьком экране съедают место. Чем проще форма, тем лучше она выглядит.
  • 🧪 Проверяйте формы в эмуляторе или на реальном устройстве до выкладки: в конфигураторе разница не видна.

Для автономного мобильного приложения (отдельная мобильная конфигурация) логика та же: стили и элементы стиля задаются в его конфигурации, на основную базу они не влияют.

Как перенести стиль из одной базы 1С в другую

Стиль и элементы стиля — объекты конфигурации. Значит, переносят их средствами работы с конфигурацией, а не выгрузкой данных.

СпособКогда подходитРиски
Сравнение и объединение с файлом .cfПереносим стиль между базами с похожей конфигурациейПри неаккуратной отметке объектов подтянутся лишние изменения
Выгрузка конфигурации в XML-файлыВедёте конфигурацию в Git или EDT, нужен точечный переносНужно вручную следить за ссылками на элементы стиля
Перенос расширения (.cfe)Стиль сделан в расширенииРасширение должно подходить к версии основной конфигурации

Перенос через сравнение и объединение

  1. В исходной базе сохраните конфигурацию в файл: Конфигурация → Сохранить конфигурацию в файл.
  2. В целевой базе выберите Конфигурация → Сравнить, объединить с конфигурацией из файла.
  3. В окне сравнения снимите все отметки и отметьте только нужные объекты в ветках «Элементы стиля» и «Стили».
  4. Если меняли основной стиль — отметьте и свойство корня конфигурации.
  5. Выполните объединение и обновите конфигурацию базы данных.

Перенос расширения

В исходной базе в списке расширений сохраните расширение в файл .cfe. В целевой базе загрузите его через тот же список Конфигурация → Расширения конфигурации, затем обновите конфигурацию базы данных. В пользовательском режиме расширения также подключаются через раздел администрирования, если у пользователя есть права.

Перед объединением конфигураций сделайте выгрузку целевой базы. Ошибка в отметках объектов откатывается только из резервной копии.

Личные настройки оформления для отдельного пользователя

Стиль конфигурации общий для всех. Личное оформление собирается из того, что платформа хранит в настройках каждого пользователя.

Без программиста пользователь может:

  1. Изменить масштаб форм в параметрах клиентского приложения.
  2. Перестроить панели через Вид → Настройка панелей главного меню.
  3. Настроить форму через меню Ещё → Изменить форму: скрыть поля, поменять порядок, вывести нужные колонки.
  4. Задать условное оформление списка: в меню Ещё списка откройте настройку списка и на вкладке «Условное оформление» укажите правило, например «Сумма больше 100 000 — выделять жирным».
  5. Настроить оформление отчёта в настройках варианта отчёта: условное оформление, выделение итогов.

Все эти настройки сохраняются за пользователем и не влияют на коллег.

Пользовательский выбор оформления в коде

Если нужен переключатель «выделять комментарии» для конкретных сотрудников, храните выбор в хранилище общих настроек и применяйте его при открытии формы:

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

    Выделять = ХранилищеОбщихНастроек.Загрузить("ОформлениеПользователя", "ВыделятьКомментарий");
    Если Выделять = Истина Тогда
        Элементы.Комментарий.ЦветТекста = ЦветаСтиля.ЦветОсобогоТекста;
        Элементы.Комментарий.Шрифт = Новый Шрифт(, , Истина);
    КонецЕсли;

КонецПроцедуры

Загрузить возвращает Неопределено, если настройки ещё нет, поэтому сравнение с Истина безопасно. Сохраняет выбор метод ХранилищеОбщихНастроек.Сохранить с теми же ключами — его вызывают из формы настроек пользователя.

Если настройки пользователя «сломались»

Бывает, что после экспериментов форма выглядит странно: пропали колонки, съехали группы. В меню Ещё → Изменить форму есть команда возврата к стандартным настройкам. Для всех форм сразу администратор может очистить настройки пользователя средствами БСП в разделе Администрирование → Настройки пользователей и прав.

Ошибки, из-за которых стиль 1С не применяется

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

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

Можно ли включить тёмную тему для всей 1С?
Отдельного переключателя темы в типовых конфигурациях нет. Тёмную палитру делают отдельным стилем конфигурации или расширением с элементами стиля, и её придётся поддерживать при каждом обновлении.
Влияет ли стиль на печатные формы?
Нет. Печатные формы строятся по макетам табличного документа, у них собственное оформление ячеек. Стиль меняет только экранные формы.
Почему в веб-клиенте цвета чуть отличаются?
Браузер по-своему сглаживает шрифты и масштабирует страницу. Проверьте масштаб браузера: при 110–125% формы выглядят иначе, чем при 100%.
Можно ли задать разный стиль для разных пользователей?
Стиль конфигурации общий. Разницу делают кодом: читают личную настройку пользователя и меняют оформление элементов при открытии формы.
Нужно ли выгонять пользователей, чтобы применить новый стиль?
Изменения в расширении и конфигурации вступают в силу после обновления конфигурации базы данных и перезапуска сеанса. Обновление структуры может потребовать монопольного режима, поэтому делайте его вне рабочего времени и предупредите сотрудников, что сеансы придётся закрыть.