0
KazSever
10.05.17
✎
13:18
|
Добрый день, подскажите как можно открыть файл (картинка, pdf ...) из хранилища значения? Имеется ввиду не вывод в реквизит с видом "Поле картинки", а чтоб именно открылся файл. Какие могут быть варианты?!
|
|
6
KazSever
10.05.17
✎
16:49
|
Открытие фала из хранилища 1С 8.3
В общем пришлось добавить реквизит "ИмяФайла", чтоб потом легче открывать было.
"Файл" - элемент формы с видом "Поле картинки".
Хранилище - реквизит с типом "Хранилище значения".
Может и не совсем верно получилось, но получилось, если у кого будут предложения и замечания - с удовольствием выслушаю.
Загрузка:
&НаКлиенте
Процедура ЗагрузитьФайл(Команда)
Оповещение = Новый ОписаниеОповещения("ОбработатьВыборФайла", ЭтотОбъект);
НачатьПомещениеФайла(Оповещение,,,Истина,УникальныйИдентификатор);
КонецПроцедуры
&НаСервере
Процедура ОбработатьВыборФайла(Результат,Адрес,ВыбранноеИмяФайла,ДополнительныеПараметры)
Если Не Результат Тогда
Возврат;
Иначе
МассивСтрок = СтрРазделить(ВыбранноеИмяФайла, "\",Ложь);
ИмяФайла = МассивСтрок[МассивСтрок.Количество()-1];
Файл = Адрес;
Объект.ИмяФайла = ИмяФайла;
КонецЕсли;
КонецПроцедуры
Сохранение:
&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
Если ЭтоАдресВременногоХранилища(Файл) тогда
ТекущийОбъект.Хранилище = Новый ХранилищеЗначения(ПолучитьИзВременногоХранилища(Файл));
КонецЕсли;
КонецПроцедуры
Открытие:
&НаКлиенте
Процедура ОткрытьФайл(Команда)
Адрес = ПолучитьНавигационнуюСсылку(Объект.Ссылка,"Хранилище");
ИмяФайла = "" + КаталогВременныхФайловСервер() + Объект.ИмяФайла;
ПолучитьФайл(Адрес,ИмяФайла,Истина);
КонецПроцедуры
&НаСервере
Функция КаталогВременныхФайловСервер()
Возврат КаталогВременныхФайлов();
КонецФункции
|
|