К статье
Практический материал

Разработка и Конфигурация · 13 мин

Элементы стиля в 1С: как использовать цвета, шрифты и картинки интерфейса

Что такое элементы стиля в 1С, где они хранятся, как менять цвета и шрифты интерфейса без правки кода каждой формы. Пошагово с примерами.

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

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

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

Где находятся элементы стиля и что внутри

Откройте конфигуратор и в дереве конфигурации разверните ветку Общие → Стили. Внутри находятся два уровня: объект «Стиль» (целая тема оформления, например «Основной») и вложенные в него элементы стиля — отдельные цвета, шрифты и картинки. В типовых конфигурациях набор уже заполнен: там есть цвета для важных надписей, фона групп, рамок, шрифты заголовков и мелкого текста, а также картинки команд.

У каждого элемента стиля есть имя (например, «ЦветВажнойНадписи» или «ШрифтКрупныйЗаголовок»), вид и собственно значение. Вид определяется автоматически по типу значения: если выбран цвет — это цветовой элемент, если шрифт — шрифтовой, если картинка — графический. Имя элемента используется при обращении из кода и при выборе значения в палитре свойств формы.

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

Какие виды элементов стиля существуют

Платформа поддерживает три вида элементов стиля, и у каждого своё назначение и способ применения.

  • Цвета. Используются для фона и текста полей, рамок, выделения строк, цвета важных и проблемных надписей. Типовой пример — «ЦветФонаПодсказки» или «ЦветТекстаПредупреждение».
  • Шрифты. Задают начертание текста: размер, жирность, курсив. Применяются к надписям, заголовкам групп, итоговым строкам. Например, «ШрифтВажнойНадписи» обычно жирнее основного.
  • Картинки. Пиктограммы для кнопок команд, колонок таблиц, индикаторов состояния. В типовых конфигурациях значительная часть таких картинок собрана в общей библиотеке картинок, но свои изображения тоже можно оформить как элементы стиля.

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

Как создать свой элемент стиля

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

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

Имя элемента должно описывать назначение, а не внешний вид. Правильно: «ЦветТекстаОшибки». Неправильно: «КрасныйЦвет». Причина проста: если завтра оформление ошибок станет оранжевым, имя «КрасныйЦвет» начнёт вводить в заблуждение, а смысловое имя останется корректным при любом значении.

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

Как применять элементы стиля в формах

Самый частый сценарий — назначение элемента стиля конкретному элементу управления в редакторе формы. Выделите поле или надпись, в палитре свойств найдите свойства оформления: ЦветТекста, ЦветФона, ЦветРамки, Шрифт. Откройте выбор значения — помимо абсолютных цветов там будет вкладка или раздел со списком элементов стиля. Выберите нужный по имени.

Такой же принцип работает для условного оформления динамических списков и таблиц. В настройках условного оформления вы добавляете условие (например, «Сумма < 0»), а в параметрах оформления указываете цвет — и здесь тоже можно сослаться на элемент стиля вместо фиксированного значения. Это правильный способ подсветки строк: оформление останется управляемым централизованно.

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

Как обратиться к элементам стиля из кода

Во встроенном языке элементы стиля доступны через специальные коллекции. Для цветов используется ЦветаСтиля, для шрифтов — ШрифтыСтиля, для картинок — БиблиотекаКартинок. Обращение идёт по имени элемента.

// Назначение цвета текста программно

Элементы.НадписьПредупреждение.ЦветТекста = ЦветаСтиля.ЦветТекстаПредупреждение;

// Назначение шрифта

Элементы.НадписьИтог.Шрифт = ШрифтыСтиля.КрупныйШрифтТекста;

// Картинка из библиотеки

Элементы.КнопкаПечать.Картинка = БиблиотекаКартинок.Печать;

Типичный сценарий программного обращения — динамическое изменение оформления по условию: подсветить поле с ошибкой, увеличить шрифт итога, поменять пиктограмму состояния. Во всех этих случаях берите значение из коллекции стиля, а не конструируйте цвет через Новый Цвет(255, 0, 0) — жёстко зашитые значения потом придётся искать по всему коду при смене оформления.

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

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

