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