0
bvb
16.04.21
✎
15:12
|
Есть реализация с прикрепленным файлом
Я нахожу ссылку в справочнике "РеализацияТоваровУслугПрисоединенныеФайлы"
Я поучаю структуру с данными файла
ДанныеФайла = РаботаСФайламиСлужебныйВызовСервера.ДанныеФайлаДляОткрытия(ССылкаНаЭлементРеализацияТоваровУслугПрисоединенныеФайлы,
Неопределено, УникальныйИдентификатор, Неопределено, );
Там есть ссылка на имя в рабочем каталоге - но самого файла по данной ссылке не существует
ПутьКФайлуExcel = ДанныеФайла.ПолноеИмяФайлаВРабочемКаталоге;
КАк мне выгрузить файл из базы во временный файл на клиенте для его последующей обработки ?
К слову сказать я так и не могу понять где в УТ хранятся двоичные данные самого присоединеного файла.
Реквизит ФайлХранилище = Неопределено
|
|
1
bvb
16.04.21
✎
15:46
|
Сделал так :
Походу колхозно - но работает
&НаСервере
Функция ПолучитьДвоичныеданныеФайлExcelИзПрисоединеныхФайлов (Док)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Спр.Ссылка КАК Ссылка,
| Спр.Расширение КАК Расширение,
| Спр.ТипХраненияФайла КАК ТипХраненияФайла
|ИЗ
| Справочник.ОтчетКомиссионераПрисоединенныеФайлы КАК Спр
|ГДЕ
| Спр.ВладелецФайла = &Док";
Запрос.УстановитьПараметр("Док",Док);
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Если Выборка.Расширение = "xlsx" И Выборка.ТипХраненияФайла = Перечисления.ТипыХраненияФайлов.ВИнформационнойБазе Тогда
Возврат ПрисоединенныеФайлы.ПолучитьДвоичныеДанныеФайла(Выборка.ССылка);
КонецЕсли;
КонецЦикла;
КонецФункции
&НаКлиенте
Процедура ПриОткрытии(Отказ)
ПриОткрытииНаСервере();
ДвоичныеДанные = ПолучитьДвоичныеданныеФайлExcelИзПрисоединеныхФайлов (ОбъектЗаполнения);
ПутьКФайлуExcel = ПолучитьИмяВременногоФайла("xlsx");
ДвоичныеДанные.Записать(ПутьКФайлуExcel);
ПроверкаФайла = Новый Файл (ПутьКФайлуExcel);
Если ПроверкаФайла.Существует() Тогда
ПрочитатьExcelНаКлиенте();
КонецЕсли;
КонецПроцедуры
|
|