Тип: Рамка. Содержит параметры рамки вокруг поля HTML-документа.
Полное описание, параметры и ограничения
ПолеHTMLДокумента.Рамка (HTMLDocumentField.Border)
ПолеHTMLДокумента (HTMLDocumentField)
Рамка (Border)
Доступен, начиная с версии 8.0.
Использование:
Чтение и запись.
Описание:
Тип: Рамка.
Содержит параметры рамки вокруг поля HTML-документа.
Доступность:
Толстый клиент.
Использование в версии:
Доступен, начиная с версии 8.0.
Методическая информация
Практические примеры
Вывести собственную карточку товара с экранированием HTML
Название из своего поля ввода вставляется только как текст в h1. Символы < и & не превращаются в теги; внешний HTML не загружается.
Где и как запускать
Полный модуль собственной обычной формы; толстый клиент. Не HTML браузера руководства и не управляемая форма.
Подготовка
Создайте внешнюю обработку с отдельной обычной формой в учебной базе. Добавьте ПолеHTMLДокумента с именем УчебныйHTML и кнопку УчебнаяКоманда вне него.
Добавьте реквизиты УчебноеНазвание (Строка 100), УчебноеКоличество (Число 9.0), УчебноеРедактирование (Булево). Поле ввода УчебноеНазвание свяжите с реквизитом названия.
ПриОткрытии назначьте одноимённой процедуре. Действие внешней кнопки вручную не назначайте: код связывает Нажатие с экспортной процедурой ВыполнитьУчебноеДействие(Элемент). ПриОткрытии самой формы остаётся без параметров.
Толстый клиент с обычными формами. Каждый урок — полный модуль своей копии формы. Собственный HTML не содержит сценариев, внешних картинок, URL или сетевых запросов.
Процедура ПриОткрытии()
УчебноеНазвание = "Книга";
УчебноеКоличество = 3;
УчебноеРедактирование = Ложь;
Поле = ЭтаФорма.ЭлементыФормы.УчебныйHTML;
Поле.УстановитьРежим(РежимПоляHTMLДокумента.Просмотр);
Поле.УстановитьТекст(СформироватьУчебныйHTML());
Кнопка = ЭтаФорма.ЭлементыФормы.УчебнаяКоманда;
Кнопка.УстановитьДействие("Нажатие", Новый Действие("ВыполнитьУчебноеДействие"));
Поле.Вывод = ИспользованиеВывода.Запретить;
Поле.Рамка = Новый Рамка(ТипРамки.Одинарная);
Поле.ЦветРамки = Новый Цвет(180, 195, 210);
КонецПроцедуры
Процедура ВыполнитьУчебноеДействие(Элемент) Экспорт
Поле = ЭтаФорма.ЭлементыФормы.УчебныйHTML;
Если ПустаяСтрока(УчебноеНазвание) Тогда
Сообщить("Введите собственное учебное название");
Возврат;
КонецЕсли;
Поле.УстановитьТекст(СформироватьУчебныйHTML());
ТекстHTML = Поле.ПолучитьТекст();
Сообщить(СтрНайти(ТекстHTML, "Количество: 3") > 0);
Сообщить(Поле.Вывод = ИспользованиеВывода.Запретить);
Сообщить(УчебноеКоличество = 3);
КонецПроцедуры
Функция СформироватьУчебныйHTML()
БезопасноеНазвание = СтрЗаменить(УчебноеНазвание, "&", "&");
БезопасноеНазвание = СтрЗаменить(БезопасноеНазвание, "<", "<");
БезопасноеНазвание = СтрЗаменить(БезопасноеНазвание, ">", ">");
Возврат "<!doctype html><html><head><meta charset='utf-8'><title>Свой учебный HTML</title></head><body><h1>"
+ БезопасноеНазвание + "</h1><p>Количество: " + Строка(УчебноеКоличество) + "</p></body></html>";
КонецФункции
Разбор по шагам
УчебноеНазвание — свои данные формы. Сначала проверяется пустое значение, затем строится полный собственный HTML.
Экранирование выполняется в порядке &: &, затем <: <, затем >: >. Это контекст текста, не атрибута, JavaScript или URL.
УстановитьТекст загружает строку в поле, не формируя адрес документа. По справке внутренние ссылки после него в режиме просмотра не работают.
ПолучитьТекст возвращает HTML: поиск проверяет значимый фрагмент, не побайтовое совпадение сериализации.
Вывод = Запретить ограничивает операции вывода элемента. Это UI-ограничение, не защита от чтения программой и не пароль данных.
Как проверить результат
После Книга: три Истина. Введите Книга <3 & бумага и нажмите кнопку: на странице должны быть буквальные < и &, а не новый тег.
Очистите название: сообщение введите название; прежний HTML не заменяется пустым.
Ожидаемый результат
Свой текст отображается как текст, а не исполняемая HTML-разметка.
На что обратить внимание
Эта функция экранирует только текстовый узел; для иных контекстов нужны другие правила.
Не разрешайте запуск внешних сценариев или обход ограничений происхождения страниц.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.