Предположим, нам нужно записать HTML-документ, показанный в форме обработки, в файл.
Для решения этой задачи добавим команду ЗаписатьHTML. Обработчик команды заполним следующим образом (листинг 6.97).
Листинг 6.97. Обработчик команды «ЗаписатьHTML»
&НаКлиенте
Процедура ЗаписатьHTML(Команда)
ДокументHTML = ПолучитьДокументHTML(Текст_HTML);
ЗапиcьHTML = Новый ЗаписьHTML;
ЗапиcьHTML.ОткрытьФайл("c:\temp\text_html2.html", "UTF-8");
ЗаписьDOM = Новый ЗаписьDOM;
ЗаписьDOM.Записать(ДокументHTML, ЗапиcьHTML);
ЗапиcьHTML.Закрыть()
КонецПроцедуры
В этом обработчике сначала мы получаем объект ДокументHTML с помощью функции ПолучитьДокументHTML(), в которую передаем текст HTML-документа, содержащийся в реквизите Текст_HTML. Эта функция будет рассмотрена ниже, в листинге 6.98.
После этого мы создаем объект ЗаписьHTML и открываем файл для записи HTML-документа методом ОткрытьФайл() этого объекта. Затем создаем объект ЗаписьDOM и вызываем его метод Записать(), в который передаем полученный ранее ДокументHTML и объект записи ЗаписьHTML. По окончании записи файл закрывается.
Листинг 6.98. Функция «ПолучитьДокументHTML()»
&НаКлиенте
Функция ПолучитьДокументHTML(СтрокаHTML)
ЧтениеHTML = Новый ЧтениеHTML;
ЧтениеHTML.УстановитьСтроку(СтрокаHTML);
ПостроительDOM = Новый ПостроительDOM;
ДокументHTML = ПостроительDOM.Прочитать(ЧтениеHTML);
ЧтениеHTML.Закрыть();
Возврат ДокументHTML;
КонецФункции
В этой функции мы создаем объект ЧтениеHTML и методом этого объекта УстановитьСтроку() устанавливаем чтение данных из строки, полученной в параметре СтрокаHTML. Затем создаем объект ПостроительDOM и вызываем его метод Прочитать(), в который передаем объект чтения ЧтениеHTML. В результате на основе прочитанных данных будет создан объект ДокументHTML, который и возвращает функция ПолучитьДокументHTML().