Имя: Пароль:
1C
 
Модифицированность
0 wwwqwert2014
 
28.08.14
12:33
Задача: Загрузить файл в базу и отобразить его на форме. И при необходимости иметь возможность сохранения на диск.
Я прочитал про этот пример в книжке "Руководство разработчика".
Там при загрузке файла с диска устанавливалось Модифиццированность = Истина;
Непонятно, зщачем это было сделано. У меня все отработало и без этого.
Но может быть я что-то не учел. Можете подсказать?
ВЫот мой код

&НаКлиенте
Процедура Загрузить(Команда)
    // Вставить содержимое обработчика.
    
    ВременноеИмяФайл = "";
    
    СсылкаВоВременномХранилище = "";
    
    Если ПоместитьФайл(СсылкаВоВременномХранилище, ,ВременноеИмяФайл,,УникальныйИдентификатор) Тогда
        АдресВременногоФайла = СсылкаВоВременномХранилище;
        Файл = Новый Файл(ВременноеИмяФайл);
        ИмяФайла = Файл.Имя;
    КонецЕсли;
    
    
КонецПроцедуры




&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
    //Вставить содержимое обработчика
    
    
    Если ЭтоАдресВременногоХранилища(АдресВременногоФайла) Тогда
        ДвоичныеДанные = ПолучитьИзВременногоХранилища(АдресВременногоФайла);
        ТекущийОбъект.ФайлКартинки = Новый ХранилищеЗначения(ДвоичныеДанные);
        ТекущийОбъект.ИмяФайлаКартинки = ИмяФайла;
    КонецЕсли;
    
    
КонецПроцедуры

&НаСервере
Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
    //Вставить содержимое обработчика
    Если ЭтоАдресВременногоХранилища(АдресВременногоФайла) Тогда
        УдалитьИзВременногоХранилища(АдресВременногоФайла);
        АдресВременногоФайла = ПолучитьНавигационнуюСсылку(ТекущийОбъект.Ссылка, "ФайлКартинки");
    КонецЕсли;
    
    
КонецПроцедуры

&НаКлиенте
Процедура СохранитьНаДиск(Команда)
    
    Если Объект.ИмяФайлаКартинки = "" Тогда
        Возврат;
    Иначе
        СсылкаНаФайлИБ = ПолучитьНавигационнуюСсылку(ЭтотОбъект,"ФайлКартинки");
        ПолучитьФайл(СсылкаНаФайлИБ, Объект.Ссылка.ИмяФайлаКартинки);
    КонецЕсли;
    
    
КонецПроцедуры

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    //Вставить содержимое обработчика
    Если Объект.Ссылка.ИмяФайлаКартинки <> "" Тогда
        АдресВременногоФайла = ПолучитьНавигационнуюСсылку(Объект.Ссылка, "ФайлКартинки");
    КонецЕсли;
    
КонецПроцедуры
1 chelentano
 
28.08.14
12:56
(0) возможно, для того, чтобы при закрытии формы автоматически задавался вопрос "Сохранить изменения?"