Сохранить файл с типом ХранилищеЗначения на диск

1. den17 01.08.19 09:48 Сейчас в теме
Есть Справочник ПрикрепленныеФайлы. В нем есть реквизит Файл с типом ХранилищеЗначения. Там содержатся файлы с форматом *.pdf.
Скажите пожалуйста, как сохранить данный файл на диск. Открыть его
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
11. spacecraft 01.08.19 16:47 Сейчас в теме
(1) (3) приводите полный текст ошибки, версию платформы и режим совместимости
2. alexx2510 39 01.08.19 09:59 Сейчас в теме
вообще, лучше избегать таких имен у переменных и реквизитов как "Файл и т.п. Есть риск пересечения с какими-нибудь системными значениями, как в вашем случае пересечения с общим объектом Файл.

Назовите лучше ваш реквизит ФайлХранилище.

Сохранить его в файл на диске можно так:

ДвоичныеДанные = ФайлХранилище.Получить();
ДвоичныеДанные.Записать(ИмяФайла);
3. den17 01.08.19 10:04 Сейчас в теме
(2)Получаю Запросом данное поле (с типом Хранилище)
ДвоичныеДанные = ФайлХранилище.Получить() --> на этой строке кода Ошибка Метод объекта не обнаружен.
4. alexx2510 39 01.08.19 10:07 Сейчас в теме
покажите скрин из отладчика, где видно тип значения "ФайлХранилище"
5. alexx2510 39 01.08.19 10:10 Сейчас в теме
или сделайте в коде такую проверку:
Если ТипЗнч(ФайлХранилище) <> Тип("ДвоичныеДанные") Тогда
	ДвоичныеДанные = ФайлХранилище.Получить();
Иначе
	ДвоичныеДанные = ФайлХранилище;
КонецЕсли; 
ДвоичныеДанные.Записать(ИмяФайла);
6. den17 01.08.19 10:15 Сейчас в теме
если написать ..Получить() -- метод не обнаружен.
Прикрепленные файлы:
7. alexx2510 39 01.08.19 10:19 Сейчас в теме
покажите код целиком, в том числе где метод Получить()

из справки:
ХранилищеЗначения (ValueStorage)
Получить (Get)
Синтаксис:

Получить()
Возвращаемое значение:

Тип: Произвольный.
Значение, содержащееся в хранилище.
Описание:

Получает из хранилища сохраненное в нем значение.

Доступность:

Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер).
Пример:

МояКартинка = ХранилищеКартинки.Получить();
Показать
8. den17 01.08.19 10:27 Сейчас в теме
(7)Вот:
Прикрепленные файлы:
9. alexx2510 39 01.08.19 10:36 Сейчас в теме
(8) как минимум строка СправкаДв = ФайлХранилище.Получить()
должна быть внутри условия Если Выборка.Следующий(), плюс добавляйте проверку на тип значения перед тем как вызывать метод Получить(), а то может у вас там пусто или null
Still325; +1 Ответить
10. den17 01.08.19 16:04 Сейчас в теме
(9) При обращении к Регистру ДвоичныеДанныеФайлов -- такая-же ошибка
12. ru_spaiky 21.06.21 20:07 Сейчас в теме
Решился вопрос или нет?
13. Bayker 22.11.21 09:06 Сейчас в теме
(12)
У меня вот так получилось:

&НаКлиенте
Процедура кнСделатьФотоПН(Команда)
ДанныеФото = ПолучитьДанныеФотоСнимка();

Если ДанныеФото <> Неопределено Тогда
ТекущееФото = ДанныеФото.ПолучитьДвоичныеДанные();
ФотоХранилище = ПоместитьВоВременноеХранилище(ТекущееФото, Новый УникальныйИдентификатор);
СохранитьФотоНаДиске(ФотоХранилище);
КонецЕсли;
КонецПроцедуры

&НаСервере
Процедура СохранитьФотоНаДиске(ФотоХранилище)
ИмяФайла = "C:Temp\"+ ВыбПриходнаяНакладная.Номер +".jpg";

ДвоичныеДанные = ПолучитьИзВременногоХранилища(ФотоХранилище);
ДвоичныеДанные.Записать(ИмяФайла);

КонецПроцедуры 
Показать
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот