Содержит свойства, специфичные для группы вида ГруппаКнопок.
Полное описание, параметры и ограничения
Расширение группы формы для группы кнопок (Form group extension for a button group)
Расширение группы формы для группы кнопок (Form group extension for a button group)
Доступен, начиная с версии 8.3.8.
Свойства:
Отображение (Representation)
Описание:
Содержит свойства, специфичные для группы вида ГруппаКнопок.
Доступность:
Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.
Использование в версии:
Доступен, начиная с версии 8.3.8.
Методическая информация
Практические примеры
Сравнить обычную и компактную группу двух действующих кнопок
ГруппаКнопок находится внутри собственной командной панели. В обоих вариантах кнопки выполняют одинаковые действия с учебным количеством.
Где и как запускать
Полный модуль своей новой управляемой формы. Команды изменяют только её учебные значения.
Подготовка
В отдельной своей конфигурации УчебнаяКонфигурацияСинтаксиса создайте новую внешнюю обработку с пустой управляемой основной формой. Вставьте весь модуль выбранного опыта.
Назначьте событию ПриСозданииНаСервере одноимённый обработчик. Не создавайте вручную реквизиты, панель, группу, команды или кнопки: всё добавляется кодом.
В памяти формы собственная Книга: количество 3, цена 250, сумма 750. Кнопка +1 меняет количество, кнопка Вернуть 3 возвращает его, сумма пересчитывается.
Внешняя кнопка Сменить отображение находится вне учебной панели и группы. Её можно нажать даже при компактном показе или закрытом подменю.
Настольный тонкий/толстый клиент Windows 8.5.1.1343. Важность подменю появилась в 8.5.1. Фактическую фигуру, цвета и компактность проверьте глазами в активной теме.
Только во втором опыте нужна своя общая картинка УчебныйМаркер: импортируйте lesson-assets/owned-book-marker-32.png в общую картинку своей учебной конфигурации и обновите её.
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Реквизиты = Новый Массив;
Реквизиты.Добавить(Новый РеквизитФормы("Количество", Новый ОписаниеТипов("Число")));
Реквизиты.Добавить(Новый РеквизитФормы("Сумма", Новый ОписаниеТипов("Число")));
ЭтаФорма.ИзменитьРеквизиты(Реквизиты);
Количество = 3;
Сумма = Количество * 250;
Для Каждого Имя Из СтрРазделить("Количество,Сумма", ",") Цикл
Поле = Элементы.Добавить("УчебноеПоле" + Имя, Тип("ПолеФормы"));
Поле.Вид = ВидПоляФормы.ПолеНадписи;
Поле.ПутьКДанным = Имя;
Поле.Заголовок = "Книга: " + Имя;
КонецЦикла;
Панель = Элементы.Добавить("УчебнаяКоманднаяПанель", Тип("ГруппаФормы"));
Панель.Вид = ВидГруппыФормы.КоманднаяПанель;
Группа = Элементы.Добавить("УчебнаяГруппаКоманд", Тип("ГруппаФормы"), Панель);
Группа.Заголовок = "Действия с собственной Книгой";
Группа.Вид = ВидГруппыФормы.ГруппаКнопок;
Группа.Отображение = ОтображениеГруппыКнопок.Обычное;
СоздатьСвоюКоманду("УвеличитьКоличество", "+1 Книга", Группа, ВидКнопкиФормы.КнопкаКоманднойПанели);
СоздатьСвоюКоманду("ВернутьТри", "Вернуть 3", Группа, ВидКнопкиФормы.КнопкаКоманднойПанели);
СоздатьСвоюКоманду("СменитьОтображение", "Сменить отображение", Неопределено, ВидКнопкиФормы.ОбычнаяКнопка);
КонецПроцедуры
&НаСервере
Процедура СоздатьСвоюКоманду(Имя, Заголовок, Родитель, ВидКнопки)
Команда = Команды.Добавить(Имя);
Команда.Заголовок = Заголовок;
Команда.Действие = Имя;
Команда.ИзменяетСохраняемыеДанные = Ложь;
Кнопка = Элементы.Добавить("УчебнаяКнопка" + Имя, Тип("КнопкаФормы"), Родитель);
Кнопка.Вид = ВидКнопки;
Кнопка.ИмяКоманды = Имя;
КонецПроцедуры
&НаКлиенте
Процедура УвеличитьКоличество(Команда)
Количество = Количество + 1;
Сумма = Количество * 250;
Сообщить("Собственная Книга: " + Строка(Количество) + ", сумма " + Строка(Сумма));
КонецПроцедуры
&НаКлиенте
Процедура ВернутьТри(Команда)
Количество = 3;
Сумма = Количество * 250;
Сообщить(Количество = 3 И Сумма = 750);
КонецПроцедуры
&НаКлиенте
Процедура СменитьОтображение(Команда)
Группа = Элементы.УчебнаяГруппаКоманд;
Если Группа.Отображение = ОтображениеГруппыКнопок.Обычное Тогда
Группа.Отображение = ОтображениеГруппыКнопок.Компактное;
Иначе
Группа.Отображение = ОтображениеГруппыКнопок.Обычное;
КонецЕсли;
Сообщить("Отображение своей группы: " + Строка(Группа.Отображение));
Сообщить(Сумма = Количество * 250);
КонецПроцедурыРазбор по шагам
Создать собственную командную панель, внутри неё группу вида ГруппаКнопок, внутри группы две кнопки.
У каждой кнопки собственная команда с клиентским обработчиком; это не декорации без действия.
Проверить +1: количество 4, сумма 1000. Затем переключить внешний вид внешней кнопкой.
Повторно +1 даёт 5 и 1250, Вернуть 3 — 3 и 750. Вид группы не меняет действия или правила расчёта.
Сравнить фактическое расположение и компактность в текущей теме и при изменении ширины окна.
Как проверить результат
Сменить отображение чередует Компактное/Обычное, проверка суммы Истина.
Рабочие собственные кнопки дают 4/1000, 5/1250 и возврат 3/750. Нет изменения номенклатуры или документа базы.
Ожидаемый результат
Свойство группы изучается на настоящих двух командах с проверяемыми результатами.
На что обратить внимание
Компактность не уменьшает количество операций команды.
Панель может содержать стандартные элементы интерфейса; упражнение проверяет только собственные именованные кнопки.
ИзменяетСохраняемыеДанные=Ложь не является запретом произвольного бизнес-кода; здесь обработчики действительно не пишут в базу.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.