Проверяет развернутость узла для текущей строки.
Синтаксис
Развернут(<ОписаниеСтроки>)Полное описание, параметры и ограничения
ТестируемаяТаблицаФормы.Развернут (TestedFormTable.Expanded)
ТестируемаяТаблицаФормы (TestedFormTable)
Развернут (Expanded)
Доступен, начиная с версии 8.3.1.
Синтаксис:
Развернут(<ОписаниеСтроки>)
Параметры:
<ОписаниеСтроки> (необязательный)
Тип: Соответствие.
Содержит набор пар "Заголовок колонки" - "Текст ячейки" для поиска строки перехода.
Если не указан, проверка выполняется для текущей строки.
Значение по умолчанию: Неопределено.
Возвращаемое значение:
Тип: Булево.
Истина - узел для текущей строки развернут.
Описание:
Проверяет развернутость узла для текущей строки.
Доступность:
Тонкий клиент, толстый клиент.
Использование в версии:
Доступен, начиная с версии 8.3.1.
Методическая информация
Практические примеры
Раскрыть собственный узел, прочитать детей и свернуть
Настоящий UI-тест сравнивает возможность раскрытия и текущее состояние узла; раскрытие не создаёт строк.
Где и как запускать
Полный клиентский модуль формы обработки в менеджере тестов, запущенном с /TESTMANAGER. Это не модуль тестируемой таблицы.
Подготовка
Первый урок содержит полный модуль формы новой внешней обработки УчебноеДеревоТестирования в собственной пустой конфигурации УчебнаяКонфигурацияСинтаксиса.
Запустите два отдельных тонких клиента собственной учебной базы: тестируемый с /TESTCLIENT -TPort15380, менеджер с /TESTMANAGER. Порт 15380 — собственный учебный; убедитесь, что на нём не работает другой клиент. Не подключайте менеджер к рабочей базе/чужому приложению.
В тестируемом клиенте вручную откройте собственную обработку из первого урока. В менеджере создайте другую внешнюю обработку с командой ВыполнитьПример; полный код одного теста вставьте в её модуль формы.
В тестируемом клиенте откройте именно УчебноеДеревоТестирования. Перед каждым тестом закройте и снова откройте его: исходно виден свёрнутый узел G-00, внутри него Книга A-01 и Ручка B-02.
ДеревоЗначений создаётся только в памяти формы. Это не иерархический справочник и не рабочий динамический список; тест не записывает и не удаляет объекты базы.
Это код штатного механизма тестирования 1С, не браузерная проверка HTML. В данном окружении выполнение UI-тестов в настоящей 1С не подтверждено.
&НаКлиенте
Процедура ВыполнитьПример(Команда)
Приложение = Новый ТестируемоеПриложение("127.0.0.1", 15380);
Приложение.УстановитьСоединение();
ИсходныйЛимит = Неопределено;
ОшибкаТеста = "";
Попытка
Форма = Приложение.ПолучитьОбъект(Тип("ТестируемаяФорма"), "Учебное дерево guide-owned-tree-2026", , 10);
Таблица = Форма.ПолучитьОбъект(Тип("ТестируемаяТаблицаФормы"), , "ТаблицаТоваров", 10);
ИсходныйЛимит = Приложение.ПолучитьМаксимальноеВремяВыполненияДействия();
Приложение.УстановитьМаксимальноеВремяВыполненияДействия(10);
Таблица.Активизировать();
Таблица.ПерейтиКПервойСтроке();
Если Таблица.ПолучитьТекстЯчейки("ТоварыКод") <> "G-00" Тогда
ВызватьИсключение "Первый узел собственного дерева не G-00";
КонецЕсли;
ОписаниеГруппы = Новый Соответствие;
ОписаниеГруппы.Вставить("Код", "G-00");
Сообщить(Таблица.ВозможноРазвернуть(ОписаниеГруппы));
Сообщить(Не Таблица.Развернут(ОписаниеГруппы));
Таблица.Развернуть(ОписаниеГруппы, Истина);
Сообщить(Таблица.Развернут(ОписаниеГруппы));
Таблица.ПерейтиКСледующейСтроке();
Сообщить(Таблица.ПолучитьТекстЯчейки("ТоварыКод") = "A-01");
Сообщить(Таблица.ПолучитьТекстЯчейки("ТоварыКоличество") = "3");
Сообщить(Не Таблица.ВозможноРазвернуть());
Таблица.ПерейтиКСледующейСтроке();
Сообщить(Таблица.ПолучитьТекстЯчейки("ТоварыКод") = "B-02");
Таблица.Свернуть(ОписаниеГруппы);
Сообщить(Не Таблица.Развернут(ОписаниеГруппы));
Таблица.ПерейтиКПервойСтроке();
Сообщить(Таблица.ПолучитьТекстЯчейки("ТоварыКод") = "G-00");
Исключение
ОшибкаТеста = ОписаниеОшибки();
КонецПопытки;
ОшибкиЗавершения = ЗавершитьСобственныйУчебныйТест(Приложение, ИсходныйЛимит);
Если Не ПустаяСтрока(ОшибкаТеста) Или Не ПустаяСтрока(ОшибкиЗавершения) Тогда
ВызватьИсключение "Ошибка учебного UI-теста: " + ОшибкаТеста + " " + ОшибкиЗавершения;
КонецЕсли;
Сообщить("Сценарий завершён без исключения. Отдельно сверяйте контрольные Истина и видимые данные учебного клиента");
КонецПроцедуры
&НаКлиенте
Функция ЗавершитьСобственныйУчебныйТест(Приложение, ИсходныйЛимит)
ОшибкиЗавершения = "";
Если ТипЗнч(ИсходныйЛимит) = Тип("Число") Тогда
Попытка
Приложение.УстановитьМаксимальноеВремяВыполненияДействия(ИсходныйЛимит);
Исключение
ОшибкиЗавершения = "Не восстановлен лимит действий: " + ОписаниеОшибки();
КонецПопытки;
КонецЕсли;
Попытка
Приложение.РазорватьСоединение();
Исключение
ОшибкиЗавершения = ОшибкиЗавершения + " Не разорвано соединение: " + ОписаниеОшибки();
КонецПопытки;
Возврат ОшибкиЗавершения;
КонецФункцииРазбор по шагам
Подключаемся к своему клиенту тестирования, ищем точный заголовок Учебное дерево guide-owned-tree-2026 и таблицу ТаблицаТоваров. Исходно дерево свёрнуто.
Соответствие использует заголовок Код, а чтение ячейки — имя визуальной колонки ТоварыКод.
ВозможноРазвернуть отвечает, есть ли возможность раскрытия; Развернут сообщает текущее состояние. У группы с детьми первая проверка Истина, исходная вторая Ложь.
Истина во втором аргументе Развернуть раскрывает также подчинённые узлы. Здесь дети являются листьями, поэтому новых уровней не появляется.
Следующая строка после раскрытого G-00 — A-01, затем B-02. Эти ожидания относятся только к данному исходному дереву без сортировки.
Свернуть получает описание группы, даже когда текущим стал ребёнок. Затем первая видимая строка вновь группа.
После теста восстанавливаем исходный лимит действий и отдельно пытаемся разорвать соединение, даже при исключении. Ошибки завершения не скрываем; разрыв соединения не закрывает тестируемое приложение.
Как проверить результат
Все девять логических проверок дают Истина; у Книги количество отображается как 3.
После теста дерево снова свёрнуто; значения Книги и Ручки не изменены.
Ожидаемый результат
Показано раскрытие конкретного собственного узла и безопасное чтение его детей.
На что обратить внимание
Не подменяйте дерево динамическим списком: тогда появляются дополнительные чтения базы и обработчики конфигурации.
ПерейтиНаУровеньВверх/Вниз относятся к иерархическому списку; в этом уроке они не выдаются за методы обхода ДереваЗначений.
Сообщение Истина — контроль результата, а не автоматический протокол успешного запуска в настоящей 1С.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.