Тип: ГруппировкаПодчиненныхЭлементовФормы. Содержит способ группировки дочерних элементов.
Полное описание, параметры и ограничения
Расширение группы формы для обычной группы.Группировка (Form group extension for a usual group.Group)
Расширение группы формы для обычной группы (Form group extension for a usual group)
Группировка (Group)
Доступен, начиная с версии 8.2.
Использование:
Чтение и запись.
Описание:
Тип: ГруппировкаПодчиненныхЭлементовФормы.
Содержит способ группировки дочерних элементов.
Доступность:
Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.
Использование в версии:
Доступен, начиная с версии 8.2.
Методическая информация
Практические примеры
Свернуть группу и показать внешнее краткое пояснение
Свертываемая группа скрывает свое поле, но не его значение. Краткое пояснение находится вне группы и показывается в свернутом состоянии.
Где и как запускать
Модуль новой управляемой формы учебной внешней обработки. Код содержит готовые процедуры с директивами; вставляйте на уровне модуля, не внутрь другого обработчика. Каждую задачу запускайте в отдельной копии формы.
Подготовка
Создайте отдельную внешнюю обработку с новой пустой управляемой основной формой. Каждый урок — свой полный модуль и отдельная копия формы.
Не создавайте вручную УчебноеНазвание, УчебнаяГруппа, ПолеУчебногоНазвания и УчебнаяНадпись: код добавляет их сам.
В событиях формы назначьте ПриСозданииНаСервере одноимённому обработчику. Вставьте весь модуль на уровне модуля, включая клиентские процедуры.
Откройте сохранённую учебную EPF в настольном тонком/толстом или веб-клиенте. Данные принадлежат только этой форме; справочники, документы и регистры не используются.
Внешняя кнопка находится вне учебной группы и остаётся доступной для обратного переключения. Код не обходит ограничения на внешние обработки.
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Новые = Новый Массив;
Новые.Добавить(Новый РеквизитФормы("УчебноеНазвание", Новый ОписаниеТипов("Строка")));
ЭтаФорма.ИзменитьРеквизиты(Новые);
ЭтаФорма.УчебноеНазвание = "Книга";
Группа = Элементы.Добавить("УчебнаяГруппа", Тип("ГруппаФормы"));
Группа.Вид = ВидГруппыФормы.ОбычнаяГруппа;
Группа.Заголовок = "Собственные учебные данные";
Группа.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Вертикальная;
Поле = Элементы.Добавить("ПолеУчебногоНазвания", Тип("ПолеФормы"), Группа);
Поле.Вид = ВидПоляФормы.ПолеВвода;
Поле.ПутьКДанным = "УчебноеНазвание";
Поле.Заголовок = "Название";
Надпись = Элементы.Добавить("УчебнаяНадпись", Тип("ДекорацияФормы"), Группа);
Надпись.Вид = ВидДекорацииФормы.Надпись;
Надпись.Заголовок = "Данные только в памяти формы";
Группа.Поведение = ПоведениеОбычнойГруппы.Свертываемая;
Группа.Отображение = ОтображениеОбычнойГруппы.ОбычноеВыделение;
Группа.ОтображениеУправления = ОтображениеУправленияОбычнойГруппы.ГиперссылкаЗаголовка;
Группа.ЗаголовокСвернутогоОтображения = "Название скрыто, данные сохранены";
Группа.ОтображатьОтступСлева = Истина;
Группа.ЦветФонаЗаголовкаСкрытогоОтображения = Новый Цвет(235, 244, 255);
Группа.СочетаниеКлавиш = Новый СочетаниеКлавиш(Клавиша.F7, Ложь, Истина, Истина);
Кратко = Элементы.Добавить("УчебноеКраткоеПояснение", Тип("ДекорацияФормы"));
Кратко.Вид = ВидДекорацииФормы.Надпись;
Кратко.Заголовок = "Группа свернута. Внешняя кнопка вернёт поле";
Кратко.Видимость = Истина;
Группа.ЭлементСвернутогоОтображения = Кратко;
Группа.Показать();
КомандаДействия = ЭтаФорма.Команды.Добавить("УчебноеДействие");
КомандаДействия.Действие = "УчебноеДействие";
КомандаДействия.Заголовок = "Выполнить учебное действие";
КомандаДействия.Подсказка = "Действие только над данными учебной формы";
КомандаДействия.ИзменяетСохраняемыеДанные = Ложь;
Кнопка = Элементы.Добавить("КнопкаУчебноеДействие", Тип("КнопкаФормы"));
Кнопка.ИмяКоманды = КомандаДействия.Имя;
Кнопка.Заголовок = КомандаДействия.Заголовок;
КонецПроцедуры
&НаКлиенте
Процедура УчебноеДействие(Команда)
Группа = Элементы.УчебнаяГруппа;
Если Группа.Скрыта() Тогда
Группа.Показать();
Иначе
Группа.Скрыть();
КонецЕсли;
Сообщить(Группа.Скрыта());
Сообщить(ЭтаФорма.УчебноеНазвание);
КонецПроцедуры
Разбор по шагам
Поведение Свертываемая делает Показать разворачиванием, Скрыть — сворачиванием, Скрыта — признаком свёрнутого состояния.
ЭлементСвернутогоОтображения ссылается на отдельную декорацию ВНЕ группы. Внутренний элемент не смог бы отображаться после сворачивания родителя.
Видимость краткого пояснения остаётся Истина: при Ложь управление через группу игнорируется.
ЗаголовокСвернутогоОтображения задаёт текст свернутой группы; цвет относится к её скрытому заголовку.
Внешняя кнопка всегда доступна. Ctrl+Shift+F7 — сочетание группы, если оно не перехвачено клиентом; проверяйте отдельно.
Как проверить результат
Первое нажатие: Истина и Книга; поле скрыто, внешнее краткое пояснение видно.
Второе: Ложь и Книга; поле возвращается. Введите Ручка и повторите: значение сохраняется.
Ожидаемый результат
Сворачивание, внешнее компактное представление и сохранность данных показаны вместе.
На что обратить внимание
Не размещайте ЭлементСвернутогоОтображения внутри самой свёртываемой группы.
Скрыта для всплывающей группы описана в справке иначе; этот переключатель предназначен только Свертываемая.
Отступ слева не используется при СильноеВыделение.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.
Настроить размещение собственных полей внутри группы
Свое поле названия и пояснение расположены горизонтально. Команда меняет направление группировки, сохраняя введённое название.
Где и как запускать
Модуль новой управляемой формы учебной внешней обработки. Код содержит готовые процедуры с директивами; вставляйте на уровне модуля, не внутрь другого обработчика. Каждую задачу запускайте в отдельной копии формы.
Подготовка
Создайте отдельную внешнюю обработку с новой пустой управляемой основной формой. Каждый урок — свой полный модуль и отдельная копия формы.
Не создавайте вручную УчебноеНазвание, УчебнаяГруппа, ПолеУчебногоНазвания и УчебнаяНадпись: код добавляет их сам.
В событиях формы назначьте ПриСозданииНаСервере одноимённому обработчику. Вставьте весь модуль на уровне модуля, включая клиентские процедуры.
Откройте сохранённую учебную EPF в настольном тонком/толстом или веб-клиенте. Данные принадлежат только этой форме; справочники, документы и регистры не используются.
Внешняя кнопка находится вне учебной группы и остаётся доступной для обратного переключения. Код не обходит ограничения на внешние обработки.
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Новые = Новый Массив;
Новые.Добавить(Новый РеквизитФормы("УчебноеНазвание", Новый ОписаниеТипов("Строка")));
ЭтаФорма.ИзменитьРеквизиты(Новые);
ЭтаФорма.УчебноеНазвание = "Книга";
Группа = Элементы.Добавить("УчебнаяГруппа", Тип("ГруппаФормы"));
Группа.Вид = ВидГруппыФормы.ОбычнаяГруппа;
Группа.Заголовок = "Собственные учебные данные";
Группа.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Вертикальная;
Поле = Элементы.Добавить("ПолеУчебногоНазвания", Тип("ПолеФормы"), Группа);
Поле.Вид = ВидПоляФормы.ПолеВвода;
Поле.ПутьКДанным = "УчебноеНазвание";
Поле.Заголовок = "Название";
Надпись = Элементы.Добавить("УчебнаяНадпись", Тип("ДекорацияФормы"), Группа);
Надпись.Вид = ВидДекорацииФормы.Надпись;
Надпись.Заголовок = "Данные только в памяти формы";
Группа.Объединенная = Истина;
Группа.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Горизонтальная;
Группа.ОтображатьЗаголовок = Истина;
Группа.Отображение = ОтображениеОбычнойГруппы.ОбычноеВыделение;
Группа.ГоризонтальныйИнтервал = ИнтервалМеждуЭлементамиФормы.Двойной;
Группа.ВертикальныйИнтервал = ИнтервалМеждуЭлементамиФормы.Одинарный;
Группа.ШиринаПодчиненныхЭлементов = ШиринаПодчиненныхЭлементовФормы.Одинаковая;
Группа.ВыравниваниеЭлементовИЗаголовков = ВариантВыравниванияЭлементовИЗаголовков.ЭлементыЛевоЗаголовкиЛево;
Группа.СквозноеВыравнивание = СквозноеВыравнивание.НеИспользовать;
Группа.ПоложениеЗаголовковПодчиненных = ПоложениеЗаголовковПодчиненныхЭлементовФормы.Сверху;
Группа.ГоризонтальноеПоложениеПодчиненных = ГоризонтальноеПоложениеЭлемента.Лево;
Группа.ВертикальноеПоложениеПодчиненных = ВертикальноеПоложениеЭлемента.Центр;
Группа.ВертикальноеПоложение = ВертикальноеПоложениеЭлемента.Центр;
Группа.ВажностьПриОтображении = ВажностьПриОтображении.Обычная;
КомандаДействия = ЭтаФорма.Команды.Добавить("УчебноеДействие");
КомандаДействия.Действие = "УчебноеДействие";
КомандаДействия.Заголовок = "Выполнить учебное действие";
КомандаДействия.Подсказка = "Действие только над данными учебной формы";
КомандаДействия.ИзменяетСохраняемыеДанные = Ложь;
Кнопка = Элементы.Добавить("КнопкаУчебноеДействие", Тип("КнопкаФормы"));
Кнопка.ИмяКоманды = КомандаДействия.Имя;
Кнопка.Заголовок = КомандаДействия.Заголовок;
КонецПроцедуры
&НаКлиенте
Процедура УчебноеДействие(Команда)
Группа = Элементы.УчебнаяГруппа;
Если Группа.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Горизонтальная Тогда
Группа.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Вертикальная;
Иначе
Группа.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Горизонтальная;
КонецЕсли;
Сообщить(Группа.Группировка);
Сообщить(ЭтаФорма.УчебноеНазвание);
КонецПроцедуры
Разбор по шагам
Объединенная включена, поэтому свойства собственной группы участвуют в раскладке.
ШиринаПодчиненныхЭлементов задаёт относительное соотношение, интервалы — расстояния в системе формы, не пиксели.
ПоложениеЗаголовковПодчиненных действует на элементы с автоматическим положением заголовка; не переопределяет флажки автоматически.
Сквозное выравнивание отключено, чтобы не выравнивать заголовки с другими группами.
Команда меняет только группировку. ВажностьПриОтображении относится к мобильной адаптации, не ранжированию данных.
Как проверить результат
Первое нажатие: Вертикальная и Книга. Второе: Горизонтальная и Книга.
Введите Ручка и переключите: поле сохраняет Ручка; сравните интервалы и заголовки при изменении ширины окна.
Ожидаемый результат
Работа группы показана на настоящих дочерних элементах с сохраняющимся значением.
На что обратить внимание
Не трактуйте Одинаковая как равенство ширины в пикселях.
Мобильная адаптация и конкретная тема в этих проверках не запускались.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.