Как выделить заголовок одной страницы жирным в управляемых формах 1С?

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

В процессе разработки интерфейсов на управляемых формах часто возникает задача визуально выделить определенную закладку (страницу) в группе страниц. Это может быть необходимо для привлечения внимания пользователя к важной информации или сигнализации о наличии ошибок на конкретной вкладке. Долгое время разработчики 1С сталкивались с тем, что стандартными средствами платформы изменить начертание шрифта заголовка было невозможно. Разберем, как обстоит ситуация сегодня и какие инструменты у нас есть.

Штатное решение в современных версиях платформы

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

Для того чтобы заголовок стал жирным, необходимо использовать свойство ШрифтЗаголовка. Рассмотрим программный способ установки этого свойства. Важно помнить, что объект Шрифт в 1С является неизменяемым. Мы не можем просто обратиться к свойству шрифта и поменять «жирность». Нам нужно создать новый объект Шрифт на основе текущего или стандартного.

Пример кода для программного выделения заголовка страницы:


// Получаем текущий шрифт элемента (или стандартный шрифт системы)
ТекущийШрифт = Элементы.ГруппаСтраницаДанные.ШрифтЗаголовка;

// Создаем новый шрифт на основе текущего, устанавливая параметр "Жирный" в Истина
// Параметры конструктора: Шрифт, ИмяШрифта, Размер, Жирный, Наклонный, Подчеркнутый, Зачеркнутый
НовыйШрифт = Новый Шрифт(ТекущийШрифт, , , Истина);

// Устанавливаем обновленный шрифт для конкретной страницы
Элементы.ГруппаСтраницаДанные.ШрифтЗаголовка = НовыйШрифт;

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

Критически важное условие: Режим совместимости

Выясним одну важную деталь, которая часто становится причиной вопросов «почему код написан верно, но не работает?». Даже если вы обновили платформу до версии 8.3.20 или выше, свойство ШрифтЗаголовка не будет иметь эффекта, если в свойствах конфигурации установлен режим совместимости ниже 8.3.20.

Рассмотрим пошагово, как это проверить:

  1. Откройте конфигуратор и перейдите в свойства корневого объекта конфигурации.
  2. Найдите раздел «Совместимость».
  3. Убедитесь, что значение в поле «Режим совместимости» установлено на «Не использовать» или на версию не ниже 8.3.20.

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

Альтернативные способы выделения для старых версий платформы

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

Использование картинок. У каждой страницы есть свойство Картинка. Мы можем подготовить небольшую иконку (например, восклицательный знак, яркую точку или цветной квадрат) и устанавливать ее программно при наступлении определенных событий. Это отличный способ привлечь внимание, который работает на любой версии 1С v8.3.

Картинка состояния. Помимо основной картинки, существует свойство КартинкаСостояния. Она отображается в виде небольшого индикатора и позволяет передать смысл (например, «заполнено», «ошибка», «внимание») без изменения текста заголовка.

Спецсимволы Unicode и Emoji. Посмотрим на интересный прием с использованием текста. В заголовок страницы можно вставлять символы Unicode, которые визуально имитируют жирные точки, стрелки или другие графические элементы. В современных операционных системах также поддерживаются Emoji. Рассмотрим пример:


// Добавление индикатора к заголовку страницы
Элементы.ГруппаСтраницаФайлы.Заголовок = "📁 Файлы (важно)";

Дополнительное выделение цветом

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

Пример совместного использования шрифта и цвета:


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

Особенности работы в веб-клиенте

Проанализируем нюансы отображения. При тестировании функционала в веб-клиенте (через браузер) иногда наблюдаются задержки в обновлении стилей заголовков. Если вы изменили шрифт или цвет программно, а изменения не видны сразу, попробуйте принудительно обновить форму или проверить отображение в тонком клиенте. Обычно платформа корректно транслирует эти свойства в CSS-стили страницы, но стабильность зависит от версии используемого браузера и конкретной сборки платформы 1С.

Резюме

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

← На главную