![]() |
![]() |
![]() |
|
Загрузка картинки на форму | ☑ | ||
---|---|---|---|---|
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
|
вот она получается из ВХ: ТекущаяКартинка=Новый Картинка(ПолучитьИзВременногоХранилища(АдресКартинки));
я тебе дал рабочий код. ничо не знаю |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |