В нетиповом документе возникает ошибка при открытии присоединенного файла:
Ошибка при выполнении файловой операции '/e1cib/data/Справочник.вд_МаршрутныйЛистПрисоединенныеФайлы.Файл?ref=8de052540011b0bb11ed9c88ae2c0639'. Значение данного типа невозможно преобразовать для передачи как файл. (Неопределено)
{ВнешниеДоработки Справочник.вд_МаршрутныйЛистПрисоединенныеФайлы.Форма.ФормаЭлемента.Форма(29)}: ПолучитьФайл(СсылкаНаФайлВИБ, Объект.ИмяФайла);
по причине:
Ошибка при выполнении файловой операции '/e1cib/data/Справочник.вд_МаршрутныйЛистПрисоединенныеФайлы.Файл?ref=8de052540011b0bb11ed9c88ae2c0639'. Значение данного типа невозможно преобразовать для передачи как файл. (Неопределено)
При этом загрузка происходит без ошибок. Файлы хранятся в томах в сетевой папке. В чём может быть проблема? Часть фалов нормально открывается, а часть выдаёт такие ошибки.
Модуль формы документа:
&НаКлиенте
Процедура ДокументЗаявка(Команда)
П = Новый Структура;
П.Вставить("Основание", Объект.Ссылка);
П.Вставить("ВидДокумента", "Договор-заявка");
ОткрытьФорму("Справочник.вд_МаршрутныйЛистПрисоединенныеФайлы.Форма.ФормаЭлемента", П);
КонецПроцедуры
Модуль формы справочника присоедененных файлов:
&НаКлиенте
Процедура Загрузить(Команда)
АдресВХранилище = "";
ВыбранноеИмяФайла = "";
Если ПоместитьФайл(АдресВХранилище, , ВыбранноеИмяФайла, , УникальныйИдентификатор) Тогда
Файл = Новый Файл(ВыбранноеИмяФайла);
Имя = Файл.ИмяБезРасширения + " (МЛ-" + НомерДокумента(Объект.ВладелецФайла) + ")" + Файл.Расширение;
СсылкаНаФайлВоВременномХранилище = АдресВХранилище;
Если Не ЗначениеЗаполнено(Объект.Наименование) Тогда
Объект.Наименование = Файл.Имя;
КонецЕсли;
Модифицированность = Истина;
Объект.ИмяФайла = Имя;
КонецЕсли;
КонецПроцедуры
&НаСервере
Функция НомерДокумента(Ссылка)
ОбъектМЛ = Объект.ВладелецФайла.ПолучитьОбъект();
Возврат ОбъектМЛ.Номер;
КонецФункции
&НаКлиенте
Процедура Сохранить(Команда)
Если Объект.ИмяФайла = "" Тогда
Предупреждение("Нет сохраненных файлов");
Иначе
СсылкаНаФайлВИБ = ПолучитьНавигационнуюСсылку(Объект.Ссылка, "Файл");
ПолучитьФайл(СсылкаНаФайлВИБ, Объект.ИмяФайла);
//НачатьПолучениеФайлаССервера(СсылкаНаФайлВИБ, Объект.ИмяФайла);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПриОткрытии(Отказ)
Имя = Объект.ИмяФайла;
Если ЗначениеЗаполнено(Параметры.Основание) Тогда
Объект.ВладелецФайла = Параметры.Основание
Иначе
Элементы.ВладелецФайла.ТолькоПросмотр = Ложь;
КонецЕсли;
Если ЗначениеЗаполнено(Параметры.ВидДокумента) Тогда
Объект.Наименование = Параметры.ВидДокумента
Иначе
Элементы.Наименование.ТолькоПросмотр = Ложь;
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
// Получить файл из хранилища и поместить его в объект.
Если ЭтоАдресВременногоХранилища(СсылкаНаФайлВоВременномХранилище) Тогда
ДвоичныеДанные = ПолучитьИзВременногоХранилища(СсылкаНаФайлВоВременномХранилище);
ТекущийОбъект.Файл = Новый ХранилищеЗначения(ДвоичныеДанные, Новый СжатиеДанных(9));
ТекущийОбъект.ИмяФайла = Имя;
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
//Удалить файл из временного хранилища
Если ЭтоАдресВременногоХранилища(СсылкаНаФайлВоВременномХранилище) Тогда
УдалитьИзВременногоХранилища(СсылкаНаФайлВоВременномХранилище);
КонецЕсли;
КонецПроцедуры
Показать