Типовые элементы стиля в стандартных конфигурациях

Конфигурации на Библиотеке стандартных подсистем (БСП) поставляются с готовым набором элементов стиля, покрывающим большинство потребностей. Знание этого набора избавляет от создания дублей.

Элемент стиляНазначениеГде применять
ЦветТекстаПредупреждениеТекст предупреждений и ошибокНадписи о проблемах, подсветка невалидных данных
ЦветФонаПодсказкиФон информационных блоковПодсказки и информационные панели на формах
ШрифтВажнойНадписиАкцентированный текстЗаголовки, ключевые итоги, важные сообщения
ЦветОсобогоТекстаВыделенный текстГиперссылки, акценты в надписях
ЦветФонаКнопкиФон кнопокКнопки форм и командных панелей

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

Ошибки и ограничения при работе со стилями

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

Типичные ошибки
01
Жёстко заданный цвет через Новый Цвет() в коде — при смене оформления такие места придётся искать и править вручную по всей конфигурации.
02
Имя элемента по внешнему виду («Красный», «ЖирныйШрифт») вместо назначения — после смены значения имя начинает вводить в заблуждение.
03
Дублирование существующих типовых элементов — появляются два элемента с одинаковым смыслом, и часть форм ссылается на один, часть на другой.
04
Опечатка в имени при обращении из кода — ошибки выполнения нет, оформление молча не применяется, дефект замечают поздно.
05
Картинки большого размера в элементах стиля — лишний объём конфигурации и искажения при масштабировании интерфейса.

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

Как проверить результат и организовать поддержку

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

Контрольные точки

Как проверить результат

Отображение в форме
Норма

Цвет и шрифт соответствуют значению элемента стиля

Тревожный признак

Оформление не применилось — возможна опечатка в имени или абсолютное значение перекрывает стиль

Централизованное изменение
Норма

После правки значения элемента все формы обновились без пересохранения

Тревожный признак

Часть форм осталась со старым видом — там значение задано напрямую, а не через стиль

Условное оформление списков
Норма

Строки подсвечиваются цветом из элемента стиля по заданному условию

Тревожный признак

Подсветки нет или цвет не совпадает — проверьте условие и источник значения оформления

Работа после обновления конфигурации
Норма

Элементы стиля на месте, ссылки из форм не потеряны

Тревожный признак

Элементы пропали или переименованы при обновлении — нужна корректировка ссылок

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

Итог

Что важно запомнить

Элементы стиля — это именованные цвета, шрифты и картинки в ветке Общие → Стили. Назначайте их в свойствах форм и в коде через ЦветаСтиля, ШрифтыСтиля и БиблиотекаКартинок, используйте смысловые имена и сначала проверяйте типовой набор. Тогда оформление всей конфигурации меняется в одном месте.

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

Можно ли дать пользователям выбор темы оформления через элементы стиля?

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

Что произойдёт, если удалить элемент стиля, на который ссылаются формы?

Платформа не выдаст ошибку выполнения: обращения к несуществующему элементу вернут пустое значение, и оформление просто перестанет применяться. Формы останутся работоспособными, но потеряют заданные цвета или шрифты. Перед удалением элемента выполните поиск ссылок на него через «Поиск ссылок в объектах» в конфигураторе.

Чем элементы стиля отличаются от общих картинок?

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

Можно ли изменить элемент стиля программно в режиме предприятия?

Нет. Элементы стиля — объекты конфигурации, их значения задаются только в конфигураторе. Программно можно лишь читать значения через ЦветаСтиля, ШрифтыСтиля и БиблиотекаКартинок и применять их к элементам форм. Если нужна настройка оформления пользователями, её реализуют отдельным механизмом с хранением настроек в базе данных.

Почему цвет из элемента стиля не применился в условном оформлении списка?

Частые причины: условие отбора не срабатывает на реальных данных, оформление применяется не к тем полям (проверьте список оформляемых полей), либо в имени элемента стиля опечатка. Проверяйте по шагам: сначала упростите условие до гарантированно истинного, убедитесь, что оформление сработало, затем восстановите реальное условие.

Стоит ли использовать элементы стиля в небольшой самописной конфигурации?

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