|
Загрузка файлов в ИБ и сохранение на диск | ☑ | ||
---|---|---|---|---|
0
just86
30.08.13
✎
18:20
|
Приветствую коллеги!
Как пишет книжка загружаю файл: &НаКлиенте Процедура ЗагрузитьФайл(Команда) Перем ВыбранноеИмя,АдресВХранилище; Если ПоместитьФайл(АдресВХранилище, "", ВыбранноеИмя, Истина, УникальныйИдентификатор) Тогда Файл = Новый Файл(ВыбранноеИмя); ИмяФайла = Файл.Имя; СсылкаНаФайлВоВременномХранилище = АдресВХранилище; Модифицированность = Истина; СоздатьЭлементСправочникаХранениеФайлов(ИмяФайла); Элементы.ПрикрепленныеФайлы.Обновить(); КонецЕсли; КонецПроцедуры Создаю элемент справочника и пишу в регистр &НаСервере Процедура СоздатьЭлементСправочникаХранениеФайлов(ИмяФайла) ДвоичныеДанные =ПолучитьИзВременногоХранилища(СсылкаНаФайлВоВременномХранилище); ЭлемСпр = Справочники.ХранениеФайлов.СоздатьЭлемент(); ЭлемСпр.Наименование = ИмяФайла; ЭлемСпр.ИмяФайла = ИмяФайла; ЭлемСпр.Файл = Новый ХранилищеЗначения(ДвоичныеДанные, Новый СжатиеДанных(9)); ЭлемСпр.Задача = Объект.Ссылка; ЭлемСпр.Записать(); СсылкаНаФайл=ПолучитьНавигационнуюСсылку(ЭлемСпр.Ссылка,"Файл"); ЭлемСпр.СсылкаНаФайлВоВременномХранилище = СсылкаНаФайл; ЭлемСпр.Записать(); МЗ = РегистрыСведений.СписокФалов.СоздатьМенеджерЗаписи(); МЗ.Задача = Объект.Ссылка; МЗ.Файл = ЭлемСпр.Ссылка; МЗ.ИмяФайла = ИмяФайла; МЗ.СсылкаНаФайл = СсылкаНаФайл; МЗ.Записать(Истина); КонецПроцедуры Вроде все правильно. Потом пытаюсь сохранить то, что загрузил: &НаКлиенте Процедура СкачатьФайлы(Команда) Режим = РежимДиалогаВыбораФайла.ВыборКаталога; ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(Режим); ДиалогОткрытияФайла.ПолноеИмяФайла = ""; ДиалогОткрытияФайла.Заголовок = "Выберите каталог для сохранения файлов!"; Если ДиалогОткрытияФайла.Выбрать() Тогда КаталогДляСохранения = ДиалогОткрытияФайла.Каталог; Если Прав(КаталогДляСохранения,1) <> "\" Тогда КаталогДляСохранения = КаталогДляСохранения + "\"; КонецЕсли; СписокФайлов = ПолучитьТаблицуФайловНаСервере(Объект.Ссылка,ЭтаФорма.УникальныйИдентификатор); Если СписокФайлов.Количество()<>0 Тогда Для Каждого Стр из СписокФайлов Цикл ПолучитьФайл(Стр.Ссылка,КаталогДляСохранения+Стр.ИмяФайла,Ложь); КонецЦикла; КонецЕсли; КонецЕсли; КонецПроцедуры &НаСервереБезКонтекста Функция ПолучитьТаблицуФайловНаСервере(Задача,УникальныйИдентификатор) Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | СписокФалов.ИмяФайла, | СписокФалов.СсылкаНаФайл, | СписокФалов.Файл.Ссылка КАК ФайлСсылка //| СписокФалов.Файл Как ФайлСсылка |ИЗ | РегистрСведений.СписокФалов КАК СписокФалов |ГДЕ | СписокФалов.Задача = &Задача"; Запрос.УстановитьПараметр("Задача", Задача); Результат = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = Результат.Выбрать(); Массив = Новый Массив; Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Структура = Новый Структура; Структура.Вставить("ИмяФайла",ВыборкаДетальныеЗаписи.ИмяФайла); СсылкаНаФайл = ПолучитьНавигационнуюСсылку(ВыборкаДетальныеЗаписи.ФайлСсылка,"Файл"); Структура.Вставить("Ссылка",СсылкаНаФайл); Массив.Добавить(Структура); КонецЦикла; Возврат Массив; КонецФункции И тут получаю ошибку: {Документ.Задача.Форма.ФормаДокумента.Форма(161)}: Ошибка при вызове метода контекста (ПолучитьФайл) ПолучитьФайл(Стр.Ссылка,КаталогДляСохранения+Стр.ИмяФайла,Ложь); по причине: Неправильный путь к файлу 'e1c://filev/C/Documents and Settings/a.pupkin/Мои документы/InfoBase1/e1cib/data/Справочник.ХранениеФайлов.Файл?ref=a009000c2906aba311e311765e163578' Подскажите, что с этим можно сделать и как собственно получить файл? |
|||
1
Охламон
30.08.13
✎
18:23
|
Путь к файлу непраильный
|
|||
2
just86
30.08.13
✎
18:23
|
Путь, в смысле ссылка на файл?
|
|||
3
giallo
30.08.13
✎
18:25
|
(2) Путь - в смысле не железнодорожный, Млечный и тд, а путь к файлу
|
|||
4
just86
30.08.13
✎
18:28
|
(3) И каково должно быть исправление на путь истинный?
|
|||
5
just86
30.08.13
✎
18:30
|
Дело в имени файла - с какими то недопустимыми символами?
|
|||
6
just86
30.08.13
✎
18:54
|
Да. И так несколько тем с подобным содержанием...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |