ТестируемаяТаблицаФормы.Развернут

Методы · Expanded

Проверяет развернутость узла для текущей строки.

Синтаксис

Развернут(<ОписаниеСтроки>)
Полное описание, параметры и ограничения

ТестируемаяТаблицаФормы.Развернут (TestedFormTable.Expanded)

ТестируемаяТаблицаФормы (TestedFormTable)

Развернут (Expanded)

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

Синтаксис:
Развернут(<ОписаниеСтроки>)
Параметры:

<ОписаниеСтроки> (необязательный)
Тип: Соответствие.
Содержит набор пар "Заголовок колонки" - "Текст ячейки" для поиска строки перехода.
Если не указан, проверка выполняется для текущей строки.
Значение по умолчанию: Неопределено.
Возвращаемое значение:
Тип: Булево.
Истина - узел для текущей строки развернут.
Описание:

Проверяет развернутость узла для текущей строки.

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

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

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

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

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

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

Раскрыть собственный узел, прочитать детей и свернуть

Настоящий UI-тест сравнивает возможность раскрытия и текущее состояние узла; раскрытие не создаёт строк.

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

Полный клиентский модуль формы обработки в менеджере тестов, запущенном с /TESTMANAGER. Это не модуль тестируемой таблицы.

Подготовка

  1. Первый урок содержит полный модуль формы новой внешней обработки УчебноеДеревоТестирования в собственной пустой конфигурации УчебнаяКонфигурацияСинтаксиса.

  2. Запустите два отдельных тонких клиента собственной учебной базы: тестируемый с /TESTCLIENT -TPort15380, менеджер с /TESTMANAGER. Порт 15380 — собственный учебный; убедитесь, что на нём не работает другой клиент. Не подключайте менеджер к рабочей базе/чужому приложению.

  3. В тестируемом клиенте вручную откройте собственную обработку из первого урока. В менеджере создайте другую внешнюю обработку с командой ВыполнитьПример; полный код одного теста вставьте в её модуль формы.

  4. В тестируемом клиенте откройте именно УчебноеДеревоТестирования. Перед каждым тестом закройте и снова откройте его: исходно виден свёрнутый узел G-00, внутри него Книга A-01 и Ручка B-02.

  5. ДеревоЗначений создаётся только в памяти формы. Это не иерархический справочник и не рабочий динамический список; тест не записывает и не удаляет объекты базы.

  6. Это код штатного механизма тестирования 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-теста: " + ОшибкаТеста + " " + ОшибкиЗавершения;
    КонецЕсли;
    Сообщить("Сценарий завершён без исключения. Отдельно сверяйте контрольные Истина и видимые данные учебного клиента");
КонецПроцедуры

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

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

  1. Подключаемся к своему клиенту тестирования, ищем точный заголовок Учебное дерево guide-owned-tree-2026 и таблицу ТаблицаТоваров. Исходно дерево свёрнуто.

  2. Соответствие использует заголовок Код, а чтение ячейки — имя визуальной колонки ТоварыКод.

  3. ВозможноРазвернуть отвечает, есть ли возможность раскрытия; Развернут сообщает текущее состояние. У группы с детьми первая проверка Истина, исходная вторая Ложь.

  4. Истина во втором аргументе Развернуть раскрывает также подчинённые узлы. Здесь дети являются листьями, поэтому новых уровней не появляется.

  5. Следующая строка после раскрытого G-00 — A-01, затем B-02. Эти ожидания относятся только к данному исходному дереву без сортировки.

  6. Свернуть получает описание группы, даже когда текущим стал ребёнок. Затем первая видимая строка вновь группа.

  7. После теста восстанавливаем исходный лимит действий и отдельно пытаемся разорвать соединение, даже при исключении. Ошибки завершения не скрываем; разрыв соединения не закрывает тестируемое приложение.

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

  1. Все девять логических проверок дают Истина; у Книги количество отображается как 3.

  2. После теста дерево снова свёрнуто; значения Книги и Ручки не изменены.

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

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

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

  1. Не подменяйте дерево динамическим списком: тогда появляются дополнительные чтения базы и обработчики конфигурации.

  2. ПерейтиНаУровеньВверх/Вниз относятся к иерархическому списку; в этом уроке они не выдаются за методы обхода ДереваЗначений.

  3. Сообщение Истина — контроль результата, а не автоматический протокол успешного запуска в настоящей 1С.

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

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

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

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

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