Книга: Технологии интеграции "1С:Предприятия 8.3""
Назад: Изменить содержимое HTML
Дальше: Двоичные данные

Вставить произвольный фрагмент HTML

Предположим, нам нужно добавить в HTML-документ произвольный фрагмент и отобразить результат в форме обработки.

Для решения этой задачи добавим команду ВставитьФрагментHTML. Обработчик команды заполним следующим образом (листинг 6.103).

Листинг 6.103. Обработчик команды «ВставитьФрагментHTML»

&НаКлиенте

Процедура ВставитьФрагментHTML(Команда)

 

ДокументHTML = ПолучитьДокументHTML(Текст_HTML);

 

//Узлы = ДокументHTML.ПолучитьЭлементыПоИмени("table");

//Таблица = Узлы[0];

 

Фрагмент = "<p><b>Добавленный фрагмент</b></p>

| <p><img src='C:/TEMP/pict.jpg' alt='Fleur'></img></p>

| <p><a href='http://www.its.1c.ru'>ИТC</a></p>";

ФрагментHTML = ПолучитьДокументHTML(Фрагмент);

 

Документ_HTML = ДокументHTML.ИмпортироватьУзел(ФрагментHTML.ЭлементДокумента, Истина);

ДокументHTML.ДобавитьДочерний(Документ_HTML);

//ДокументHTML.ВставитьПеред(Документ_HTML, Таблица);

 

АдресHTML = ПолучитьТекстHTML(ДокументHTML);

 

КонецПроцедуры

В этом обработчике сначала мы получаем объект ДокументHTML с помощью функции ПолучитьДокументHTML(), в которую передаем текст HTML-документа, содержащийся в реквизите Текст_HTML. Эта функция была рассмотрена выше, в листинге 6.98.

Затем, используя ту же функцию, получаем объект ДокументHTML из произвольного фрагмента текста.

После этого импортируем получившийся узел в основной документ (в который мы хотим добавить фрагмент) с помощью метода ИмпортироватьУзел() объекта ДокументHTML, в который передаем корневой узел HTML-документа, созданного из фрагмента текста (ФрагментHTML.ЭлементДокумента). В результате основной документ устанавливается в качестве владельца этого узла, а также устанавливаются другие свойства узла.

Затем добавляем узел фрагмент в документ методом ДобавитьДочерний().

Теперь нам нужно получить HTML-текст результирующего документа, чтобы запомнить его реквизите АдресHTML. Для этого мы используем функцию ПолучитьТекстHTML(), в которую передаем результирующий документ. Функция была рассмотрена выше, в листинге 6.95.

Таким образом, после загрузки HTML-документа из файла (кнопка Прочитать HTML из файла) и нажатия кнопки Вставить фрагмент HTML добавленный фрагмент появится в конце документа. Текст документа также изменится соответствующим образом (рис. 6.20).

Рис. 6.20. HTML-документ с добавленным фрагментом

Назад: Изменить содержимое HTML
Дальше: Двоичные данные