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