При разработке удобных пользовательских интерфейсов на управляемых формах 1С часто возникает необходимость сгруппировать блоки (например, панели отборов, дополнительные реквизиты или настройки) с возможностью их свертывания. Это позволяет не загромождать форму и экономить рабочее пространство.
Разберем, почему группа может не сворачиваться в режиме «1С:Предприятие», какие свойства элемента формы являются критически важными, а также проанализируем пример программного создания такой группы из кода.
Чтобы группа элементов на управляемой форме стала свертываемой, необходимо правильно настроить ее ключевые свойства. Отсутствие хотя бы одного из обязательных параметров приводит к тому, что группа отображается как обычная или игнорирует флаг свертывания.
Проанализируем базовый чек-лист настроек группы:
Обычная группа.Свертываемая.Истина. Механизм свертывания конструктивно привязан к пиктограмме в заголовке группы. Если заголовок скрыт, кнопка свертывания отображаться не будет.Истина, если требуется, чтобы при первом открытии формы группа была свернута по умолчанию.Даже при правильных настройках свойства Поведение в конфигураторе группа может продолжать отображаться в развернутом виде. Рассмотрим основные причины такого поведения:
Свернута из конфигуратора. Для проверки необходимо выполнить сброс формы (через меню «Еще» -> «Установить стандартные настройки»).Свертываемая поддерживается платформой начиная с версии 8.3.3. Если в свойствах конфигурации установлен режим совместимости с версиями 8.2 или 8.3.2, платформа проигнорирует данное свойство.ОтображатьЗаголовок сброшено в Ложь, элемент визуально теряет возможность сворачивания.Рассмотрим пример создания свертываемой группы динамически при инициализации формы. Данный подход полезен, когда состав элементов формы зависит от прав доступа или контекста открываемых данных.
Посмотрим на пример кода:
Если Элементы.Найти("ВидУпаковкиГруппа") = Неопределено Тогда
ЭлементФормы = Элементы.Вставить("ВидУпаковкиГруппа", Тип("ГруппаФормы"), , Элементы.ГруппаСтавкаНДС);
ЭлементФормы.Заголовок = "Дополнительные данные";
ЭлементФормы.Вид = ВидГруппыФормы.ОбычнаяГруппа;
ЭлементФормы.Поведение = ПоведениеОбычнойГруппы.Свертываемая;
ЭлементФормы.ЗаголовокСвернутогоОтображения = "> Дополнительные данные";
ЭлементФормы.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Вертикальная;
ЭлементФормы.ОтображатьЗаголовок = Истина;
ЭлементФормы.Отображение = ОтображениеОбычнойГруппы.Нет;
ЭлементФормы.Видимость = НЕ Объект.Услуга;
КонецЕсли;
В данном примере мы используем объект ГруппаФормы со свойствами ВидГруппыФормы.ОбычнаяГруппа и ПоведениеОбычнойГруппы.Свертываемая. Обратим внимание, что явное присвоение ОтображатьЗаголовок = Истина гарантирует корректное отображение элемента управления свертыванием.
Если штатное поведение свертываемой группы по каким-то причинам не подходит, разберем альтернативные варианты реализации интерактивного свертывания:
Надпись с включенным флагом Гиперссылка. В событии Нажатие будем менять видимость группы: Элементы.ГруппаОтбора.Видимость = НЕ Элементы.ГруппаОтбора.Видимость;.Поведение в значение Всплывающая. В этом случае группа не занимает постоянное место на форме, а выпадает поверх остальных элементов при клике по заголовку.