Имя: Пароль:
1C
 
Сохранение html документа
0 Deahianaianyrto
 
06.07.16
11:58
Как сохранить содержимое "Поле HTML документа" в html-файл?

&НаСервере
Функция СохранитьHTMLНаСервере(ПолеHTMLДокумента,ИндексФильтра,ИмяФайла)
    ВремТабДокумент = Новый ТабличныйДокумент;
    ВремТабДокумент = ПолеHTMLДокумента;
    ВремТабДокумент = ПоместитьВоВременноеХранилище(ВремТабДокумент);
    Возврат ВремТабДокумент;
КонецФункции



&НаКлиенте
Процедура СохранитьHTML(Команда)
    ДиалогФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение);
    РазобранноеНаименование = Объект.Наименование;
    РазобранноеНаименование = РазборНаименования(РазобранноеНаименование);
    ДиалогФайла.ПолноеИмяФайла = "БизнесСправка_" + РазобранноеНаименование;    
    ДиалогФайла.Фильтр = "Табличный документ (*.mxl)|*.mxl|Документ HTML (*.htm)|*.htm|Лист Excel (*.xls)|*.xls|Текстовый файл UTF-8 (*.txt)|*.txt|PDF (*.pdf)|*.pdf";
    ТипыТабДокумента = Новый Соответствие;
    ТипыТабДокумента.Вставить(0, ТипФайлаТабличногоДокумента.MXL);
    ТипыТабДокумента.Вставить(1, ТипФайлаТабличногоДокумента.HTML);
    ТипыТабДокумента.Вставить(2, ТипФайлаТабличногоДокумента.XLS);
    ТипыТабДокумента.Вставить(3, ТипФайлаТабличногоДокумента.TXT);
    ТипыТабДокумента.Вставить(4, ТипФайлаТабличногоДокумента.PDF);
    Если ДиалогФайла.Выбрать() Тогда
        Попытка
            Отчет = СохранитьHTMLНаСервере(Объект.ПолеHTMLДокумента,ТипыТабДокумента[ДиалогФайла.ИндексФильтра],ДиалогФайла.ПолноеИмяФайла);
            Отчет = ПолучитьИзВременногоХранилища(Отчет);
            Отчет.Записать(ДиалогФайла.ПолноеИмяФайла,ТипыТабДокумента[ДиалогФайла.ИндексФильтра]);
            Сообщить("Сохранили файл "+ ДиалогФайла.ПолноеИмяФайла);
        Исключение
            Предупреждение("Файл отчета не сохранен!
            |" + ИнформацияОбОшибке().Описание);
        КонецПопытки;
    КонецЕсли;
КонецПроцедуры
1 Deahianaianyrto
 
06.07.16
12:03
Точнее:

&НаСервере
Функция СохранитьHTMLНаСервере(ПолеHTMLДокумента,ИндексФильтра,ИмяФайла)
    Заголовок = "";
    ВремТабДокумент = Новый ДокументHTML(Заголовок);
    ВремТабДокумент = ПолеHTMLДокумента;
    ВремТабДокумент = ПоместитьВоВременноеХранилище(ВремТабДокумент);
    Возврат ВремТабДокумент;
КонецФункции


&НаКлиенте
Процедура СохранитьHTML(Команда)
    ДиалогФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение);
    РазобранноеНаименование = Объект.Наименование;
    РазобранноеНаименование = РазборНаименования(РазобранноеНаименование);
    ДиалогФайла.ПолноеИмяФайла = "БизнесСправка_" + РазобранноеНаименование;    
    ДиалогФайла.Фильтр = "Табличный документ (*.mxl)|*.mxl|Документ HTML (*.htm)|*.htm|Лист Excel (*.xls)|*.xls|Текстовый файл UTF-8 (*.txt)|*.txt|PDF (*.pdf)|*.pdf";
    ТипыТабДокумента = Новый Соответствие;
    ТипыТабДокумента.Вставить(0, ТипФайлаТабличногоДокумента.MXL);
    ТипыТабДокумента.Вставить(1, ТипФайлаТабличногоДокумента.HTML);
    ТипыТабДокумента.Вставить(2, ТипФайлаТабличногоДокумента.XLS);
    ТипыТабДокумента.Вставить(3, ТипФайлаТабличногоДокумента.TXT);
    ТипыТабДокумента.Вставить(4, ТипФайлаТабличногоДокумента.PDF);
    Если ДиалогФайла.Выбрать() Тогда
        Попытка
            Отчет = СохранитьHTMLНаСервере(Объект.ПолеHTMLДокумента,ТипыТабДокумента[ДиалогФайла.ИндексФильтра],ДиалогФайла.ПолноеИмяФайла);
            Отчет = ПолучитьИзВременногоХранилища(Отчет);
            Отчет.Записать(ДиалогФайла.ПолноеИмяФайла,ТипыТабДокумента[ДиалогФайла.ИндексФильтра]);
            Сообщить("Сохранили файл "+ ДиалогФайла.ПолноеИмяФайла);
        Исключение
            Предупреждение("Файл отчета не сохранен!
            |" + ИнформацияОбОшибке().Описание);
        КонецПопытки;
    КонецЕсли;
КонецПроцедуры



Даёт ошибку на строке:
            Отчет.Записать(ДиалогФайла.ПолноеИмяФайла,ТипыТабДокумента[ДиалогФайла.ИндексФильтра]);