• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Вывод Картинки На Форму

  • Автор темы Olgir
  • Дата начала
Статус
Закрыто для дальнейших ответов.
O

Olgir

Ситуация такая - в базе хранится картинка в виде ХранилищеЗначения. Мне нужно вывести ее на форму.

Как картинка попала в базу:

Код:
&НаКлиенте
Процедура ЗаписатьДанные()
МояКартинка = Новый Картинка(ПутьКФайлу);
ЗаписатьНаСервере(МояКартинка, Объект.Наименование);
КонецПроцедуры

&НаСервере
Процедура ЗаписатьНаСервере(МояКартинка, Наименование)
ХранилищеКартинки = Новый ХранилищеЗначения(МояКартинка);
НоваяКартинка = Справочники.Картинки.СоздатьЭлемент();
НоваяКартинка.Наименование = Наименование;
НоваяКартинка.Картинка = ХранилищеКартинки;
НоваяКартинка.Записать();
КонецПроцедуры;

Как я ее оттуда забираю:

Код:
&НаКлиенте
Процедура ШапкаОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка);
ШапкаКартинка = ВыбранноеЗначение.Картинка.Получить();
КонецПроцедуры

Где выбранное значение - элемент справочника с картинками, ВыбранноеЗначение.Картинка - реквизит типа ХранилищеЗначения, а ШапкаКартинка - элемнет формы типа Картинка.

После вышеуказанной процедуры ничего не происходит, поле ШапкаКартинка остается пустым. Пробовал делать так:
Код:
ИмяФайла = "C:\test.jpg";
ХранилищеКартинки = ВыбранноеЗначение.Картинка.Получить();
ХранилищеКартинки.Записать(ИмяФайла);
Картинка из базы при этом корректно записывается в test.jpg.

Если ставлю на элементе ШапкаКартинка галочку "Гиперссылка", при нажатии на него появляется нужная картинка в новом окне, но на форме в поле по прежнему пусто.

Что я делаю не так? Тапками не бросать - я новичек :). Поясните, пожалуйста, как правильно работать с картинками в базе?

Ах да, это управляемая форма.
 
D

Dzo

Прошу помощи. Похожая проблема. Торговля и Склад 7.7
Пытаюсь в стандартую обработку ПечатьПрайса добавить изображение.

врКод=ТекЭлем.Код;
врФайлКартинки=КаталогИБ()+"Изображения\"+ВрКод+".jpg";
Картина=СоздатьОбъект("Картинка");
Если ФС.СуществуетФайл(врФайлКартинки)=1 Тогда
Картина.Загрузить(врФайлКартинки);
КонецЕсли;
ИсхТабл.ПрисоединитьСекцию("Номенклатура|Картинка");

В секцию "Номенклатура | Картинка" добавляю картинку, через Таблица-ВставитьРисунок-Текст. И присваиваю ей идентификатор Картина.

В таблице выходит следующее

277db97ea51b.jpg


Соображений нет, как быть дальше.
Заранее благодарен!
 
D

Dzo

Так и не решил проблему. Ап. Спасибо.
 
D

Dzo

Перерыл весь инет, сделал по другому.

В таблицу вставил секцию Картинка, в нужную ячейку вставил "Таблица-Вставить Рисунок - Текст", в свойствах выбрал "выражение" прописал формулу Рисовать(ИсхТабл.ТекущийОбъект, Путькфайлу)

Создал функцию

Функция Рисовать(Куда, Откуда)
Куда.РежимРисования(3);
Куда.Загрузить(Откуда);
КонецФункции

В процедуре сформировать прописал путь к файлу

Путькфайлу=КаталогИБ()+"Изображения\00005317.jpg";

Специально прописал именно один файл, пусть хоть что-нибудь выведет.

И присаоединил секцию

ИсхТабл.ПрисоединитьСекцию("Номенклатура|Картинка");

Не работает. Где я свернул не туда?
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!