Предположим, нам нужно добавить в 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-документ с добавленным фрагментом