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