&НаКлиенте Процедура Завантажити(Команда) ИмяФайла = ""; ПутьФайла = ""; НачатьПомещениеФайла(Новый ОписаниеОповещения("ПослеЗавершенияПомещения",ЭтаФорма),ПутьФайла,ИмяФайла,Истина); КонецПроцедуры &НаКлиенте Процедура ПослеЗавершенияПомещения(Результат,Адрес, ВыбранноеИмяФайла,ДопПараметры) Экспорт Если Результат Тогда Файл = Новый Файл(ВыбранноеИмяФайла); ДопПараметры = Новый Структура; ДопПараметры.Вставить("Файл",Файл); ДопПараметры.Вставить("ИмяБезРасширения",Файл.ИмяБезРасширения); ДопПараметры.Вставить("ВыбранноеИмяФайла",ВыбранноеИмяФайла); ДопПараметры.Вставить("Расширение",Файл.Расширение); Файл.НачатьПроверкуСуществования(Новый ОписаниеОповещения("НачатьПроверкуСуществованияЗавершение",ЭтаФорма,ДопПараметры)) КонецЕсли; КонецПроцедуры &НаКлиенте Процедура НачатьПроверкуСуществованияЗавершение(Существует,ДопПараметры) Экспорт Если Существует Тогда ДопПараметры.Файл.НачатьПолучениеРазмера(Новый ОписаниеОповещения("НачатьПолучениеРазмераЗавершение",ЭтаФорма,ДопПараметры)); КонецЕсли; КонецПроцедуры &НаКлиенте Процедура НачатьПолучениеРазмераЗавершение(Размер, ДопПараметры) Экспорт Если Размер > 10000000 Тогда Сообщить("Розмір файлу не повинен бути більше 10 МБ!"); Объект.Розширення = ""; Объект.Наименование = ""; Возврат; КонецЕсли; ДопПараметры.Удалить("Файл"); НачатьСозданиеДвоичныхДанныхИзФайла(Новый ОписаниеОповещения("ДДЗавершение",ЭтаФорма,ДопПараметры),ДопПараметры.ВыбранноеИмяФайла); КонецПроцедуры &НаСервере Процедура ДДЗавершение(ДД,ДопПараметры) Экспорт _Объект = РеквизитФормыВЗначение("Объект"); _Объект.Файл = Новый ХранилищеЗначения(ДД,Новый СжатиеДанных(9)); _Объект.Наименование = ДопПараметры.ИмяБезРасширения; _Объект.Розширення = ДопПараметры.Расширение; _Объект.Записать(); ЗначениеВРеквизитФормы(_Объект,"Объект"); КонецПроцедуры &НаКлиенте Процедура Вивантажити(Команда) Если ЭтаФорма.Модифицированность Тогда Сообщить("З початку потрібно зберегти об'єкт"); Возврат; КонецЕсли; ДиалогСохраненияФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.ВыборКаталога); ДиалогСохраненияФайла.Заголовок = "Зберегти файл"; ДиалогСохраненияФайла.Показать(Новый ОписаниеОповещения("ПослеЗавершенияИзвлечения",ЭтаФорма)); КонецПроцедуры &НаКлиенте Процедура ПослеЗавершенияИзвлечения(СписокФайлов,ДопПараметры) Экспорт ДД = ПолучитьФайл(); Если ДД = Неопределено Или ТипЗнч(ДД) <> Тип("ДвоичныеДанные") Тогда Сообщить("Помилка при зберіганні"); Возврат; КонецЕсли; Путь = СписокФайлов[0] +"\"+ Объект.Наименование + Объект.Розширення; ДД.НачатьЗапись(Новый ОписаниеОповещения("ДДНачалоЗапись",ЭтаФорма),Путь); ПоказатьПредупреждение(Новый ОписаниеОповещения("ПоказатьПредупреждениеПриЗавершении",ЭтаФорма),"Збережено по шляху " + Путь,,"Увага"); КонецПроцедуры &НаСервере Функция ПолучитьФайл() Возврат Объект.Ссылка.Файл.Получить(); КонецФункции &НаКлиенте Процедура ПоказатьПредупреждениеПриЗавершении(ДопПараметры) Экспорт КонецПроцедуры &НаКлиенте Процедура ДДНачалоЗапись(ДопПараметры) Экспорт КонецПроцедуры
8 июл. 2019 г.
Сохранить файлы в ХранилищеЗначений (Сохранение \ Восстановление)
Подписаться на:
Комментарии к сообщению (Atom)
Комментариев нет:
Отправить комментарий