Имя: Пароль:
1C
1С v8
Хранилище значений и регистр сведений
0 ferry
 
05.04.13
15:20
Есть форма записи регистра сведений. Как вывести на нее картинку с возможностью перевыбрать ее? Картинка - типа хранилище значений.
Код
&НаКлиенте
Процедура ПриОткрытии(Отказ)
   ИзображениеНаФорме =ПолучитьНавигационнуюСсылку(запись.ИсходныйКлючЗаписи,"Картинка");  
КонецПроцедуры

&НаКлиенте
Процедура ИзменитьИзображение(Команда)
   Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
   Диалог.Заголовок = "Укажите файл ...";
   Текст = "ru = ""Картинка""; en = ""Картинка""";
   Фильтр = НСтр(Текст)+"(*.bmp)|*.bmp";
   Диалог.Фильтр = Фильтр;
   Диалог.МножественныйВыбор = Ложь;
   Если Не Диалог.Выбрать() Тогда
       Возврат;
   КонецЕсли;          
   Путь = Диалог.Каталог;    
   МассивФайлов =Диалог.ВыбранныеФайлы;
    Для Каждого ИмяФайлаМассива Из МассивФайлов Цикл
       ВыбФайл = Новый Файл(ИмяФайлаМассива);
       ИмяФайла=ВыбФайл.Имя;
   КонецЦикла;
   ИзменитьИзображениеСервер();
КонецПроцедуры

&НаКлиенте
Процедура ИзменитьИзображениеСервер()    
   АдресКартинки="";
   Попытка
       ПоместитьФайл(АдресКартинки,Путь+ИмяФайла,ИмяФайла,Ложь,УникальныйИдентификатор);
       ЗаписатьКартинку(АдресКартинки);
   Исключение            
   КонецПопытки;
КонецПроцедуры


Процедура ЗаписатьКартинку(Адрес)
   Картинка = ПолучитьИзВременногоХранилища(Адрес);
   Записать();
КонецПроцедуры
не выдает ошибки, но и ничего не записывает.
ИзображениеНаФорме - реквизит формы типа строка.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан