Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
29 сен 2024, 08:17

Вставка изображения в форму элемента

Автор LavrS, 25 фев 2012, 21:58

0 Пользователей и 1 гость просматривают эту тему.

LavrS

Здравствуйте.
Вот код вставки изображения в форму элемента:

Процедура ОсновноеИзображениеНажатие(Элемент)
     
Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
Диалог.Заголовок = "Выберите файл с фотографией";
Диалог.ПолноеИмяФайла = "";
Диалог.ПредварительныйПросмотр = Истина;
Диалог.Фильтр =
"Все картинки (*.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|"; // картинки


Если Диалог.Выбрать() Тогда
    ВыбранноеФото = Новый Картинка(Диалог.ПолноеИмяФайла,Ложь);
    ЭлементыФормы.ОсновноеИзображение.Картинка = ВыбранноеФото;
Иначе
    Отказ = Истина;
    Возврат;
КонецЕсли;

Хранилище = Новый ХранилищеЗначения(ЭлементыФормы.ОсновноеИзображение.Картинка.ПолучитьДвоичныеДанные());

// сохранение значения типа ХранилищеЗначения в базе данных

НовНоменклатура = Справочники.Модель.СоздатьЭлемент();
НовНоменклатура.Наименование = "Менеджер";
// реквизит Изображение имеет тип ХранилищеЗначения

НовНоменклатура.Изображение = Хранилище;
НовНоменклатура.Записать();
КонецПроцедуры
Процедура ПоказатьКартинку (НовНоменклатура)
      Если ТипЗнч(НовНоменклатура.Изображение) = Тип("ХранилищеЗначения") Тогда
            ЭлементыФормы.ОсновноеИзображение.Картинка = Новый Картинка (НовНоменклатура.Изображение.Получить());
      КонецЕсли;
  КонецПроцедуры


Картинка отображается но после записи не сохраняется, может кто подскажет что делать?

Dethmontt

Вставить вот это в процедуру при открытии
Процедура ПоказатьКартинку (НовНоменклатура)
      Если ТипЗнч(НовНоменклатура.Изображение) = Тип("ХранилищеЗначения") Тогда
            ЭлементыФормы.ОсновноеИзображение.Картинка = Новый Картинка (НовНоменклатура.Изображение.Получить());
      КонецЕсли;
  КонецПроцедуры
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

LavrS

Не работает, может изображение вообще не сохраняется в хранилище?

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск