Удаляет страницу из коллекции страниц панели. При этом удаляются все элементы управления, которые были размещены на данной странице. Если до удаления была только одна страница, то при ее удалении удаляются все элементы управления, но в панель добавляется новая страница. Если установлен режим "не использовать распределение по страницам", то все элементы управления расположены на одной странице и будут удалены только при удалении всех страниц.
Синтаксис
Удалить(<Страница>)Примеры платформы
Индекс = 0;
Пока 1 = 1 Цикл
Если Индекс > ЭлементыФормы.Панель.Страницы.Количество()-1 Тогда
Прервать;
КонецЕсли;
СтраницаПанели = ЭлементыФормы.Панель.Страницы[Индекс];
Если ТаблицаРегистровНакопления.Найти(СтраницаПанели.Имя,"Имя") = Неопределено Тогда
ЭлементыФормы.Панель.Страницы.Удалить(Индекс);
Продолжить;
КонецЕсли;
Индекс = Индекс + 1;
КонецЦикла;
ЭлементыФормы.Панель.ТекущаяСтраница = ЭлементыФормы.Панель.Страницы[0];Полное описание, параметры и ограничения
СтраницыПанели.Удалить (PanelPages.Delete)
СтраницыПанели (PanelPages)
Удалить (Delete)
Доступен, начиная с версии 8.0.
Синтаксис:
Удалить(<Страница>)
Параметры:
<Страница> (обязательный)
Тип: Число, СтраницаПанели.
Номер удаляемой страницы в коллекции или сама страница.
Описание:
Удаляет страницу из коллекции страниц панели. При этом удаляются все элементы управления, которые были размещены на данной странице. Если до удаления была только одна страница, то при ее удалении удаляются все элементы управления, но в панель добавляется новая страница.
Если установлен режим "не использовать распределение по страницам", то все элементы управления расположены на одной странице и будут удалены только при удалении всех страниц.
Доступность:
Толстый клиент.
Пример:
// Удаление лишних страниц
Индекс = 0;
Пока 1 = 1 Цикл
Если Индекс > ЭлементыФормы.Панель.Страницы.Количество()-1 Тогда
Прервать;
КонецЕсли;
СтраницаПанели = ЭлементыФормы.Панель.Страницы[Индекс];
Если ТаблицаРегистровНакопления.Найти(СтраницаПанели.Имя,"Имя") = Неопределено Тогда
ЭлементыФормы.Панель.Страницы.Удалить(Индекс);
Продолжить;
КонецЕсли;
Индекс = Индекс + 1;
КонецЦикла;
ЭлементыФормы.Панель.ТекущаяСтраница = ЭлементыФормы.Панель.Страницы[0];
Использование в версии:
Доступен, начиная с версии 8.0.
Методическая информация
Практические примеры
Добавить и удалить только временные пустые страницы
Коллекция проходит цикл 2→3→4→2. Удаляются только созданные кодом страницы без элементов управления; две исходные остаются.
Где и как запускать
Полный модуль собственной обычной формы. Только толстый клиент с обычными формами. Действие кнопки — экспортная процедура с первым параметром Элемент.
Подготовка
Создайте отдельную внешнюю обработку с обычной формой. Запускайте толстым клиентом в режиме обычных форм, не в рабочей конфигурации.
Разместите отдельную вложенную панель УчебнаяПанель. В редакторе создайте ровно две её страницы с именами Основное и Проверка, включите распределение по страницам и выключите режим прокручиваемых страниц.
На странице Основное разместите надпись «Книга: 3», на странице Проверка — надпись «Сумма: 750». Кнопку УчебнаяКоманда разместите ВНЕ УчебнаяПанель, на основной панели формы.
Событие ПриОткрытии формы свяжите с процедурой ПриОткрытии. Нажатие кнопки вручную не назначайте: оно связывается с процедурой ВыполнитьУчебнуюКоманду через Действие.
Каждый урок заменяет полный модуль отдельной копии формы. Страницы принадлежат только этой форме; документы и настройки базы не изменяются.
Процедура ПриОткрытии()
Панель = ЭтаФорма.ЭлементыФормы.УчебнаяПанель;
Страницы = Панель.Страницы;
Если Страницы.Количество() <> 2 Тогда
ВызватьИсключение "Нужны ровно две собственные страницы";
КонецЕсли;
Основное = Страницы.Найти("Основное");
Проверка = Страницы.Найти("Проверка");
Если Основное = Неопределено Или Проверка = Неопределено Тогда
ВызватьИсключение "Создайте страницы Основное и Проверка";
КонецЕсли;
Панель.РаспределятьПоСтраницам = Истина;
Панель.ОтображениеЗакладок = ОтображениеЗакладок.Сверху;
Основное.Видимость = Истина;
Основное.Доступность = Истина;
Проверка.Видимость = Истина;
Проверка.Доступность = Истина;
Панель.ТекущаяСтраница = Основное;
Кнопка = ЭтаФорма.ЭлементыФормы.УчебнаяКоманда;
Кнопка.Заголовок = "Выполнить учебную проверку";
Кнопка.УстановитьДействие("Нажатие", Новый Действие("ВыполнитьУчебнуюКоманду"));
КонецПроцедуры
Процедура ВыполнитьУчебнуюКоманду(Элемент) Экспорт
Панель = ЭтаФорма.ЭлементыФормы.УчебнаяПанель;
Страницы = Панель.Страницы;
Основное = Страницы.Найти("Основное");
Проверка = Страницы.Найти("Проверка");
Если Основное = Неопределено Или Проверка = Неопределено Тогда
ВызватьИсключение "Не найдены собственные страницы";
КонецЕсли;
Если Страницы.Количество() <> 2 Тогда
ВызватьИсключение "Сначала восстановите исходные две страницы";
КонецЕсли;
Временная = Страницы.Добавить("УчебныйВременный", "Временная", "temp");
Вставленная = Страницы.Вставить(1, "УчебныйВставленный", "Вставленная", "inserted");
Сообщить(Страницы.Количество() = 4);
Сообщить(Страницы.Получить(1) = Вставленная);
Сообщить(Страницы.Получить("УчебныйВременный") = Временная);
Сообщить(Страницы.Индекс(Вставленная) = 1);
Страницы.Сдвинуть(Вставленная, 1);
Сообщить(Страницы.Индекс(Вставленная) = 2);
Временная.Имя = "УчебныйПереименованный";
Сообщить(Страницы.Найти("УчебныйВременный") = Неопределено);
Сообщить(Страницы.Найти("УчебныйПереименованный") = Временная);
Панель.ТекущаяСтраница = Основное;
Страницы.Удалить(Вставленная);
Страницы.Удалить(Временная);
Сообщить(Страницы.Количество() = 2);
Сообщить(Страницы.Найти("Основное") = Основное И Страницы.Найти("Проверка") = Проверка);
КонецПроцедурыРазбор по шагам
Добавить возвращает новую страницу; Вставить принимает индекс с нуля и возвращает вторую новую страницу.
После вставки проверяем количество 4, получение по индексу и по внутреннему имени.
Сдвинуть на +1 перемещает вставленную страницу с позиции 1 на позицию 2.
Изменение Имя проверяется двумя поисками: старое исчезло, новое возвращает тот же объект.
Перед удалением выбираем исходную страницу. После Удалить не используем удалённые объекты; проверяем только коллекцию и две живые исходные страницы.
Как проверить результат
За одно нажатие все девять сообщений Истина; конечное количество 2.
Повторное нажатие повторяет тот же цикл. Обе исходные надписи остаются.
Ожидаемый результат
Все операции выполняются над собственными временными пустыми страницами.
На что обратить внимание
Удалить страницы удаляет расположенные на ней элементы управления.
Не храните ссылки на удалённые страницы.
При ошибке промежуточной операции закройте учебную форму и откройте заново.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.