Тип: Ориентация. Содержит способ расположения элемента управления в форме. Если указано Авто, то ориентация выбирается по соотношению сторон: если высота больше ширины, то элемент ориентирован вертикально, если высота меньше ширины, то элемент ориентирован горизонтально. От ориентации зависит способ вывода текста на кнопках (горизонтально или вертикально).
Полное описание, параметры и ограничения
КоманднаяПанель.Ориентация (CommandBar.Orientation)
КоманднаяПанель (CommandBar)
Ориентация (Orientation)
Доступен, начиная с версии 8.0.
Использование:
Чтение и запись.
Описание:
Тип: Ориентация.
Содержит способ расположения элемента управления в форме. Если указано Авто, то ориентация выбирается по соотношению сторон: если высота больше ширины, то элемент ориентирован вертикально, если высота меньше ширины, то элемент ориентирован горизонтально. От ориентации зависит способ вывода текста на кнопках (горизонтально или вертикально).
Доступность:
Толстый клиент.
Использование в версии:
Доступен, начиная с версии 8.0.
Методическая информация
Практические примеры
Создать собственную панель с двумя учебными действиями
АвтоЗаполнение выключено: в новой пустой панели добавлены две явные команды. Одна увеличивает число книг, вторая только читает его.
Где и как запускать
Полный модуль собственной обычной формы; толстый клиент. Не командная панель управляемой формы.
Подготовка
Создайте внешнюю обработку с новой обычной формой в отдельной учебной базе. Реквизит УчебноеКоличество: Число 9.0, поле ввода УчебноеКоличество связано с ним.
Добавьте пустую командную панель УчебнаяПанель, Источник действий оставьте пустым. Внешнюю обычную кнопку УчебнаяКоманда расположите вне панели. Не используйте существующую панель рабочей формы.
ПриОткрытии свяжите с одноимённой процедурой. Остальные действия вручную не назначайте: они связываются кодом через Действие. Экспортные действия панели принимают Кнопка, а обработчик внешней обычной кнопки — Элемент; ПриОткрытии самой формы остаётся без параметров.
Каждый урок — полный модуль отдельной копии формы. Толстый клиент с обычными формами. Два действия меняют или проверяют только своё число в памяти.
Процедура ПриОткрытии()
УчебноеКоличество = 3;
Панель = ЭтаФорма.ЭлементыФормы.УчебнаяПанель;
Панель.АвтоЗаполнение = Ложь;
Кнопки = Панель.Кнопки;
Если Кнопки.Количество() <> 0 Тогда
ВызватьИсключение "Для урока нужна новая пустая собственная панель";
КонецЕсли;
Кнопки.Добавить("Добавить", ТипКнопкиКоманднойПанели.Действие, "Добавить одну книгу", Новый Действие("ДобавитьУчебнуюКнигу"));
Кнопки.Добавить("Проверить", ТипКнопкиКоманднойПанели.Действие, "Проверить количество", Новый Действие("ПроверитьУчебноеКоличество"));
Кнопка = ЭтаФорма.ЭлементыФормы.УчебнаяКоманда;
Кнопка.УстановитьДействие("Нажатие", Новый Действие("ВыполнитьУчебноеДействие"));
Панель.Ориентация = Ориентация.Горизонтально;
Панель.ВыравниваниеКнопок = ВыравниваниеКнопокКоманднойПанели.Лево;
Панель.Вспомогательная = Ложь;
Панель.Подсказка = "Два действия только для собственного числа";
КонецПроцедуры
Процедура ВыполнитьУчебноеДействие(Элемент) Экспорт
Панель = ЭтаФорма.ЭлементыФормы.УчебнаяПанель;
Сообщить(НЕ Панель.АвтоЗаполнение);
Сообщить(Панель.Кнопки.Количество() = 2);
Добавить = Панель.Кнопки.Найти("Добавить");
Проверить = Панель.Кнопки.Найти("Проверить");
Если Добавить = Неопределено ИЛИ Проверить = Неопределено Тогда
ВызватьИсключение "Не найдены две собственные команды";
КонецЕсли;
Сообщить(Добавить.ТипКнопки = ТипКнопкиКоманднойПанели.Действие);
Сообщить(Проверить.ТипКнопки = ТипКнопкиКоманднойПанели.Действие);
Сообщить("Своё число: " + Строка(УчебноеКоличество));
КонецПроцедуры
Процедура ДобавитьУчебнуюКнигу(Кнопка) Экспорт
Если УчебноеКоличество < 0 Тогда
Сообщить("Сначала исправьте отрицательное учебное количество");
Возврат;
КонецЕсли;
УчебноеКоличество = УчебноеКоличество + 1;
Сообщить("Своих книг: " + Строка(УчебноеКоличество));
КонецПроцедуры
Процедура ПроверитьУчебноеКоличество(Кнопка) Экспорт
Сообщить("Учебное количество: " + Строка(УчебноеКоличество));
КонецПроцедуры
Разбор по шагам
Сначала проверяется пустая собственная панель. Код не очищает случайные чужие команды.
АвтоЗаполнение = Ложь оставляет состав под контролем этого модуля. При Истина команды предоставлял бы ИсточникДействий, чего здесь не настроено.
Кнопки — ссылка только для чтения на изменяемую коллекцию. Присваивание Панель.Кнопки не используется.
Добавить создаёт два действия с реальными процедурами. Найти проверяет внутренние имена, а не текст кнопок.
Вспомогательная = Ложь включает панель в обход TAB с сохранением активности в ней после действия. Проверяется в клиенте вручную.
Как проверить результат
Внешняя кнопка: четыре Истина и число 3. Добавить одну книгу: 4; Проверить количество: 4 без изменения.
В поле задайте -1: Добавить покажет предупреждение и не увеличит число. Верните неотрицательное значение.
Ожидаемый результат
Состав панели и эффекты двух разных действий проверяемы новичком.
На что обратить внимание
Панель обычной формы не является ГруппаФормы или КоманднаяПанельФормы.
АвтоЗаполнение не включает автоматически права записи данных.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.
Оформить панель, не меняя число и действия
Фон панели и фон её кнопок — разные настройки. Ориентация переключается, но имена и число команд сохраняются.
Где и как запускать
Полный модуль собственной обычной формы; толстый клиент. Не командная панель управляемой формы.
Подготовка
Создайте внешнюю обработку с новой обычной формой в отдельной учебной базе. Реквизит УчебноеКоличество: Число 9.0, поле ввода УчебноеКоличество связано с ним.
Добавьте пустую командную панель УчебнаяПанель, Источник действий оставьте пустым. Внешнюю обычную кнопку УчебнаяКоманда расположите вне панели. Не используйте существующую панель рабочей формы.
ПриОткрытии свяжите с одноимённой процедурой. Остальные действия вручную не назначайте: они связываются кодом через Действие. Экспортные действия панели принимают Кнопка, а обработчик внешней обычной кнопки — Элемент; ПриОткрытии самой формы остаётся без параметров.
Каждый урок — полный модуль отдельной копии формы. Толстый клиент с обычными формами. Два действия меняют или проверяют только своё число в памяти.
Процедура ПриОткрытии()
УчебноеКоличество = 3;
Панель = ЭтаФорма.ЭлементыФормы.УчебнаяПанель;
Панель.АвтоЗаполнение = Ложь;
Кнопки = Панель.Кнопки;
Если Кнопки.Количество() <> 0 Тогда
ВызватьИсключение "Для урока нужна новая пустая собственная панель";
КонецЕсли;
Кнопки.Добавить("Добавить", ТипКнопкиКоманднойПанели.Действие, "Добавить одну книгу", Новый Действие("ДобавитьУчебнуюКнигу"));
Кнопки.Добавить("Проверить", ТипКнопкиКоманднойПанели.Действие, "Проверить количество", Новый Действие("ПроверитьУчебноеКоличество"));
Кнопка = ЭтаФорма.ЭлементыФормы.УчебнаяКоманда;
Кнопка.УстановитьДействие("Нажатие", Новый Действие("ВыполнитьУчебноеДействие"));
Панель.Рамка = Новый Рамка(ТипРамки.Одинарная);
Панель.ЦветРамки = Новый Цвет(180, 195, 210);
Панель.ЦветТекстаКнопки = Новый Цвет(24, 40, 60);
Панель.ЦветФона = Новый Цвет(235, 244, 255);
Панель.ЦветФонаКнопки = Новый Цвет(245, 248, 252);
Панель.Шрифт = Новый Шрифт(Панель.Шрифт, , 11, Ложь);
Панель.ПрозрачныйФон = Ложь;
Панель.Ориентация = Ориентация.Горизонтально;
КонецПроцедуры
Процедура ВыполнитьУчебноеДействие(Элемент) Экспорт
Панель = ЭтаФорма.ЭлементыФормы.УчебнаяПанель;
ИсходноеКоличество = УчебноеКоличество;
Если Панель.Ориентация = Ориентация.Горизонтально Тогда
Панель.Ориентация = Ориентация.Вертикально;
Иначе
Панель.Ориентация = Ориентация.Горизонтально;
КонецЕсли;
Сообщить("Ориентация: " + Строка(Панель.Ориентация));
Сообщить(Панель.Кнопки.Количество() = 2);
Сообщить(УчебноеКоличество = ИсходноеКоличество);
Сообщить(НЕ Панель.ПрозрачныйФон);
КонецПроцедуры
Процедура ДобавитьУчебнуюКнигу(Кнопка) Экспорт
Если УчебноеКоличество < 0 Тогда
Сообщить("Сначала исправьте отрицательное учебное количество");
Возврат;
КонецЕсли;
УчебноеКоличество = УчебноеКоличество + 1;
Сообщить("Своих книг: " + Строка(УчебноеКоличество));
КонецПроцедуры
Процедура ПроверитьУчебноеКоличество(Кнопка) Экспорт
Сообщить("Учебное количество: " + Строка(УчебноеКоличество));
КонецПроцедуры
Разбор по шагам
ЦветФона относится к панели, ЦветФонаКнопки к кнопкам, ЦветТекстаКнопки к их надписям.
Рамка одинарная; ЦветРамки задаёт также цвет разделителей. Новый Шрифт сохраняет имя старого шрифта, меняя размер на 11.
Ориентация влияет на вывод надписей, но не изменяет расположение других элементов или размер самой панели автоматически.
Перед изменением сохраняется реальное число. После него сравнивается значение и количество собственных команд.
Как проверить результат
Три Истина и имя ориентации. Два нажатия возвращают исходное направление.
Оба действия всё ещё работают; при необходимости заранее увеличьте область панели в редакторе формы.
Ожидаемый результат
Оформление отделено от данных и состава команд.
На что обратить внимание
Не обещается автоматическое переразмещение всех соседних контролов.
Цвета зависят от темы; визуальный результат требует проверки толстого клиента.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.