0
wwwqwert2014
28.08.14
✎
12:33
|
Задача: Загрузить файл в базу и отобразить его на форме. И при необходимости иметь возможность сохранения на диск.
Я прочитал про этот пример в книжке "Руководство разработчика".
Там при загрузке файла с диска устанавливалось Модифиццированность = Истина;
Непонятно, зщачем это было сделано. У меня все отработало и без этого.
Но может быть я что-то не учел. Можете подсказать?
ВЫот мой код
&НаКлиенте
Процедура Загрузить(Команда)
// Вставить содержимое обработчика.
ВременноеИмяФайл = "";
СсылкаВоВременномХранилище = "";
Если ПоместитьФайл(СсылкаВоВременномХранилище, ,ВременноеИмяФайл,,УникальныйИдентификатор) Тогда
АдресВременногоФайла = СсылкаВоВременномХранилище;
Файл = Новый Файл(ВременноеИмяФайл);
ИмяФайла = Файл.Имя;
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
//Вставить содержимое обработчика
Если ЭтоАдресВременногоХранилища(АдресВременногоФайла) Тогда
ДвоичныеДанные = ПолучитьИзВременногоХранилища(АдресВременногоФайла);
ТекущийОбъект.ФайлКартинки = Новый ХранилищеЗначения(ДвоичныеДанные);
ТекущийОбъект.ИмяФайлаКартинки = ИмяФайла;
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
//Вставить содержимое обработчика
Если ЭтоАдресВременногоХранилища(АдресВременногоФайла) Тогда
УдалитьИзВременногоХранилища(АдресВременногоФайла);
АдресВременногоФайла = ПолучитьНавигационнуюСсылку(ТекущийОбъект.Ссылка, "ФайлКартинки");
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура СохранитьНаДиск(Команда)
Если Объект.ИмяФайлаКартинки = "" Тогда
Возврат;
Иначе
СсылкаНаФайлИБ = ПолучитьНавигационнуюСсылку(ЭтотОбъект,"ФайлКартинки");
ПолучитьФайл(СсылкаНаФайлИБ, Объект.Ссылка.ИмяФайлаКартинки);
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
//Вставить содержимое обработчика
Если Объект.Ссылка.ИмяФайлаКартинки <> "" Тогда
АдресВременногоФайла = ПолучитьНавигационнуюСсылку(Объект.Ссылка, "ФайлКартинки");
КонецЕсли;
КонецПроцедуры
|
|