Добавление картинки на форму УФ 1с8

1. SantiouS 09.11.20 15:40 Сейчас в теме
Создал реквизит с типом данных картинка, а так же связанный с ним элемент "Поле картинки". В свойствах элемента "Поле картинки" в "Картинка значений" выбрал путь к файлу изображения и получил предупреждение о том, что 1с8 не рекомендует использовать абсолютные изображения (как понимаю, то необходимо, по правильному, использовать картинки из конфигурации). В итоге картинка по пути не отображается ни в конфигураторе, ни при запуске 1с8.
Попробовал выбрать картинку из библиотеки конфигурации 1с8 - аналогично. Как все теки отобразить картинку на форме? Ничего не пойму...
Пробовал написать команду выгрузки картинки из этого поля - картинка успешно выгружается. Только почему она не отображается? О_о

КартинкаИзФормы=Элементы.ИмяЭлемента.КартинкаЗначений;
КартинкаИзФормы.Записать("C:\Users\Admin.WIN\Desktop\Test\1.png");
По теме из базы знаний
Найденные решения
13. Pryanishnikov_Vladimir 19.11.20 17:11 Сейчас в теме
(12)

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
	АдресКартинки = ПоместитьВоВременноеХранилище(БиблиотекаКартинок.BCGВопросы.ПолучитьДвоичныеДанные());
	
КонецПроцедуры


В Вашем случае файл нужно перегнать в двоичные данные и поместить во временное хранилище, адресхранилища записать в данные поля с типом картинка см. скриншот
Прикрепленные файлы:
EvgeTrofi; myoker; SantiouS; +3 Ответить
15. Pryanishnikov_Vladimir 20.11.20 10:32 Сейчас в теме
(14)Да есть. В данном примере файл картинки лежит в макете формы, но суть таже кладем двоичные данные во временное хранилище.

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    
   АдресХранилищаЛого = ПоместитьВоВременноеХранилище(РеквизитФормыВЗначение("Объект").ПолучитьМакет("ЛогоОзон"), ЭтаФорма.УникальныйИдентификатор)
    
КонецПроцедуры

&НаКлиенте
Процедура ОтобразитьЛОГО()		
	
	Лого = ПолучитьИзВременногоХранилища(АдресХранилищаЛого);
	
	АдрессЛого = ПолучитьИмяВременногоФайла("png");
	
	Лого.Записать(АдрессЛого);
	
	ЛогоОзонХ = СтрШаблон("<!DO CTYPE html><ht ml><head></head><body><img src='%1'/img></body></html>", АдрессЛого);  
	
КонецПроцедуры
Показать
Прикрепленные файлы:
EvgeTrofi; SantiouS; +2 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Kongo2019 09.11.20 16:15 Сейчас в теме
4. SantiouS 09.11.20 16:58 Сейчас в теме
(2) Изучил, спасибо.
Здесь указано как из хранилища значений достать картинку и вывести ее в поле картинки. У меня же уже путь к изображению выбран в "Картинка значений", но изображения нет. Не пойму связи со статьей... Что я делаю не так?
3. klom 09.11.20 16:20 Сейчас в теме
5. SantiouS 09.11.20 17:01 Сейчас в теме
(3) В статье используется реквизит "Строка" и элемент "Поле картинки". В строку помещается путь к изображению и в результате в поле картинки отображаются данные.
Я вот создал реквизит не строковый, а сразу картинку и уже на основании него создал элемент "Поле картинки", где указал путь (в свойствах) к файлу, но результата - изображения нет. Где я не прав?
6. SlavaKron 09.11.20 17:13 Сейчас в теме
Создайте элемент формы "Декорация - Картинка". Реквизит формы не нужен.
7. SantiouS 09.11.20 17:27 Сейчас в теме
(6) Спасибо! А для чего вообще нужен реквизит формы с типом "Картинка"?
8. SlavaKron 09.11.20 17:30 Сейчас в теме
(7) В своё время тоже задавался этим вопросом. Точнее, больше меня удивляло почему на форму нельзя вывести реквизит типа Картинка. В реквизитах формы оно может и нужно для определенных задач, когда не требуется ее отображение.
9. SantiouS 09.11.20 17:38 Сейчас в теме
(8) Понял, получается, можно использовать или декорацию, в которой в свойство "Картинка" указать путь к картинке, или реквизит формы типа "Строка", в который передать путь к картинке и связать с ним элемент формы "Поле картинки" - так тоже будет картинка. Верно я понимаю?
Накидали кучу вариантов и не понятно зачем это было сделано.
10. SlavaKron 10.11.20 08:33 Сейчас в теме
11. Pryanishnikov_Vladimir 10.11.20 09:21 Сейчас в теме
(9)1) Декорация с типом картинка - картинка только из конфигурации.
2) Реквизит с типом строка и адрес хранилища - картинка любая, но при обращении на сервер картинка пропадает
3) HTML поле с картинкой - картинка любая и не пропадает при серверных вызовах.
SantiouS; +1 Ответить
12. SantiouS 18.11.20 16:39 Сейчас в теме
(11) А как с помощью 2го метода (задать в реквизит путь к картинке) отобразить на форме картинку с общих картинок?
Картинку то я получил:
КартинкаКонф=БиблиотекаКартинок.ИмяКартинки;


