0
Reraru
25.01.20
✎
00:05
|
Здравствуйте, у меня проблема. Мне удалось реализовать загрузку картинок но криво. Сперва нужно нажать на кнопку Выбрать файл картинки, после чего выбрать картинку и нажать открыть. После этого открывается окно с загрузкой картинки по её типу.
В итоге чтобы загрузить картинку приходится делать 2 действия.
Помогите мне пожалуйста. Как сделать чтобы сразу при загрузки картинки было сразу диалоговое окно с выбором картинки по её типу?
&НаКлиенте
Процедура ВыбратьФайлКартинки(Команда)
// Создаем оповещение, именно процедура "ОбработатьВыборФайла" будет вызвана при.
//закрытии окна выбора файла.
Оповещение = Новый ОписаниеОповещения("ОбработатьВыборФайла", ЭтотОбъект);
//Открываем интерактивное окно для выбора файла.
НачатьПомещениеФайла(Оповещение, , , Истина, УникальныйИдентификатор);
//УникальныйИдентификатор - этим свойством мы связали временное хранилище с текущей формой.
ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
ДиалогОткрытияФайла.Фильтр =
"Все картинки (*.bmp;*.dib;*.rle;*.jpg;*.jpeg;*.tif;*.gif;*.png;*.ico;*.wmf;*.emf)|*.bmp;*.dib;*.rle;*.jpg;*.jpeg;*.tif;*.gif;*.png;*.ico;*.wmf;*.emf|"
+ "Все файлы (*.*)|*.*|"
+ "Формат bmp (*.bmp;*.dib;*.rle)|*.bmp;*.dib;*.rle|"
+ "Формат JPEG (*.jpg;*.jpeg)|*.jpg;*.jpeg|"
+ "Формат TIFF (*.tif)|*.tif|"
+ "Формат GIF (*.gif)|*.gif|"
+ "Формат PNG (*.png)|*.png|"
+ "Формат icon (*.ico)|*.ico|"
+ "Формат метафайл (*.wmf;*.emf)|*.wmf;*.emf|"; // картинки
Если ДиалогОткрытияФайла.Выбрать() Тогда
ВыбранноеФото = Новый Картинка(ДиалогОткрытияФайла.ПолноеИмяФайла,Ложь);
Иначе
Возврат;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ОбработатьВыборФайла(Результат, Адрес, ВыбранноеИмяФайла, ДополнительныеПараметры) Экспорт
Если Не Результат Тогда
Возврат;
КонецЕсли;
СсылкаНаКартинку = Адрес;
КонецПроцедуры
&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
//ТекущийОбъект - это сконвертированные данные формы, которые пишутся в базу в этот момент времени.
Если ЭтоАдресВременногоХранилища(СсылкаНаКартинку) Тогда
ТекущийОбъект.Логотип = Новый ХранилищеЗначения(ПолучитьИзВременногоХранилища(СсылкаНаКартинку));
//при записи элемента справочника мы записываем данные из временного хранилища в
//реквизит элемента справочника.
УдалитьИзВременногоХранилища(СсылкаНаКартинку);
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
СсылкаНаКартинку = ПолучитьНавигационнуюСсылку(Объект.Ссылка, "Логотип");
//устанавливаем автомасштаб для картинки
Элементы.СсылкаНаКартинку.РазмерКартинки = РазмерКартинки.Растянуть;
КонецПроцедуры
|
|