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

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

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

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

Обязательные настройки группы в конфигураторе

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

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

  1. Вид: установим значение Обычная группа.
  2. Поведение: выберем значение Свертываемая.
  3. Заголовок: обязательно заполним текстовое поле заголовка группы (например, «Настройки отбора»). Пустой заголовок не позволит платформе отобразить элемент управления свертыванием.
  4. ОтображатьЗаголовок: установим значение Истина. Механизм свертывания конструктивно привязан к пиктограмме в заголовке группы. Если заголовок скрыт, кнопка свертывания отображаться не будет.
  5. Свернута: установим флаг Истина, если требуется, чтобы при первом открытии формы группа была свернута по умолчанию.

Распространенные причины, почему группа не сворачивается

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

  1. Сохранение настроек пользователя: платформа 1С автоматически запоминает интерактивные действия пользователя. Если ранее форма уже открывалась и пользователь развернул группу, платформа восстановит это состояние при повторном открытии, перекрыв значение свойства Свернута из конфигуратора. Для проверки необходимо выполнить сброс формы (через меню «Еще» -> «Установить стандартные настройки»).
  2. Режим совместимости конфигурации: поведение группы Свертываемая поддерживается платформой начиная с версии 8.3.3. Если в свойствах конфигурации установлен режим совместимости с версиями 8.2 или 8.3.2, платформа проигнорирует данное свойство.
  3. Выключенный заголовок: если свойство ОтображатьЗаголовок сброшено в Ложь, элемент визуально теряет возможность сворачивания.

Программное создание свертываемой группы в коде 1С

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

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


Если Элементы.Найти("ВидУпаковкиГруппа") = Неопределено Тогда
    ЭлементФормы = Элементы.Вставить("ВидУпаковкиГруппа", Тип("ГруппаФормы"), , Элементы.ГруппаСтавкаНДС);
    ЭлементФормы.Заголовок = "Дополнительные данные";
    ЭлементФормы.Вид = ВидГруппыФормы.ОбычнаяГруппа;
    ЭлементФормы.Поведение = ПоведениеОбычнойГруппы.Свертываемая; 
    ЭлементФормы.ЗаголовокСвернутогоОтображения = "> Дополнительные данные";
    ЭлементФормы.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Вертикальная;
    ЭлементФормы.ОтображатьЗаголовок = Истина;
    ЭлементФормы.Отображение = ОтображениеОбычнойГруппы.Нет;
    ЭлементФормы.Видимость = НЕ Объект.Услуга;
КонецЕсли;

В данном примере мы используем объект ГруппаФормы со свойствами ВидГруппыФормы.ОбычнаяГруппа и ПоведениеОбычнойГруппы.Свертываемая. Обратим внимание, что явное присвоение ОтображатьЗаголовок = Истина гарантирует корректное отображение элемента управления свертыванием.

Альтернативные способы управления видимостью отборов

Если штатное поведение свертываемой группы по каким-то причинам не подходит, разберем альтернативные варианты реализации интерактивного свертывания:

  1. Переключение видимости через гиперссылку: разместим над блоком отборов декорацию типа Надпись с включенным флагом Гиперссылка. В событии Нажатие будем менять видимость группы: Элементы.ГруппаОтбора.Видимость = НЕ Элементы.ГруппаОтбора.Видимость;.
  2. Всплывающая группа: установим свойство Поведение в значение Всплывающая. В этом случае группа не занимает постоянное место на форме, а выпадает поверх остальных элементов при клике по заголовку.
← На главную