Вот так пытался - не вышло.
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	ИмяФайла=ПолучитьИмяВременногоФайла(".jpg");
	БиблиотекаКартинок.Header.Записать(ИмяФайла);
	Реквизит1=ИмяФайла;
КонецПроцедуры



Реквизит1 - это строковый реквизит формы.
С ним связан элемент формы виды "Поле картинки".
Возможно в моей ситуации беда в "Сервере".... хм

Хотя с клиентом тоже как то не хочет работать :(
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)	
	РеквизитФормыКартинка=БиблиотекаКартинок.Header;
КонецПроцедуры

&НаКлиенте
Процедура ПриОткрытии(Отказ)
	ИмяФайла=ПолучитьИмяВременногоФайла(".jpg");
	РеквизитФормыКартинка.Записать(ИмяФайла);
	ПутьКартинки=ИмяФайла;
КонецПроцедуры
Показать
13. Pryanishnikov_Vladimir 19.11.20 17:11 Сейчас в теме
(12)

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
	АдресКартинки = ПоместитьВоВременноеХранилище(БиблиотекаКартинок.BCGВопросы.ПолучитьДвоичныеДанные());
	
КонецПроцедуры


В Вашем случае файл нужно перегнать в двоичные данные и поместить во временное хранилище, адресхранилища записать в данные поля с типом картинка см. скриншот
Прикрепленные файлы:
EvgeTrofi; myoker; SantiouS; +3 Ответить
14. SantiouS 20.11.20 09:57 Сейчас в теме
(13)
ПоместитьВоВременноеХранилище(БиблиотекаКартинок.BCGВопросы.ПолучитьДвоичныеДанные());


Спасибо, отлично работает!
Параллельно Вы решили другую мою тему.
Я добавлял до этого изображения в виде декорации, после чего выбирал в декорации картинку из библиотеки картинок, но в мобильном тонком клиенте картинки при таком методе почему то не отображаются, а вот при использовании метода с реквизитом, заполняемым двоичными данными, а также связанным с ним полем картинки - картинка отображается. Не совсем понимаю почему, но такова практика :)
У у Вас есть пример отображения картинки с помощью "HTML поля с картинкой"? Прочитал несколько тем, но не совсем ясно :)
15. Pryanishnikov_Vladimir 20.11.20 10:32 Сейчас в теме
(14)Да есть. В данном примере файл картинки лежит в макете формы, но суть таже кладем двоичные данные во временное хранилище.

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    
   АдресХранилищаЛого = ПоместитьВоВременноеХранилище(РеквизитФормыВЗначение("Объект").ПолучитьМакет("ЛогоОзон"), ЭтаФорма.УникальныйИдентификатор)
    
КонецПроцедуры

&НаКлиенте
Процедура ОтобразитьЛОГО()		
	
	Лого = ПолучитьИзВременногоХранилища(АдресХранилищаЛого);
	
	АдрессЛого = ПолучитьИмяВременногоФайла("png");
	
	Лого.Записать(АдрессЛого);
	
	ЛогоОзонХ = СтрШаблон("<!DO CTYPE html><ht ml><head></head><body><img src='%1'/img></body></html>", АдрессЛого);  
	
КонецПроцедуры
Показать
Прикрепленные файлы:
EvgeTrofi; SantiouS; +2 Ответить
16. Global__IT 342 13.05.21 00:53 Сейчас в теме
(15) Владимир вы искали решение для выгрузки товарных карточек на Озон https://infostart.ru/public/1437928/
17. Obertone 77 03.03.24 15:07 Сейчас в теме
Возможно, кому-то пригодится по пути картинки сразу её выводить на форму. Тут есть два варианта такого кода.

Картинка = Новый Картинка(ПутьККартинке);
АдресКартинки = ПоместитьВоВременноеХранилище(Картинка.ПолучитьДвоичныеДанные());

АдресКартинки = ПоместитьВоВременноеХранилище(Новый ДвоичныеДанные(ПутьККартинке));
18. umka2008 23 02.12.24 14:26 Сейчас в теме
(17) Спасибо мил человек, очень помогло!
Долго же я искал это решение! ))
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот