Разработка и Конфигурация · 12 мин
Как применить стили в 1С: практическое руководство
Как применить стили в 1С: условное оформление форм и списков, стили конфигурации, программная настройка цвета и шрифта, типичные ошибки и проверка результата.
Стили в 1С отвечают за визуальное оформление интерфейса: цвет текста и фона, шрифт, отображение элементов форм, списков и отчётов. На практике под «применением стилей» чаще всего понимают три задачи: настройку условного оформления динамических списков и табличных частей, использование предопределённых элементов стиля конфигурации и программное изменение оформления через код на встроенном языке.
Правильное оформление — это не только эстетика. Подсветка просроченных документов красным, выделение отрицательных остатков или крупных сумм помогает пользователям быстрее находить проблемные места и снижает количество ошибок при ежедневной работе. При этом избыточное или непродуманное оформление, наоборот, перегружает интерфейс и замедляет восприятие данных.
Ниже разобраны основные инструменты: где находятся настройки оформления в конфигураторе и в режиме «Предприятие», как задать условия, как обратиться к элементам стиля из кода и как проверить, что оформление применилось корректно. Отдельный раздел посвящён типичным ошибкам и ограничениям платформы.
Что такое стили в 1С и где они хранятся
В конфигурации 1С стили — это отдельная ветвь дерева метаданных: «Общие» → «Стили». Внутри стиля находятся элементы стиля, сгруппированные по типам: цвета, шрифты, картинки. Типовые конфигурации уже содержат набор предопределённых элементов, например цвета для выделения особого текста, гиперссылок, недоступных данных.
Элемент стиля — это именованное значение оформления. Вместо того чтобы жёстко задавать конкретный цвет RGB в каждой форме, разработчик ссылается на элемент стиля. Преимущество очевидно: если понадобится изменить цветовую схему всей конфигурации, достаточно поправить значение в одном месте, а не искать все формы, где цвет задан вручную.
Помимо стилей конфигурации, существует условное оформление — механизм, который меняет внешний вид данных в зависимости от условий. Именно условное оформление чаще всего имеют в виду, когда говорят «применить стили в 1С» к спискам документов, справочников или отчётам.
Настройка условного оформления формы в конфигураторе
Условное оформление формы настраивается в конфигураторе на уровне конкретной формы. Откройте форму объекта, перейдите на закладку «Условное оформление» (в дереве свойств формы) и добавьте новый элемент настройки. Для каждого элемента задаются три составляющие: условие отбора, оформление (цвет текста, цвет фона, шрифт, видимость, доступность) и оформляемые поля.
Условие строится на полях данных формы. Например, чтобы подсветить строки табличной части с отрицательным количеством, создайте отбор вида «Объект.Товары.Количество Меньше 0» и задайте оформление — красный цвет текста. Затем в списке оформляемых полей укажите колонки табличной части, к которым применяется правило.
Проверка результата выполняется в режиме «Предприятие»: откройте форму с тестовыми данными, удовлетворяющими условию, и убедитесь, что строки подсвечиваются. Важно проверить оба случая — когда условие выполняется и когда нет, чтобы убедиться, что оформление не применяется лишний раз.
- 1Откройте форму в конфигураторе и найдите свойство «Условное оформление»
- 2Добавьте элемент настройки и задайте отбор по полям данных формы
- 3Укажите оформление: цвет текста, цвет фона, шрифт
- 4Перечислите оформляемые поля — без этого правило не сработает
- 5Обновите конфигурацию базы данных и проверьте результат в режиме «Предприятие»
Условное оформление динамических списков
Динамический список (список документов, справочников, регистров) имеет собственное условное оформление, которое задаётся в свойствах реквизита формы типа «ДинамическийСписок». Логика та же: условие, оформление, оформляемые поля. Отличие в том, что отбор строится по полям основной таблицы списка, а не по данным объекта.
Типичный сценарий — подсветка просроченных документов в журнале. Если в списке есть поле с датой оплаты или доставки, условие сравнивает её с текущей датой. Для сравнения с текущей датой в отборе используют вычисляемое поле или стандартную дату периода, поскольку напрямую функции в отборе условного оформления не пишутся — доступны только сравнения полей с конкретными значениями или другими полями.
Если условие сложное и не выражается простым сравнением, альтернатива — добавить в запрос динамического списка вычисляемое поле-признак (например, «Просрочен» со значением Истина/Ложь) и строить условное оформление уже по нему. Это стандартный и надёжный приём.
Обращение к стилям из программного кода
Из встроенного языка к элементам стиля обращаются через глобальные свойства ЦветаСтиля, ШрифтыСтиля и КартинкиСтиля. Например, чтобы назначить полю цвет текста из стиля, используется конструкция вида:
Элементы.Сумма.ЦветТекста = ЦветаСтиля.ЦветОсобогоТекста;
Элементы.Комментарий.Шрифт = ШрифтыСтиля.МелкийШрифтТекста;
Программное изменение оформления уместно, когда внешний вид зависит от логики, которую нельзя выразить условным оформлением: например, подсветка по результатам обращения к другим данным или по правам пользователя. Код размещают в обработчиках формы — «ПриСозданииНаСервере», «ПриОткрытии» или в обработчиках событий табличных частей.
Ограничение подхода: программно назначенное оформление не пересчитывается автоматически при изменении данных. Если цвет зависит от значения, которое пользователь редактирует, нужно явно обновлять оформление в обработчике «ПриИзменении» соответствующего поля. В большинстве таких случаев условное оформление предпочтительнее, так как платформа пересчитывает его сама.
// Подсветка элемента формы цветом из стиля конфигурации
Элементы.ИтоговаяСумма.ЦветТекста = ЦветаСтиля.ЦветОсобогоТекста;
// Жёсткое задание цвета (хуже, но допустимо)
Элементы.ИтоговаяСумма.ЦветФона = Новый Цвет(255, 240, 240);Оформление отчётов на СКД
В отчётах на системе компоновки данных условное оформление настраивается в схеме компоновки на закладке «Условное оформление» — как в конфигураторе, так и в пользовательском режиме через «Ещё → Изменить вариант отчёта». Пользователь с правами на изменение вариантов может самостоятельно добавить подсветку строк без доработки конфигурации.
В настройках СКД условие строится по полям отчёта, оформление включает цвет, шрифт, формат чисел и даже текст-замену. Полезная возможность — настройка области применения: оформление можно применить ко всему отчёту, к конкретной группировке или только к определённым полям. Это позволяет, например, подсветить итоги по группе, не затрагивая детальные записи.
Практическая рекомендация: оформление, которое нужно всем пользователям, задавайте в схеме компоновки в конфигураторе, а индивидуальные предпочтения оставляйте на уровне пользовательских настроек вариантов. Тогда обновление конфигурации не конфликтует с личными настройками.
Где настраивать оформление
Подходит для табличных частей и реквизитов конкретной формы; требует доступа к конфигуратору
Для журналов документов и списков справочников; условия только по полям запроса списка
Для отчётов; часть настроек доступна пользователю без конфигуратора
Для сложной логики, не выразимой отбором; требует ручного обновления при изменении данных
Типичные ошибки и ограничения
Самая частая ошибка — незаполненный список оформляемых полей. Условие и цвет заданы, но правило ни к чему не применяется, и визуально ничего не происходит. Вторая по частоте причина — поле из условия не выбрано в запросе динамического списка или отчёта, поэтому платформа не может вычислить отбор.
Ещё одна группа проблем связана с приоритетами. Если несколько правил условного оформления пересекаются по полям, применяется то, что расположено выше в списке. Неправильный порядок правил приводит к тому, что более общее условие «перекрывает» частное. Правило простое: частные условия размещайте выше общих.
Из ограничений платформы стоит помнить: условное оформление не работает с произвольными выражениями в отборе, количество правил влияет на скорость отрисовки больших списков, а в тонком и веб-клиенте часть декоративных возможностей отображается иначе, чем в толстом клиенте. Перед массовым внедрением проверяйте оформление в том клиенте, которым пользуются сотрудники.
Проверка результата и безопасные границы изменений
После настройки оформления проверьте минимум три сценария: данные, удовлетворяющие условию (подсветка есть), данные, не удовлетворяющие условию (подсветки нет), и граничные значения — ноль, пустое значение, дата на границе периода. Для списков дополнительно прокрутите данные и обновите список, чтобы убедиться, что оформление стабильно.
Изменение стилей и условного оформления относительно безопасно: оно не затрагивает данные. Однако доработка типовой конфигурации создаёт риски при обновлении — изменённые формы могут конфликтовать с обновлением поставщика. Безопасная практика — использовать расширения конфигурации для добавления условного оформления, а не прямое изменение типовых форм. Перед любыми доработками на рабочей базе делайте выгрузку или резервную копию и сначала проверяйте изменения на копии.
Как проверить результат
Подсвечены заданным цветом или шрифтом
Подсветки нет — проверьте оформляемые поля и поле условия в запросе
Отображаются стандартно
Подсвечены все строки — условие составлено неверно или пустое
Частные условия выше общих, обе подсветки видны
Общее правило перекрывает частное — измените порядок
Оформление одинаково в тонком и веб-клиенте
В веб-клиенте цвета или шрифты отображаются иначе — упростите оформление
Подводя итог: для большинства задач достаточно условного оформления формы или списка, настроенного через конфигуратор или расширение. Программное назначение цветов оставляйте для случаев, где условие невозможно выразить отбором, а прямые значения цветов заменяйте ссылками на элементы стиля — это упростит сопровождение.
Что важно запомнить
Стили в 1С применяются через условное оформление форм, списков и отчётов либо через элементы стиля из кода. Всегда заполняйте оформляемые поля, проверяйте оба случая условия, используйте расширения вместо прямой доработки типовых форм и тестируйте на копии базы.
Частые вопросы
Можно ли настроить условное оформление без конфигуратора?
Да, но только для отчётов на СКД: в режиме «Предприятие» через «Ещё → Изменить вариант отчёта» доступна закладка условного оформления. Для форм и динамических списков настройка выполняется в конфигураторе или через расширение конфигурации.
Почему условное оформление не применяется, хотя условие верное?
Чаще всего не заполнен список оформляемых полей или поле из условия не входит в выборку запроса динамического списка. Реже причина в том, что правило перекрыто другим правилом, расположенным выше в списке.
Как подсветить строки по условию с текущей датой?
Напрямую функции в отборе условного оформления недоступны. Добавьте в запрос списка вычисляемое поле-признак (например, «Просрочен»), которое вычисляется сравнением даты документа с текущей датой, и стройте оформление по этому признаку.
Что лучше: задавать цвет напрямую или через элемент стиля?
Через элемент стиля. Прямое задание цвета RGB работает, но при изменении цветовой схемы конфигурации придётся править каждую форму отдельно. Элемент стиля меняется в одном месте, и изменение применяется везде, где на него есть ссылки.
Влияет ли условное оформление на производительность?
Да, при большом количестве правил и объёмных списках отрисовка замедляется. Держите число правил разумным, объединяйте одинаковые оформления и проверяйте скорость работы на реальном объёме данных, а не на пустой тестовой базе.
Безопасно ли менять оформление в типовой конфигурации?
Само оформление не затрагивает данные, но прямая доработка типовых форм создаёт конфликты при обновлении. Безопасный путь — расширение конфигурации и предварительная проверка на копии базы с обязательной резервной копией перед внедрением.