СтраницыПанели.Добавить

Методы · Add

Добавляет страницу в конец коллекции страниц панели.

Синтаксис

Добавить(<Имя>, <Заголовок>, <Значение>, <КартинкаЗаголовка>)

Примеры платформы

Страницы = ЭлементыФормы.ОсновнаяПанель.Страницы;
СтраницаПанели = Страницы.Добавить(Имя, Представление);
ЭлементыФормы.ОсновнаяПанель.ТекущаяСтраница = СтраницаПанели;
Полное описание, параметры и ограничения

СтраницыПанели.Добавить (PanelPages.Add)

СтраницыПанели (PanelPages)

Добавить (Add)

Доступен, начиная с версии 8.0.

Синтаксис:
Добавить(<Имя>, <Заголовок>, <Значение>, <КартинкаЗаголовка>)
Параметры:

<Имя> (необязательный)
Тип: Строка.
Имя добавляемой страницы.

<Заголовок> (необязательный)
Тип: Строка.
Текст заголовка добавляемой страницы. Если страницы панели показываются в виде закладок, то определяет текст на закладке.

<Значение> (необязательный)
Тип: Произвольный.
Значение, связанное со страницей.

<КартинкаЗаголовка> (необязательный)
Тип: Картинка.
Картинка, отображаемая на заголовке закладки.
Возвращаемое значение:
Тип: СтраницаПанели.

Описание:

Добавляет страницу в конец коллекции страниц панели.

Доступность:

Толстый клиент.

Пример:

Страницы = ЭлементыФормы.ОсновнаяПанель.Страницы;
СтраницаПанели = Страницы.Добавить(Имя, Представление);
ЭлементыФормы.ОсновнаяПанель.ТекущаяСтраница = СтраницаПанели;

Использование в версии:

Доступен, начиная с версии 8.0.

Методическая информация

Практические примеры

Добавить и удалить только временные пустые страницы

Коллекция проходит цикл 2→3→4→2. Удаляются только созданные кодом страницы без элементов управления; две исходные остаются.

Где и как запускать

Полный модуль собственной обычной формы. Только толстый клиент с обычными формами. Действие кнопки — экспортная процедура с первым параметром Элемент.

Подготовка

  1. Создайте отдельную внешнюю обработку с обычной формой. Запускайте толстым клиентом в режиме обычных форм, не в рабочей конфигурации.

  2. Разместите отдельную вложенную панель УчебнаяПанель. В редакторе создайте ровно две её страницы с именами Основное и Проверка, включите распределение по страницам и выключите режим прокручиваемых страниц.

  3. На странице Основное разместите надпись «Книга: 3», на странице Проверка — надпись «Сумма: 750». Кнопку УчебнаяКоманда разместите ВНЕ УчебнаяПанель, на основной панели формы.

  4. Событие ПриОткрытии формы свяжите с процедурой ПриОткрытии. Нажатие кнопки вручную не назначайте: оно связывается с процедурой ВыполнитьУчебнуюКоманду через Действие.

  5. Каждый урок заменяет полный модуль отдельной копии формы. Страницы принадлежат только этой форме; документы и настройки базы не изменяются.

Процедура ПриОткрытии()
    Панель = ЭтаФорма.ЭлементыФормы.УчебнаяПанель;
    Страницы = Панель.Страницы;
    Если Страницы.Количество() <> 2 Тогда
        ВызватьИсключение "Нужны ровно две собственные страницы";
    КонецЕсли;
    Основное = Страницы.Найти("Основное");
    Проверка = Страницы.Найти("Проверка");
    Если Основное = Неопределено Или Проверка = Неопределено Тогда
        ВызватьИсключение "Создайте страницы Основное и Проверка";
    КонецЕсли;
    Панель.РаспределятьПоСтраницам = Истина;
    Панель.ОтображениеЗакладок = ОтображениеЗакладок.Сверху;
    Основное.Видимость = Истина;
    Основное.Доступность = Истина;
    Проверка.Видимость = Истина;
    Проверка.Доступность = Истина;
    Панель.ТекущаяСтраница = Основное;
    
    Кнопка = ЭтаФорма.ЭлементыФормы.УчебнаяКоманда;
    Кнопка.Заголовок = "Выполнить учебную проверку";
    Кнопка.УстановитьДействие("Нажатие", Новый Действие("ВыполнитьУчебнуюКоманду"));
КонецПроцедуры

Процедура ВыполнитьУчебнуюКоманду(Элемент) Экспорт
    Панель = ЭтаФорма.ЭлементыФормы.УчебнаяПанель;
    Страницы = Панель.Страницы;
    Основное = Страницы.Найти("Основное");
    Проверка = Страницы.Найти("Проверка");
    Если Основное = Неопределено Или Проверка = Неопределено Тогда
        ВызватьИсключение "Не найдены собственные страницы";
    КонецЕсли;
    Если Страницы.Количество() <> 2 Тогда
        ВызватьИсключение "Сначала восстановите исходные две страницы";
    КонецЕсли;
    Временная = Страницы.Добавить("УчебныйВременный", "Временная", "temp");
    Вставленная = Страницы.Вставить(1, "УчебныйВставленный", "Вставленная", "inserted");
    Сообщить(Страницы.Количество() = 4);
    Сообщить(Страницы.Получить(1) = Вставленная);
    Сообщить(Страницы.Получить("УчебныйВременный") = Временная);
    Сообщить(Страницы.Индекс(Вставленная) = 1);
    Страницы.Сдвинуть(Вставленная, 1);
    Сообщить(Страницы.Индекс(Вставленная) = 2);
    Временная.Имя = "УчебныйПереименованный";
    Сообщить(Страницы.Найти("УчебныйВременный") = Неопределено);
    Сообщить(Страницы.Найти("УчебныйПереименованный") = Временная);
    Панель.ТекущаяСтраница = Основное;
    Страницы.Удалить(Вставленная);
    Страницы.Удалить(Временная);
    Сообщить(Страницы.Количество() = 2);
    Сообщить(Страницы.Найти("Основное") = Основное И Страницы.Найти("Проверка") = Проверка);
