Используется для доступа к свойствам страницы панели.
Полное описание, параметры и ограничения
СтраницаПанели (PanelPage)
СтраницаПанели (PanelPage)
Доступен, начиная с версии 8.0.
Свойства:
Видимость (Visible)
Доступность (Enabled)
Заголовок (Caption)
Значение (Value)
Имя (Name)
КартинкаЗаголовка (TitlePicture)
Раскрыта (IsOpen)
Описание:
Используется для доступа к свойствам страницы панели.
Доступность:
Толстый клиент.
См. также:
Панель, свойство ТекущаяСтраница
СтраницыПанели, метод Вставить
СтраницыПанели, метод Добавить
СтраницыПанели, метод Индекс
СтраницыПанели, метод Получить
СтраницыПанели, метод Удалить
Использование в версии:
Доступен, начиная с версии 8.0.
Методическая информация
Практические примеры
Добавить и удалить только временные пустые страницы
Коллекция проходит цикл 2→3→4→2. Удаляются только созданные кодом страницы без элементов управления; две исходные остаются.
Где и как запускать
Полный модуль собственной обычной формы. Только толстый клиент с обычными формами. Действие кнопки — экспортная процедура с первым параметром Элемент.
Подготовка
Создайте отдельную внешнюю обработку с обычной формой. Запускайте толстым клиентом в режиме обычных форм, не в рабочей конфигурации.
Разместите отдельную вложенную панель УчебнаяПанель. В редакторе создайте ровно две её страницы с именами Основное и Проверка, включите распределение по страницам и выключите режим прокручиваемых страниц.
На странице Основное разместите надпись «Книга: 3», на странице Проверка — надпись «Сумма: 750». Кнопку УчебнаяКоманда разместите ВНЕ УчебнаяПанель, на основной панели формы.
Событие ПриОткрытии формы свяжите с процедурой ПриОткрытии. Нажатие кнопки вручную не назначайте: оно связывается с процедурой ВыполнитьУчебнуюКоманду через Действие.
Каждый урок заменяет полный модуль отдельной копии формы. Страницы принадлежат только этой форме; документы и настройки базы не изменяются.
Процедура ПриОткрытии()
Панель = ЭтаФорма.ЭлементыФормы.УчебнаяПанель;
Страницы = Панель.Страницы;
Если Страницы.Количество() <> 2 Тогда
ВызватьИсключение "Нужны ровно две собственные страницы";
КонецЕсли;
Основное = Страницы.Найти("Основное");
Проверка = Страницы.Найти("Проверка");
Если Основное = Неопределено Или Проверка = Неопределено Тогда
ВызватьИсключение "Создайте страницы Основное и Проверка";
КонецЕсли;
Панель.РаспределятьПоСтраницам = Истина;
Панель.ОтображениеЗакладок = ОтображениеЗакладок.Сверху;
Основное.Видимость = Истина;
Основное.Доступность = Истина;
Проверка.Видимость = Истина;
Проверка.Доступность = Истина;
Панель.ТекущаяСтраница = Основное;
Кнопка = ЭтаФорма.ЭлементыФормы.УчебнаяКоманда;
Кнопка.Заголовок = "Выполнить учебную проверку";
Кнопка.УстановитьДействие("Нажатие", Новый Действие("ВыполнитьУчебнуюКоманду"));
КонецПроцедуры
Процедура ВыполнитьУчебнуюКоманду(Элемент) Экспорт
Панель = ЭтаФорма.ЭлементыФормы.УчебнаяПанель;
Страницы = Панель.Страницы;
Основное = Страницы.Найти("Основное");
Проверка = Страницы.Найти("Проверка");
Если Основное = Неопределено Или Проверка = Неопределено Тогда
ВызватьИсключение "Не найдены собственные страницы";
КонецЕсли;
Если Страницы.Количество() <> 2 Тогда
ВызватьИсключение "Сначала восстановите исходные две страницы";
КонецЕсли;
Временная = Страницы.Добавить("УчебныйВременный", "Временная", "temp");
Вставленная = Страницы.Вставить(1, "УчебныйВставленный", "Вставленная", "inserted");
Сообщить(Страницы.Количество() = 4);
Сообщить(Страницы.Получить(1) = Вставленная);
Сообщить(Страницы.Получить("УчебныйВременный") = Временная);
Сообщить(Страницы.Индекс(Вставленная) = 1);
Страницы.Сдвинуть(Вставленная, 1);
Сообщить(Страницы.Индекс(Вставленная) = 2);
Временная.Имя = "УчебныйПереименованный";
Сообщить(Страницы.Найти("УчебныйВременный") = Неопределено);
Сообщить(Страницы.Найти("УчебныйПереименованный") = Временная);
Панель.ТекущаяСтраница = Основное;
Страницы.Удалить(Вставленная);
Страницы.Удалить(Временная);
Сообщить(Страницы.Количество() = 2);
Сообщить(Страницы.Найти("Основное") = Основное И Страницы.Найти("Проверка") = Проверка);
КонецПроцедурыРазбор по шагам
Добавить возвращает новую страницу; Вставить принимает индекс с нуля и возвращает вторую новую страницу.
После вставки проверяем количество 4, получение по индексу и по внутреннему имени.
Сдвинуть на +1 перемещает вставленную страницу с позиции 1 на позицию 2.
Изменение Имя проверяется двумя поисками: старое исчезло, новое возвращает тот же объект.
Перед удалением выбираем исходную страницу. После Удалить не используем удалённые объекты; проверяем только коллекцию и две живые исходные страницы.
Как проверить результат
За одно нажатие все девять сообщений Истина; конечное количество 2.
Повторное нажатие повторяет тот же цикл. Обе исходные надписи остаются.
Ожидаемый результат
Все операции выполняются над собственными временными пустыми страницами.
На что обратить внимание
Удалить страницы удаляет расположенные на ней элементы управления.
Не храните ссылки на удалённые страницы.
При ошибке промежуточной операции закройте учебную форму и откройте заново.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.
Настроить вкладки без записи в свойства только для чтения
Текст, фон, шрифт и рамка меняются на своей панели. АвтоПорядокОбхода и ПоложениеКартинкиПанели только читаются.
Где и как запускать
Полный модуль собственной обычной формы. Только толстый клиент с обычными формами. Действие кнопки — экспортная процедура с первым параметром Элемент.
Подготовка
Создайте отдельную внешнюю обработку с обычной формой. Запускайте толстым клиентом в режиме обычных форм, не в рабочей конфигурации.
Разместите отдельную вложенную панель УчебнаяПанель. В редакторе создайте ровно две её страницы с именами Основное и Проверка, включите распределение по страницам и выключите режим прокручиваемых страниц.
На странице Основное разместите надпись «Книга: 3», на странице Проверка — надпись «Сумма: 750». Кнопку УчебнаяКоманда разместите ВНЕ УчебнаяПанель, на основной панели формы.
Событие ПриОткрытии формы свяжите с процедурой ПриОткрытии. Нажатие кнопки вручную не назначайте: оно связывается с процедурой ВыполнитьУчебнуюКоманду через Действие.
Каждый урок заменяет полный модуль отдельной копии формы. Страницы принадлежат только этой форме; документы и настройки базы не изменяются.
Процедура ПриОткрытии()
Панель = ЭтаФорма.ЭлементыФормы.УчебнаяПанель;
Страницы = Панель.Страницы;
Если Страницы.Количество() <> 2 Тогда
ВызватьИсключение "Нужны ровно две собственные страницы";
КонецЕсли;
Основное = Страницы.Найти("Основное");
Проверка = Страницы.Найти("Проверка");
Если Основное = Неопределено Или Проверка = Неопределено Тогда
ВызватьИсключение "Создайте страницы Основное и Проверка";
КонецЕсли;
Панель.РаспределятьПоСтраницам = Истина;
Панель.ОтображениеЗакладок = ОтображениеЗакладок.Сверху;
Основное.Видимость = Истина;
Основное.Доступность = Истина;
Проверка.Видимость = Истина;
Проверка.Доступность = Истина;
Панель.ТекущаяСтраница = Основное;
Панель.Доступность = Истина;
Панель.Подсказка = "Две страницы собственной учебной формы";
Панель.ПрозрачныйФон = Ложь;
Панель.ЦветФона = Новый Цвет(244, 248, 252);
Панель.ЦветТекста = Новый Цвет(24, 40, 60);
Панель.ЦветРамки = Новый Цвет(160, 176, 192);
Панель.Рамка = Новый Рамка(ТипРамки.Одинарная);
Панель.Шрифт = Новый Шрифт(Панель.Шрифт, , 11, Истина);
Панель.Картинка = Новый Картинка;
Панель.РазмерКартинки = РазмерКартинки.Пропорционально;
Панель.ПорядокОбхода = 1;
Кнопка = ЭтаФорма.ЭлементыФормы.УчебнаяКоманда;
Кнопка.Заголовок = "Выполнить учебную проверку";
Кнопка.УстановитьДействие("Нажатие", Новый Действие("ВыполнитьУчебнуюКоманду"));
КонецПроцедуры
Процедура ВыполнитьУчебнуюКоманду(Элемент) Экспорт
Панель = ЭтаФорма.ЭлементыФормы.УчебнаяПанель;
Страницы = Панель.Страницы;
Основное = Страницы.Найти("Основное");
Проверка = Страницы.Найти("Проверка");
Если Основное = Неопределено Или Проверка = Неопределено Тогда
ВызватьИсключение "Не найдены собственные страницы";
КонецЕсли;
Сообщить(Панель.Доступность И Не Панель.ПрозрачныйФон);
Сообщить(Панель.Шрифт.Размер = 11 И Панель.Шрифт.Полужирный);
Сообщить(Панель.ПорядокОбхода);
Сообщить(Панель.АвтоПорядокОбхода);
Сообщить(Панель.ПоложениеКартинкиПанели);
Сообщить(Панель.РазмерКартинки = РазмерКартинки.Пропорционально);
Сообщить(Страницы.Количество() = 2);
КонецПроцедурыРазбор по шагам
Шрифт создаётся на основе прежнего: второй параметр пропущен, третий задаёт размер 11, четвёртый — полужирность.
В режиме вкладок рамка простая одинарная. Произвольные стили рамки здесь не обещаются.
АвтоПорядокОбхода и ПоложениеКартинкиПанели доступны только для чтения: код показывает их фактические значения.
Пустая картинка снимает собственный фон-изображение. РазмерКартинки задаёт режим подгонки, но не делает пустую картинку видимой.
Доступность и порядок обхода — свойства интерфейса, не серверная проверка доступа.
Как проверить результат
Первое, второе, шестое и седьмое сообщения Истина; порядок обхода 1.
Проверьте вкладки при своём масштабе и тему клиента. Числа 3 и 750 в надписях не меняются.
Ожидаемый результат
Настроено оформление панели с явным разделением изменяемых и диагностических свойств.
На что обратить внимание
Не присваивайте значения АвтоПорядокОбхода и ПоложениеКартинкиПанели.
Картинка панели — не картинка заголовка страницы; обе допускают программно Пустая или ИзБиблиотеки.
Пиксельное отображение и порядок фокуса требуют проверки в клиенте.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.