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

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

Как применить стили в 1С: практическое руководство

Как применить стили в 1С: условное оформление форм и списков, стили конфигурации, программная настройка цвета и шрифта, типичные ошибки и проверка результата.

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

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

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

Что такое стили в 1С и где они хранятся

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

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

Помимо стилей конфигурации, существует условное оформление — механизм, который меняет внешний вид данных в зависимости от условий. Именно условное оформление чаще всего имеют в виду, когда говорят «применить стили в 1С» к спискам документов, справочников или отчётам.

Настройка условного оформления формы в конфигураторе

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

Условие строится на полях данных формы. Например, чтобы подсветить строки табличной части с отрицательным количеством, создайте отбор вида «Объект.Товары.Количество Меньше 0» и задайте оформление — красный цвет текста. Затем в списке оформляемых полей укажите колонки табличной части, к которым применяется правило.

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

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

Условное оформление динамических списков

Динамический список (список документов, справочников, регистров) имеет собственное условное оформление, которое задаётся в свойствах реквизита формы типа «ДинамическийСписок». Логика та же: условие, оформление, оформляемые поля. Отличие в том, что отбор строится по полям основной таблицы списка, а не по данным объекта.

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

Если условие сложное и не выражается простым сравнением, альтернатива — добавить в запрос динамического списка вычисляемое поле-признак (например, «Просрочен» со значением Истина/Ложь) и строить условное оформление уже по нему. Это стандартный и надёжный приём.

Обращение к стилям из программного кода

Из встроенного языка к элементам стиля обращаются через глобальные свойства ЦветаСтиля, ШрифтыСтиля и КартинкиСтиля. Например, чтобы назначить полю цвет текста из стиля, используется конструкция вида:

Элементы.Сумма.ЦветТекста = ЦветаСтиля.ЦветОсобогоТекста;

Элементы.Комментарий.Шрифт = ШрифтыСтиля.МелкийШрифтТекста;

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

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

bsl
// Подсветка элемента формы цветом из стиля конфигурации
Элементы.ИтоговаяСумма.ЦветТекста = ЦветаСтиля.ЦветОсобогоТекста;
// Жёсткое задание цвета (хуже, но допустимо)
Элементы.ИтоговаяСумма.ЦветФона = Новый Цвет(255, 240, 240);

Оформление отчётов на СКД

В отчётах на системе компоновки данных условное оформление настраивается в схеме компоновки на закладке «Условное оформление» — как в конфигураторе, так и в пользовательском режиме через «Ещё → Изменить вариант отчёта». Пользователь с правами на изменение вариантов может самостоятельно добавить подсветку строк без доработки конфигурации.

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

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

Где настраивать оформление

Условное оформление формы

Подходит для табличных частей и реквизитов конкретной формы; требует доступа к конфигуратору

Условное оформление динамического списка

Для журналов документов и списков справочников; условия только по полям запроса списка

Оформление в СКД

Для отчётов; часть настроек доступна пользователю без конфигуратора

Программное назначение

Для сложной логики, не выразимой отбором; требует ручного обновления при изменении данных

Типичные ошибки и ограничения

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

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

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

Типичные ошибки
01
Пустой список оформляемых полей — правило создано, но не применяется ни к одной колонке
02
Поле условия отсутствует в запросе списка — отбор не вычисляется, оформление молча не работает
03
Общее правило стоит выше частного — специфичная подсветка перекрывается и не видна
04
Жёстко заданные цвета RGB вместо элементов стиля — при смене темы приходится править каждую форму вручную
05
Проверка только на данных, где условие выполняется — не замечено, что оформление применяется ко всем строкам

Проверка результата и безопасные границы изменений

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

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

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

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

Строки, подпадающие под условие
Норма

Подсвечены заданным цветом или шрифтом

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

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

Строки вне условия
Норма

Отображаются стандартно

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

Подсвечены все строки — условие составлено неверно или пустое

Порядок правил
Норма

Частные условия выше общих, обе подсветки видны

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

Общее правило перекрывает частное — измените порядок

Работа в нужном клиенте
Норма

Оформление одинаково в тонком и веб-клиенте

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

В веб-клиенте цвета или шрифты отображаются иначе — упростите оформление

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

Итог

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

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

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

Можно ли настроить условное оформление без конфигуратора?

Да, но только для отчётов на СКД: в режиме «Предприятие» через «Ещё → Изменить вариант отчёта» доступна закладка условного оформления. Для форм и динамических списков настройка выполняется в конфигураторе или через расширение конфигурации.

Почему условное оформление не применяется, хотя условие верное?

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

Как подсветить строки по условию с текущей датой?

Напрямую функции в отборе условного оформления недоступны. Добавьте в запрос списка вычисляемое поле-признак (например, «Просрочен»), которое вычисляется сравнением даты документа с текущей датой, и стройте оформление по этому признаку.

Что лучше: задавать цвет напрямую или через элемент стиля?

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

Влияет ли условное оформление на производительность?

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

Безопасно ли менять оформление в типовой конфигурации?

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