Для сохранения файла в контексте "Управляемых форм" используя браузер используем ниже подход
&НаКлиенте
Процедура СохранитьВФайл(Команда)
#Если ВебКлиент Тогда
// Попробуем подключить расширение работы с файлами
РасширениеПодключено = ПодключитьРасширениеРаботыСФайлами();
Если НЕ РасширениеПодключено Тогда
// Расширение не установлено, пробуем установить
НачатьПодключениеРасширенияРаботыСФайлами(Новый ОписаниеОповещения("Подключение1",ЭтаФорма,));
КонецЕсли;
#КонецЕсли
// Поместим табличный документ во временной хранилище как файл MS Excel
АдресХранилища = ПоместитьТабличныйДокументВоВременноеХранилищеНаСервере(ТабДок, "xlsx", ТипФайлаТабличногоДокумента.XLSX);
Если АдресХранилища = Неопределено Тогда
ПоказатьПредупреждение( , НСтр("ru = 'Ошибка сохранения файла'; uk = 'Помилка збереження файлу'"));
Возврат;
КонецЕсли;
Попытка
// Сам момент сохранения
ПолучитьФайл(АдресХранилища, ЗаголовокДляФайла+".xlsx", Истина);
Исключение
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "ru = 'Не удалось записать файл. Возможно, недостаточно места на диске, диск защищен от записи или не подключено расширение для работы с файлами.'; uk = 'Не вдалося записати файл. Можливо, недостатньо місця на диску, диск захищений від запису або не має з''єднання розширення для роботи з файлами.'";
Сообщение.Сообщить();
КонецПопытки;
КонецПроцедуры
&НаСервере
Функция ПоместитьТабличныйДокументВоВременноеХранилищеНаСервере(ТабличныйДокумент, Расширение, ТипФайла)
АдресХранилища = Неопределено;
ИмяФайла = ПолучитьИмяВременногоФайла(Расширение);
Попытка
ТабличныйДокумент.Записать(ИмяФайла, ТипФайла);
АдресХранилища = ПоместитьВоВременноеХранилище(Новый ДвоичныеДанные(ИмяФайла));
Исключение
Сообщить(ОписаниеОшибки()); ВызватьИсключение;
КонецПопытки;
Возврат АдресХранилища;
КонецФункции
&НаКлиенте
Процедура Подключение1(Подключено,ДопПараметры)Экспорт
Если Не Подключено Тогда
НачатьУстановкуРасширенияРаботыСФайлами();
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура Установка2(ДопПараметры)Экспорт
КонецПроцедуры
Комментариев нет:
Отправить комментарий