Картинка в справочнике 1С8.2
10.03.2010
09:48
#1
"Пишу конфу для учета сотовых в СЦ,столкнулся с проблемой вывода картинки изделия на форме справочника воспользовался синтаксис помошником и взял код<br><br> Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);<br>Диалог.Заголовок = "Выберите файл с фотографией";<br>Диалог.ПолноеИмяФайла = """";<br>Диалог.ПредварительныйПросмотр = Истина;<br>Диалог.Фильтр = <br>"Все картинки (*.bmp;*.dib;*.rle;*.jpg;*.jpeg;*.tif;*.gif;*.png;*.ico;*.wmf;*.emf)|*.bmp;*.dib;*.rle;*.jpg;*.jpeg;*.tif;*.gif;*.png;*.ico;*.wmf;*.emf|" <br>+ "Формат bmp (*.bmp;*.dib;*.rle)|*.bmp;*.dib;*.rle|"<br>+ "Формат JPEG (*.jpg;*.jpeg)|*.jpg;*.jpeg|"<br>+ "Формат TIFF (*.tif)|*.tif|"<br>+ "Формат GIF (*.gif)|*.gif|"<br>+ "Формат PNG (*.png)|*.png|"<br>+ "Формат icon (*.ico)|*.ico|"<br>+ "Формат метафайл (*.wmf;*.emf)|*.wmf;*.emf|"; // картинки<br><br>Если Диалог.Выбрать() Тогда<br> ВыбранноеФото = Новый Картинка(Диалог.ПолноеИмяФайла,Ложь);<br> ЭлементыФормы.ПолеИзображения.Картинка = ВыбранноеФото;<br>Иначе<br> Отказ = Истина;<br> Возврат;<br>КонецЕсли;<br><br>Картинка отображается но после записи не сохраняется,может кто подскажет что делать?"
10.03.2010
10:16
#2
Не знаю как в 8.2, а в 8.1 было 2 варианта:<br>1. Двинуть картинку в папку на сервер и дать её уникальное имя. Путь сохранить в справочнике и выводить использую эти данные.<br>2. Через ПолучитьДвоичныеДанные и ХранилищеЗначения сохранить в реквизит справочника. Для вывода использовать обратную процедуру

10.03.2010
11:43
#3
А если этих картинок будет много то как быть?Возможен такой вариант как в семерке,сейчас точно не помню как пишется но что-то вроде так(каталогИБ\*.jpeg\+код+)!
10.03.2010
14:33
#4
Вопрос не ясен.<br>Картинку вы уже выбрали. Проблема была в том, что она не сохраняется. Как сохранить - я написал. А что вы пытались сказать - не ясно.
10.03.2010
15:06
#5
Допустим,я выбираю из справочника уже сохраненную модель телефона а в ПолеКартинка появится не та картинка что я сохранил, как конфа будет выбирать именно эту картинку? ведь при сохранении справочника сохраняется код,наименование и родитель!
10.03.2010
16:18
#6
> Допустим,я выбираю из справочника уже сохраненную модель телефона а в ПолеКартинка появится не та картинка что я сохранил, как конфа будет выбирать именно эту картинку? <br>По пути из реквизита или из реквизита восстановив из Хранилища<br>> ведь при сохранении справочника сохраняется код,наименование и родитель!<br>А реквизиты по вашему не сохраняются???<br>
11.03.2010
09:33
#7
"ерем РаботаСФайлами;<br> Процедура ОсновноеИзображениеНажатие(Элемент)<br> // Вставить содержимое обработчика.<br> Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);<br>Диалог.Заголовок = "Выберите файл с фотографией";<br>Диалог.ПолноеИмяФайла = """";<br>Диалог.ПредварительныйПросмотр = Истина;<br>Диалог.Фильтр = <br>"Все картинки (*.bmp;*.dib;*.rle;*.jpg;*.jpeg;*.tif;*.gif;*.png;*.ico;*.wmf;*.emf)|*.bmp;*.dib;*.rle;*.jpg;*.jpeg;*.tif;*.gif;*.png;*.ico;*.wmf;*.emf|" <br>+ "Формат bmp (*.bmp;*.dib;*.rle)|*.bmp;*.dib;*.rle|"<br>+ "Формат JPEG (*.jpg;*.jpeg)|*.jpg;*.jpeg|"<br>+ "Формат TIFF (*.tif)|*.tif|"<br>+ "Формат GIF (*.gif)|*.gif|"<br>+ "Формат PNG (*.png)|*.png|"<br>+ "Формат icon (*.ico)|*.ico|"<br>+ "Формат метафайл (*.wmf;*.emf)|*.wmf;*.emf|"; // картинки<br><br>Если Диалог.Выбрать() Тогда<br> ВыбранноеФото = Новый Картинка(Диалог.ПолноеИмяФайла,Ложь);<br> ЭлементыФормы.ОсновноеИзображение.Картинка = ВыбранноеФото;<br>Иначе<br> Отказ = Истина;<br> Возврат;<br>КонецЕсли;<br><br><br><br>Хранилище = Новый ХранилищеЗначения(ОсновноеИзображение);<br><br>// сохранение значения типа ХранилищеЗначения в базе данных<br>НовНоменклатура = Справочники.Модель.СоздатьЭлемент();<br>НовНоменклатура.Наименование = "Диван """"Маргарита""""";<br>// реквизит Изображение имеет тип ХранилищеЗначения<br>НовНоменклатура.ОсновноеИзображение = ОсновноеИзображение;<br>НовНоменклатура.Записать();<br>// выгрузка значения типа ДвоичныеДанные из хранилища значений в файл <br>ИмяФайла = "C:\Мои документы\Картинка2.bmp";<br>НовНоменклатура.ОсновноеИзображение.Получить().Записать(ИмяФайла);<br><br>КонецПроцедуры<br><br><br>Как из всего это вызвать картинку в поле изображения я не знаю или делаю что-то не то подскажите уже задолбало"
11.03.2010
10:52
#8
"{Справочник.Модель.Форма.ФормаЭлемента(29)}: Значение не является значением объектного типа (Изображение)<br> Картинка = РегистрСведенийМенеджерЗаписи.Изображение.Получить();<br>Как это понять?"
11.03.2010
12:20
#9
"Выбор картинки оставляем как есть, а вот дальше:<br>> <br>> Хранилище = Новый ХранилищеЗначения(ОсновноеИзображение);<br>Интересный вопрос, а что такое у вас "ОсновноеИзображение"? На форме лежит ПолеКартинка, данных у неё нет, и где определяется "ОсновноеИзображение" не ясно. Я написал так:<br>Хранилище = Новый ХранилищеЗначения(ЭлементыФормы.ОсновноеИзображение.Картинка.ПолучитьДвоичныеДанные());<br>> <br>> // сохранение значения типа ХранилищеЗначения в базе данных<br>> НовНоменклатура = Справочники.Модель.СоздатьЭлемент();<br>> НовНоменклатура.Наименование = "Диван """"Маргарита""""";<br>> // реквизит Изображение имеет тип ХранилищеЗначения<br>Это оставим, а дальше - не верно:<br>> НовНоменклатура.ОсновноеИзображение = ОсновноеИзображение;<br>Должно бы быть так: <br>НовНоменклатура.ОсновноеИзображение = Хранилище;<br>> НовНоменклатура.Записать();<br><br>Зачем следующее - мне не понятно.<br>> // выгрузка значения типа ДвоичныеДанные из хранилища значений в файл <br>> ИмяФайла = "C:\Мои документы\Картинка2.bmp";<br>> НовНоменклатура.ОсновноеИзображение.Получить().Записать(ИмяФайла);<br>> <br><br>> КонецПроцедуры<br><br>Итак - Сохранение сделано. Теперь восстановление: (предположим на форме лежит ПолеКартинки1):<br><br>Процедура ПоказатьКартинку (пНоменклатура)<br> Если ТипЗнч(пНоменклатура.ОсновноеИзображение) = Тип("ХранилищеЗначения") Тогда<br> ЭлементыФормы.ПолеКартинки1.Картинка = Новый Картинка (пНоменклатура.ОсновноеИзображение.Получить());<br> КонецЕсли;<br>КонецПроцедуры<br><br>Все. При этом картинка храниться в базе.<br><br>з.ы. Все это на 8.1, учитывая следующее сообщение, возможно что-то надо переделать под 8.2 (может нет у него типа Картинка, а теперь тип Изображение и тогда надо смотреть его свойства, конструкторы, методы)"
Читают тему
(гостей: 1)