Имя: Пароль:
1C
 
Картинка пропадает после 2-го сохранения
0 nikramunger
 
04.04.15
13:57
http://ovrload.ru/f/49554_1cv8.dt - Ссылка на Бд
1 раз все нормально сохраняется после последующего пересохранения картинка пропадает, отладчиком не могу выловить ошибку
Код в низу
&НаКлиенте
Процедура ДобавитьКартинку(Команда)
ИмяФайла = "";
ПутьКфайлу= "";
//Вызываем Диалоговое окно и помещаем файл Картинки из локальной файловой системы во временное хранилище
Если ПоместитьФайл(ПутьКфайлу, , ИмяФайла) = Истина Тогда
//в строковый реквизит ФОТО нашей формы сохраняем ссылку на Картинку во временном хранилище
Фото = ПутьКфайлу;
Если НеСохранятьВБД Тогда

    Параметры.КлючНазначенияИспользования = ИмяФайла;    
Иначе
    Параметры.КлючНазначенияИспользования = Фото;
КонецЕсли;


Элементы.Фото.РазмерКартинки = РазмерКартинки.АвтоРазмер;

//для создания нового элемента в Справочнике Файлы и записи Картинки в его реквизит Файл
//переходим на сервер с помощью вызова серверной процедуры
//УстановитьКартинку();
ЭтаФорма.ОбновитьОтображениеДанных();

КонецЕсли;
    
КонецПроцедуры



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

&НаСервере
Процедура ПередЗаписьюНаСервере(ДанныеСохранения,НеСохранятьВБД,Гуид)
//создаем новый элемент в Справочнике Файлы
ЕстьЛиФотоСотрудника = Справочники.Файлы.НайтиПоНаименованию(Гуид,Истина);
Если ЕстьЛиФотоСотрудника.Пустая() Тогда

НовыйФайлКартинки = Справочники.Файлы.СоздатьЭлемент();

//в реквизит СправочникаФайлы Файл помещаем выбранную ранее Картинку
НовыйФайлКартинки.Наименование = Гуид;
НовыйФайлКартинки.Файл = Новый ХранилищеЗначения(ПолучитьИзВременногоХранилища(ДанныеСохранения));
//Фото = ПоместитьВоВременноеХранилище(НовыйФайлКартинки.Файл.Получить());
НовыйФайлКартинки.ЭтоПуть = НеСохранятьВБД;
//записываем новый элемент справочника Файлы
НовыйФайлКартинки.Записать();
    

Иначе
ФотоСотрудника = ЕстьЛиФотоСотрудника.ПолучитьОбъект();
ФотоСотрудника.Наименование = Гуид;
ФотоСотрудника.Файл  = Новый ХранилищеЗначения(ПолучитьИзВременногоХранилища(ДанныеСохранения));
ФотоСотрудника.ЭтоПуть = НеСохранятьВБД;
//записываем новый элемент справочника Файлы
ФотоСотрудника.Записать();


КонецЕсли;


КонецПроцедуры

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Элемент = Справочники.Файлы.НайтиПоНаименованию(Объект.Наименование);
    Если Не Элемент.Пустая() Тогда
     Если Не Элемент.ЭтоПуть Тогда
          
            Фото = ПолучитьНавигационнуюСсылку(Элемент,"Файл");
           Элементы.Фото.РазмерКартинки = РазмерКартинки.АвтоРазмер;
     КонецЕсли;
          
          
    
    КонецЕсли;
    КонецПроцедуры
2 + 2 = 3.9999999999999999999999999999999...