КонецПроцедуры

Разбор по шагам

  1. Добавить возвращает новую страницу; Вставить принимает индекс с нуля и возвращает вторую новую страницу.

  2. После вставки проверяем количество 4, получение по индексу и по внутреннему имени.

  3. Сдвинуть на +1 перемещает вставленную страницу с позиции 1 на позицию 2.

  4. Изменение Имя проверяется двумя поисками: старое исчезло, новое возвращает тот же объект.

  5. Перед удалением выбираем исходную страницу. После Удалить не используем удалённые объекты; проверяем только коллекцию и две живые исходные страницы.

Как проверить результат

  1. За одно нажатие все девять сообщений Истина; конечное количество 2.

  2. Повторное нажатие повторяет тот же цикл. Обе исходные надписи остаются.

Ожидаемый результат

Все операции выполняются над собственными временными пустыми страницами.

На что обратить внимание

  1. Удалить страницы удаляет расположенные на ней элементы управления.

  2. Не храните ссылки на удалённые страницы.

  3. При ошибке промежуточной операции закройте учебную форму и откройте заново.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Очистить только отдельную пустую учебную панель

После Очистить коллекция не имеет ноль страниц: платформа оставляет одну новую страницу. Все старые ссылки считаются недействительными.

Где и как запускать

Полный модуль собственной обычной формы. Только толстый клиент с обычными формами. Действие кнопки — экспортная процедура с первым параметром Элемент.

Подготовка

  1. Создайте отдельную внешнюю обработку с обычной формой. Запускайте толстым клиентом в режиме обычных форм, не в рабочей конфигурации.

  2. Создайте отдельную ПУСТУЮ вложенную панель УчебнаяПанель без любых элементов внутри неё. Не используйте панель с надписями из остальных уроков.

  3. Кнопку УчебнаяКоманда разместите ВНЕ этой пустой панели. В редакторе включите распределение по страницам.

  4. Событие ПриОткрытии формы свяжите с процедурой ПриОткрытии. Нажатие кнопки вручную не назначайте: оно связывается с процедурой ВыполнитьУчебнуюКоманду через Действие.

  5. Каждый урок заменяет полный модуль отдельной копии формы. Страницы принадлежат только этой форме; документы и настройки базы не изменяются.

Процедура ПриОткрытии()
    Панель = ЭтаФорма.ЭлементыФормы.УчебнаяПанель;
    Панель.Страницы.Добавить("УчебнаяДляОчистки", "Удалится при очистке");
    Сообщить(Панель.Страницы.Количество());
    Кнопка = ЭтаФорма.ЭлементыФормы.УчебнаяКоманда;
    Кнопка.Заголовок = "Выполнить учебную проверку";
    Кнопка.УстановитьДействие("Нажатие", Новый Действие("ВыполнитьУчебнуюКоманду"));
КонецПроцедуры

Процедура ВыполнитьУчебнуюКоманду(Элемент) Экспорт
    Панель = ЭтаФорма.ЭлементыФормы.УчебнаяПанель;
    Страницы = Панель.Страницы;
    Страницы.Очистить();
    Сообщить(Страницы.Количество() = 1);
    НоваяСтраница = Страницы.Получить(0);
    НоваяСтраница.Имя = "УчебнаяПослеОчистки";
    НоваяСтраница.Заголовок = "Новая пустая страница";
    НоваяСтраница.Видимость = Истина;
    НоваяСтраница.Доступность = Истина;
    Панель.ТекущаяСтраница = НоваяСтраница;
    Сообщить(Страницы.Найти("УчебнаяДляОчистки") = Неопределено);
    Сообщить(Страницы.Найти("УчебнаяПослеОчистки") = НоваяСтраница);
КонецПроцедуры

Разбор по шагам

  1. Урок использует другую пустую вложенную панель, а не панель с надписями из первых пяти уроков.

  2. До очистки добавляется своя пустая страница. После очистки остаётся одна новая страница, что прямо проверяется.

  3. Получить(0) вызывается уже после очистки. Старые страницы не сохраняются в переменных и не используются.

  4. Новая страница получает собственное имя, заголовок и становится текущей. Кнопка вне очищаемой панели остаётся.

Как проверить результат

  1. При открытии выводится исходное количество плюс 1; после нажатия три Истина.

  2. Повторное нажатие также оставляет одну новую пустую страницу и работающую внешнюю кнопку.

Ожидаемый результат

Показано особое поведение Очистить: одна новая пустая страница, а не пустая коллекция.

На что обратить внимание

  1. Очистка панели с элементами управления удалит их; этот код предназначен только пустой учебной панели.

  2. Не очищайте главную панель или рабочую форму.

  3. Операция меняет интерфейс текущей копии, а не метаданные сохранённой обработки.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.