|
Вставка изображения в форму элемента | ☑ | ||
---|---|---|---|---|
0
Lavr
25.02.12
✎
21:43
|
Здравствуйте.
Вот код вставки изображения в форму элемента: Процедура ОсновноеИзображениеНажатие(Элемент) Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); Диалог.Заголовок = "Выберите файл с фотографией"; Диалог.ПолноеИмяФайла = ""; Диалог.ПредварительныйПросмотр = Истина; Диалог.Фильтр = "Все картинки (*.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|"; // картинки Если Диалог.Выбрать() Тогда ВыбранноеФото = Новый Картинка(Диалог.ПолноеИмяФайла,Ложь); ЭлементыФормы.ОсновноеИзображение.Картинка = ВыбранноеФото; Иначе Отказ = Истина; Возврат; КонецЕсли; Хранилище = Новый ХранилищеЗначения(ЭлементыФормы.ОсновноеИзображение.Картинка.ПолучитьДвоичныеДанные()); // сохранение значения типа ХранилищеЗначения в базе данных НовНоменклатура = Справочники.Модель.СоздатьЭлемент(); НовНоменклатура.Наименование = "Менеджер"; // реквизит Изображение имеет тип ХранилищеЗначения НовНоменклатура.Изображение = Хранилище; НовНоменклатура.Записать(); КонецПроцедуры Процедура ПоказатьКартинку (НовНоменклатура) Если ТипЗнч(НовНоменклатура.Изображение) = Тип("ХранилищеЗначения") Тогда ЭлементыФормы.ОсновноеИзображение.Картинка = Новый Картинка (НовНоменклатура.Изображение.Получить()); КонецЕсли; КонецПроцедуры Картинка отображается но после записи не сохраняется, может кто подскажет что делать? |
|||
1
andrewks
25.02.12
✎
21:48
|
моделей учитываете? :)
|
|||
2
andrewks
25.02.12
✎
21:49
|
может, так?
НовНоменклатура = Справочники.Модель.СоздатьЭлемент(); НовНоменклатура.Наименование = "Менеджер"; // реквизит Изображение имеет тип ХранилищеЗначения НовНоменклатура.Записать(); НовНоменклатура.Изображение = Хранилище; НовНоменклатура.Записать(); |
|||
3
Lavr
25.02.12
✎
21:56
|
моделей учитываете? :)
- :) Помощи искал в инете, что нашел пока не изменял все переменные и названия под себя. Попробовал, не получается. |
|||
4
andrewks
25.02.12
✎
21:59
|
а нафига ты создаёшь новый элемент номенклатуры?
|
|||
5
Lavr
25.02.12
✎
21:59
|
сейчас вот еще УТ смотрю, но это пока дремучий лес для меня.
|
|||
6
Lavr
25.02.12
✎
22:03
|
а нафига ты создаёшь новый элемент номенклатуры?
т. е. каждый раз при новом добавлении изображения? Подскажите пожалуйста как лучше сделать. |
|||
7
andrewks
25.02.12
✎
22:04
|
(6) не, ну ты говоришь, что находишься в форме элемента. зачем создаёшь новый? тебе же с контекстом работать надо, насколько я понимаю
|
|||
8
Lavr
25.02.12
✎
22:08
|
У меня справочник Сотрудники там необходимо добавлять фото сотрудника в форму сотрудника (элемента), в форме поле картинки - ОсновноеИзображение.
|
|||
9
catena
25.02.12
✎
22:26
|
А если убрать
НовНоменклатура = Справочники.Модель.СоздатьЭлемент(); НовНоменклатура.Наименование = "Менеджер"; // реквизит Изображение имеет тип ХранилищеЗначения НовНоменклатура.Изображение = Хранилище; НовНоменклатура.Записать(); И оставить только Изображение = Хранилище; ? |
|||
10
catena
25.02.12
✎
22:27
|
Эти процедуры - они где расположены?
|
|||
11
andrewks
25.02.12
✎
22:29
|
(8) у тебя обычное приложения, я так понимаю?
|
|||
12
Lavr
26.02.12
✎
08:34
|
(10) они в модуле формы элемента, в справочнике Сотрудники.
(11) конфигурацию начал писать с нуля, так сказать практиковаться, сейчас изучаю 1С. (9) эффект тот же - не сохраняет фото в форме. |
|||
13
catena
26.02.12
✎
09:23
|
Не сохраняет или не показывает?
ПоказатьКартинку(НовНоменклатура) Эта процедура когда вызывается и что получает в НовНоменклатура? |
|||
14
andrewks
26.02.12
✎
09:26
|
(12) ну, допустим, с нуля. ты ответь на (11) - обычное, или управляемое приложение?
|
|||
15
Wobland
26.02.12
✎
09:29
|
цитирую рабочий код:
Процедура ДействияФормыЗагрузить(Кнопка) Диалог=Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); Диалог.МножественныйВыбор=Ложь; Диалог.Фильтр=ПолучитьФильтрИзображений(); Если Диалог.Выбрать() Тогда ВыбраннаяКартинка=Новый Картинка(Диалог.ПолноеИмяФайла); Картинка=Новый ХранилищеЗначения(ВыбраннаяКартинка); ЭлементыФормы.ПолеКартинки.Картинка=ВыбраннаяКартинка; КонецЕсли; КонецПроцедуры |
|||
16
Wobland
26.02.12
✎
09:29
|
ну и
Процедура ДействияФормыСохранить(Кнопка) Диалог=Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение); Диалог.Фильтр="Формат jpeg (*.jpg)|*.jpg"; Если Диалог.Выбрать() Тогда ВыбраннаяКартинка=Картинка.Получить(); ВыбраннаяКартинка.Записать(Диалог.ПолноеИмяФайла); КонецЕсли; КонецПроцедуры |
|||
17
andrewks
26.02.12
✎
09:30
|
(15) это будет рабочий код для обычного приложения
|
|||
18
Wobland
26.02.12
✎
09:32
|
(17) разумеется. а я плохо ветку читал? у автора УФ?
|
|||
19
Wobland
26.02.12
✎
09:33
|
+(18) один хрен, пущай по аналогии думает
|
|||
20
andrewks
26.02.12
✎
09:36
|
(19) по аналогии не выйдет
(18) дык я его пытаю, он не отвечает |
|||
21
Lavr
26.02.12
✎
10:00
|
Извините за долгий ответ - с ребенком сидел.
У меня обычные приложение, не управляемое. Про управляемое только читал, но не сталкивался. |
|||
22
Lavr
26.02.12
✎
16:38
|
Фотография всеравно не отображается, может изображение не сохраняется в хранилище вообще?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |