Как сделать вертикальную синюю линию в управляемой форме 1С

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

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

Разберем основной механизм: свойство «Выделение»

Начиная с версии платформы 8.3.14, разработчикам стал доступен стандартный функционал для управления визуальным выделением групп. Проанализируем, как это работает. За отображение той самой синей линии отвечает свойство группы формы, которое называется Выделение (в английской версии — Highlighting).

Для достижения нужного результата выполним следующие шаги в конфигураторе:

  1. Выберем в дереве элементов формы нужную группу (вид группы должен быть Группа - Обычная группа).
  2. Перейдем в палитру свойств выбранного элемента.
  3. Найдем свойство Выделение.
  4. Установим значение Сильное выделение (Strong). Именно это значение рисует толстую вертикальную линию цвета основного акцента темы (по умолчанию — синего).

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

Проанализируем влияние свойства «Отображение»

Часто программисты сталкиваются с ситуацией, когда свойство Выделение установлено, но линия не появляется или выглядит некорректно. Выясним причину этого поведения. Оказывается, результат напрямую зависит от свойства Отображение (Representation).

Разберем правила взаимодействия этих свойств:

Настройка вложенных элементов и группировки

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

Посмотрим на пример структуры:

  1. Создаем основную группу (назовем ее ГруппаАкцент) со свойством Выделение = Сильное.
  2. Внутри нее размещаем подчиненные элементы.
  3. Если элементы должны располагаться в строку (например, поле ввода и надпись «байт»), создаем внутри еще одну группу (ГруппаГоризонтальная).
  4. Для ГруппаГоризонтальная устанавливаем свойство Группировка в значение Горизонтальная всегда.

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

Программное управление выделением

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


&НаСервере
Процедура НастроитьВыделениеГруппы()
    // Устанавливаем сильное выделение программно
    Элементы.ГруппаДополнительныеСведения.Выделение = ГруппировкаВыделение.Сильное;
    
    // Если нужно программно переключить на слабое выделение
    Если Объект.Статус = Перечисления.СтатусыЗаказов.Завершен Тогда
        Элементы.ГруппаДополнительныеСведения.Выделение = ГруппировкаВыделение.Слабое;
    КонецЕсли;
КонецПроцедуры

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

Решение проблемы с «Расширенной подсказкой»

Типичная проблема, на которую жалуются разработчики: при настройке выделения группы вокруг полей ввода появляется лишнее пустое пространство или непонятные отступы. Это часто связано с автоматическим созданием элемента Расширенная подсказка.

Выясним, как это исправить:

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

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

Влияние интерфейса «Такси» и стилей конфигурации

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

Также проанализируем цвета. Цвет линии определяется системным стилем. Если вы хотите, чтобы линия была именно синей, убедитесь, что в свойствах группы параметры ЦветФона и ЦветТекста установлены в значение Авто. Принудительное назначение цветов группе может переопределить стилизацию акцентной линии, и она станет невидимой на фоне установленного вами цвета. Для гибкой настройки стилей и палитры интерфейса можно использовать набор готовых цветовых тем для интерфейса 1С.

Резюме и рекомендации

Подводя итог, для создания качественной вертикальной линии необходимо:

Соблюдение этих простых правил позволит вам создавать современные и удобные интерфейсы, соответствующие стандартам разработки фирмы «1С».

← На главную