После Очистить коллекция не имеет ноль страниц: платформа оставляет одну новую страницу. Все старые ссылки считаются недействительными.
Где и как запускать
Полный модуль собственной обычной формы. Только толстый клиент с обычными формами. Действие кнопки — экспортная процедура с первым параметром Элемент.
Подготовка
Создайте отдельную внешнюю обработку с обычной формой. Запускайте толстым клиентом в режиме обычных форм, не в рабочей конфигурации.
Создайте отдельную ПУСТУЮ вложенную панель УчебнаяПанель без любых элементов внутри неё. Не используйте панель с надписями из остальных уроков.
Кнопку УчебнаяКоманда разместите ВНЕ этой пустой панели. В редакторе включите распределение по страницам.
Событие ПриОткрытии формы свяжите с процедурой ПриОткрытии. Нажатие кнопки вручную не назначайте: оно связывается с процедурой ВыполнитьУчебнуюКоманду через Действие.
Каждый урок заменяет полный модуль отдельной копии формы. Страницы принадлежат только этой форме; документы и настройки базы не изменяются.
Процедура ПриОткрытии()
Панель = ЭтаФорма.ЭлементыФормы.УчебнаяПанель;
Панель.Страницы.Добавить("УчебнаяДляОчистки", "Удалится при очистке");
Сообщить(Панель.Страницы.Количество());
Кнопка = ЭтаФорма.ЭлементыФормы.УчебнаяКоманда;
Кнопка.Заголовок = "Выполнить учебную проверку";
Кнопка.УстановитьДействие("Нажатие", Новый Действие("ВыполнитьУчебнуюКоманду"));
КонецПроцедуры
Процедура ВыполнитьУчебнуюКоманду(Элемент) Экспорт
Панель = ЭтаФорма.ЭлементыФормы.УчебнаяПанель;
Страницы = Панель.Страницы;
Страницы.Очистить();
Сообщить(Страницы.Количество() = 1);
НоваяСтраница = Страницы.Получить(0);
НоваяСтраница.Имя = "УчебнаяПослеОчистки";
НоваяСтраница.Заголовок = "Новая пустая страница";
НоваяСтраница.Видимость = Истина;
НоваяСтраница.Доступность = Истина;
Панель.ТекущаяСтраница = НоваяСтраница;
Сообщить(Страницы.Найти("УчебнаяДляОчистки") = Неопределено);
Сообщить(Страницы.Найти("УчебнаяПослеОчистки") = НоваяСтраница);
КонецПроцедурыРазбор по шагам
Урок использует другую пустую вложенную панель, а не панель с надписями из первых пяти уроков.
До очистки добавляется своя пустая страница. После очистки остаётся одна новая страница, что прямо проверяется.
Получить(0) вызывается уже после очистки. Старые страницы не сохраняются в переменных и не используются.
Новая страница получает собственное имя, заголовок и становится текущей. Кнопка вне очищаемой панели остаётся.
Как проверить результат
При открытии выводится исходное количество плюс 1; после нажатия три Истина.
Повторное нажатие также оставляет одну новую пустую страницу и работающую внешнюю кнопку.
Ожидаемый результат
Показано особое поведение Очистить: одна новая пустая страница, а не пустая коллекция.
На что обратить внимание
Очистка панели с элементами управления удалит их; этот код предназначен только пустой учебной панели.
Не очищайте главную панель или рабочую форму.
Операция меняет интерфейс текущей копии, а не метаданные сохранённой обработки.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.