Возникает при нажатии (клике мышью или с помощью клавиатуры) на любом элементе внутри окна объекта ПолеHTMLДокумента. Не поддерживается обработка событий поля HTML-документа для страниц, имеющих в адресе имя хоста веб-сервера, отличное от веб-клиента. Страницы, для которых требуется обработка событий, следует хранить в информационной базе. Перехватить собственную HTML-ссылку без перехода.
Где и как запускать
Клиентский модуль собственной управляемой формы. Элемент передаёт платформа; дополнительный блок — отдельный серверный обработчик создания.
Подготовка
Создайте внешнюю учебную обработку с управляемой формой. Реквизиты формы: Статус (Строка 200), Счетчик (Число 10.0), РазрешитьСохранение (Булево). Выведите Статус и РазрешитьСохранение на форму.
Основной обработчик назначается событию указанного элемента Образец, а не событию формы. Код вставляется на уровне модуля формы с директивой НаКлиенте. Дополнительный серверный блок назначьте событию формы ПриСозданииНаСервере.
Открывайте обработку в настольном тонком клиенте. Каждый урок проверяйте в отдельном варианте формы; HTML показывает код, но не исполняет его.
Добавьте реквизит УчебныйHTML типа Строка и элемент Образец вида ПолеHTMLДокумента, путь к данным УчебныйHTML. Страница собственная, без внешних адресов, изображений и JavaScript.
В свойствах элемента Образец → События назначьте ПриНажатии процедуре ОбразецПриНажатии. Подготовка использует текущую сигнатуру установленной справки плюс неявный параметр Элемент управляемой формы.
&НаКлиенте
Процедура ОбразецПриНажатии(Элемент, ДанныеСобытия, СтандартнаяОбработка)
Если ДанныеСобытия.Href <> Неопределено Тогда
СтандартнаяОбработка = Ложь;
Статус = "Учебная сумма: 600";
Сообщить(Статус);
КонецЕсли;
КонецПроцедурыПодготовить собственное содержимое формы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Счетчик = 0;
РазрешитьСохранение = Ложь;
Статус = "Готово";
УчебныйHTML = "<html><body><h1>Учебная книга</h1>"
+ "<p><a href=""#total"">Показать сумму</a></p>"
+ "<p id=""total"">Сумма: 600</p></body></html>";
Элементы.Образец.Вывод = ИспользованиеВывода.Разрешить;
КонецПроцедурыРазбор по шагам
Дополнительный серверный блок создаёт собственные данные, элемент подготовлен в редакторе формы.
Платформа вызывает назначенный обработчик вследствие действия пользователя; процедуру с придуманными параметрами вручную не вызываем.
Обработчик меняет только явно названные данные своей формы или параметры текущего события.
Как проверить результат
Нажмите Показать сумму: показано Учебная сумма: 600, автоматический переход отменён.
Обычный щелчок по заголовку не считается нажатием ссылки; Href может быть Неопределено.
Ожидаемый результат
Перехватить собственную HTML-ссылку без перехода на собственном подготовленном элементе.
На что обратить внимание
Настольный тонкий клиент — контекст этого урока. Доступность и порядок событий в веб- и мобильном клиентах могут отличаться.
Код не открывает внешние страницы, не отправляет сообщения и не обращается к рабочим документам.
Свойство СтандартнаяОбработка и параметр Отказ имеют разные назначения: первый заменяет стандартное действие, второй отменяет операцию.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.