Полный модуль создаёт страницы Данные и Пояснение, начальную активную страницу и внешнюю кнопку перехода.
Где и как запускать
Полный модуль собственной тестируемой формы /TESTCLIENT; не менеджера тестирования.
Подготовка
Используйте только собственную пустую конфигурацию УчебнаяКонфигурацияСинтаксиса. В fixture-уроках приведены полные модули отдельных новых внешних обработок с пустой управляемой основной формой.
Запустите два отдельных тонких клиента собственной учебной базы: тестируемый с /TESTCLIENT -TPort15380, менеджер с /TESTMANAGER. Порт 15380 — собственный учебный; убедитесь, что на нём не работает другой клиент. Не подключайте менеджер к рабочей базе/чужому приложению.
Откройте нужную обработку в своём тестируемом клиенте. В отдельной обработке менеджера тестов создайте команду ВыполнитьПример и вставьте полный код соответствующего теста в модуль формы.
Перед каждым тестом заново откройте соответствующую обработку: не используйте уже изменённое состояние. Точные заголовки guide-owned относятся только к подготовленной собственной форме.
Это код штатного механизма тестирования 1С, не браузерная проверка HTML. В данном окружении выполнение UI-тестов в настоящей 1С не подтверждено.
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
ЭтаФорма.АвтоЗаголовок = Ложь;
ЭтаФорма.Заголовок = "Учебные страницы guide-owned-pages-2026";
Новые = Новый Массив;
Новые.Добавить(Новый РеквизитФормы("УчебноеНазвание", Новый ОписаниеТипов("Строка")));
ЭтаФорма.ИзменитьРеквизиты(Новые);
ЭтаФорма.УчебноеНазвание = "Книга";
Группа = Элементы.Добавить("УчебнаяГруппа", Тип("ГруппаФормы"));
Группа.Вид = ВидГруппыФормы.ОбычнаяГруппа;
Группа.Заголовок = "Собственные учебные данные";
Группа.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Вертикальная;
Поле = Элементы.Добавить("ПолеУчебногоНазвания", Тип("ПолеФормы"), Группа);
Поле.Вид = ВидПоляФормы.ПолеВвода;
Поле.ПутьКДанным = "УчебноеНазвание";
Поле.Заголовок = "Название";
Надпись = Элементы.Добавить("УчебнаяНадпись", Тип("ДекорацияФормы"), Группа);
Надпись.Вид = ВидДекорацииФормы.Надпись;
Надпись.Заголовок = "Данные только в памяти формы";
Страницы = Элементы.Добавить("УчебныеСтраницы", Тип("ГруппаФормы"), Группа);
Страницы.Вид = ВидГруппыФормы.Страницы;
Первая = Элементы.Добавить("УчебнаяСтраницаДанных", Тип("ГруппаФормы"), Страницы);
Первая.Вид = ВидГруппыФормы.Страница;
Первая.Заголовок = "Данные";
Вторая = Элементы.Добавить("УчебнаяСтраницаПояснения", Тип("ГруппаФормы"), Страницы);
Вторая.Вид = ВидГруппыФормы.Страница;
Вторая.Заголовок = "Пояснение";
ПолеСтраницы = Элементы.Добавить("НазваниеНаСтранице", Тип("ПолеФормы"), Первая);
ПолеСтраницы.Вид = ВидПоляФормы.ПолеВвода;
ПолеСтраницы.ПутьКДанным = "УчебноеНазвание";
ПолеСтраницы.Заголовок = "То же название";
Пояснение = Элементы.Добавить("ПояснениеНаСтранице", Тип("ДекорацияФормы"), Вторая);
Пояснение.Вид = ВидДекорацииФормы.Надпись;
Пояснение.Заголовок = "Два поля связаны с одним реквизитом, это не две записи базы";
Страницы.ТекущаяСтраница = Первая;
Страницы.УстановитьДействие("ПриСменеСтраницы", "СтраницыПриСмене");
Сообщить(Страницы.ПолучитьДействие("ПриСменеСтраницы") = "СтраницыПриСмене");
КомандаДействия = ЭтаФорма.Команды.Добавить("УчебноеДействие");
КомандаДействия.Действие = "УчебноеДействие";
КомандаДействия.Заголовок = "Выполнить учебное действие";
КомандаДействия.Подсказка = "Действие только над данными учебной формы";
КомандаДействия.ИзменяетСохраняемыеДанные = Ложь;
Кнопка = Элементы.Добавить("КнопкаУчебноеДействие", Тип("КнопкаФормы"));
Кнопка.ИмяКоманды = КомандаДействия.Имя;
Кнопка.Заголовок = КомандаДействия.Заголовок;
КонецПроцедуры
&НаКлиенте
Процедура УчебноеДействие(Команда)
Элементы.УчебныеСтраницы.ТекущаяСтраница = Элементы.УчебнаяСтраницаПояснения;
Сообщить("Перешли к пояснению; реквизит остался: " + ЭтаФорма.УчебноеНазвание);
КонецПроцедуры
&НаКлиенте
Процедура СтраницыПриСмене(ТекущаяСтраница)
Если ТекущаяСтраница = Неопределено Тогда
Возврат;
КонецЕсли;
Сообщить("Новая активная страница: " + ТекущаяСтраница.Имя);
КонецПроцедуры
Разбор по шагам
Создайте отдельную обработку УчебныеСтраницыТестирования и пустую управляемую форму. Назначьте ПриСозданииНаСервере, ничего не создавайте вручную.
У группы УчебныеСтраницы вид Страницы. Её дочерние группы имеют вид Страница, а не ОбычнаяГруппа.
Начальная ТекущаяСтраница задаётся объектом Первая. Поле на странице Данные связано с тем же УчебноеНазвание, что и поле вне страниц.
Кнопка вне страниц переводит к Пояснению. Обработчик ПриСменеСтраницы получает текущую страницу одним параметром.
Как проверить результат
После нового открытия активна Данные и собственное название Книга.
Кнопка открывает Пояснение; после возврата к Данные Книга остаётся.
Ожидаемый результат
Подготовлены настоящие страницы формы с контролируемым исходным состоянием.
На что обратить внимание
Смена страницы не записывает реквизит в базу и не закрывает форму.
В каждом клиенте внешний вид вкладок может отличаться; штатный UI-тест требует настоящего запуска.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.