|   |   | 
| 
 | Загрузка картинки на форму | ☑ | ||
|---|---|---|---|---|
| 0
    
        Julia_S12 03.04.13✎ 05:28 | 
        Добрый день! Подскажите, как мне загрзуить картинку на форму, чтоб в дальнейшем её можно было открывать и просматривать. по коду Картинка помещается во временное хранилище, и потом исчезает
  &НаКлиенте Процедура ЗагрузитьФотографию(Команда) Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); Диалог.Заголовок = "Выбор файла картинки"; Диалог.ПредварительныйПросмотр = Истина; Диалог.Фильтр = "Все картинки (*.bmp;*.dib;*.rle;*.jpg;*.jpeg;*.tif;*.gif;*.png;*.ico;*.wmf;*.emf)" + "|*.bmp;*.dib;*.rle;*.jpg;*.jpeg;*.tif;*.gif;*.png;*.ico;*.wmf;*.emf|"; Если Диалог.Выбрать() Тогда ИмяФайла = Диалог.ПолноеИмяФайла; Картинка = Новый ДвоичныеДанные(ИмяФайла); //Запись данных в реквизит формы Данные = Картинка; //Помещение во временное хранилище и возврат адреса Резюме = ПоместитьВоВременноеХранилище(Картинка); Модифицированность = Истина; КонецЕсли; КонецПроцедуры &НаСервере Процедура ПриЧтенииНаСервере(ТекущийОбъект) Резюме = ПолучитьНавигационнуюСсылку(ТекущийОбъект.Ссылка, "Резюме"); КонецПроцедуры &НаСервере Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи) Если Данные <> Неопределено Тогда ХранилищеКартинки = Новый ХранилищеЗначения(Данные, Новый СжатиеДанных()); ТекущийОбъект.Резюме = ХранилищеКартинки; Резюме.Изображение = ХранилищеКартинки; Резюме.Записать(); КонецЕсли; КонецПроцедуры | |||
| 1
    
        Wobland 03.04.13✎ 06:16 | 
        &НаКлиенте
  Процедура ФотоПриАктивизацииСтроки(Элемент) Если Элемент.ТекущиеДанные<>Неопределено Тогда АдресКартинки=ПолучитьНавигационнуюСсылку(Элемент.ТекущиеДанные.Фотография, "Фото"); КонецЕсли; КонецПроцедуры &НаКлиенте Процедура ФотоПриИзменении(Элемент) АдресКартинки=ПолучитьНавигационнуюСсылку(Элемент.ТекущиеДанные.Фотография, "Фото"); КонецПроцедуры | |||
| 2
    
        Wobland 03.04.13✎ 06:17 | 
        или даже так:
  &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) АдресКартинки=ПолучитьНавигационнуюСсылку(Объект.Ссылка, "Фото"); КонецПроцедуры &НаСервере Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи) Если ЭтоАдресВременногоХранилища(АдресКартинки) Тогда ТекущийОбъект.Фото=Новый ХранилищеЗначения(ПолучитьИзВременногоХранилища(АдресКартинки)); КонецЕсли; КонецПроцедуры &НаКлиенте Процедура Загрузить(Команда) Перем Адрес; Диалог=Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); Диалог.МножественныйВыбор=Ложь; Диалог.Фильтр=ПолучитьФильтрИзображений(); Если Диалог.Выбрать() Тогда ПоместитьФайл(Адрес, Диалог.ПолноеИмяФайла, , Ложь, УникальныйИдентификатор); АдресКартинки=Адрес; Если ПустаяСтрока(Объект.Наименование) Тогда ф=Новый Файл(Диалог.ПолноеИмяФайла); Объект.Наименование=ф.ИмяБезРасширения; КонецЕсли; Модифицированность=Истина; КонецЕсли; КонецПроцедуры &НаКлиенте Процедура Сохранить(Команда) Диалог=Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение); Диалог.Фильтр=ПолучитьФильтрИзображений(); Если Диалог.Выбрать() Тогда ТекущаяКартинка=Новый Картинка(ПолучитьИзВременногоХранилища(АдресКартинки)); ТекущаяКартинка.Записать(Диалог.ПолноеИмяФайла); КонецЕсли; КонецПроцедуры &НаКлиенте Процедура ПолеФотоНажатие(Элемент, СтандартнаяОбработка) СтандартнаяОбработка=Ложь; Загрузить(NULL); КонецПроцедуры | |||
| 3
    
        Julia_S12 03.04.13✎ 09:57 | 
        Сейчас попробую, спасибо))     | |||
| 4
    
        Julia_S12 04.04.13✎ 05:43 | 
        Диалог.Фильтр=ПолучитьФильтрИзображений();
  Что это за строчка?? у меня ругается на нее | |||
| 5
    
        Julia_S12 04.04.13✎ 05:53 | 
        так..разобралась. Только немножко не то. Как мне сделать, чтоб при загрузке картинки она сохранялась где ниб (в базе или на сервере), и потом можно было открыть эту картинку в стандартных средствах просмотра (чтоб можно было распечатать)     | |||
| 6
    
        Wobland 04.04.13✎ 05:57 | 
        (5) ПередЗаписьюНаСервере как раз производит запись куда-нибудь в базу     | |||
| 7
    
        Wobland 04.04.13✎ 05:58 | 
        (6) точнее, присваивает реквизит, а записывается элемент справочника уже без меня     | |||
| 8
    
        Julia_S12 04.04.13✎ 06:00 | 
        а как тогда эту картинку можно потом будет открыть?     | |||
| 9
    
        Wobland 04.04.13✎ 06:03 | 
        (8) ПриСозданииНаСервере добывает адрес картинки. а на форме строковый реквизит и поле типа картинка     | |||
| 10
    
        Julia_S12 04.04.13✎ 06:05 | 
        у меня ничего не делает     | |||
| 11
    
        Wobland 04.04.13✎ 06:07 | 
        вот она получается из ВХ: ТекущаяКартинка=Новый Картинка(ПолучитьИзВременногоХранилища(АдресКартинки));
  я тебе дал рабочий код. ничо не знаю | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |