Имя: Пароль:
1C
1С v8
Как получить из строки картинку и отобразить в табличном документе?
0 andrey i1c
 
15.08.20
19:22
В реквизите на форме с типом данных строка содержится строка e1cib/data/Справочник.Картинки.Файл?ref=81d31cb72cb0989711eabbe2ad225357
как получить из этой строки картинку и отобразить в табличном документе?
1 antgrom
 
15.08.20
19:59
Если ты не против - переименую ветку более информативно.
2 antgrom
 
15.08.20
20:01
(0) Не пробовал посмотреть в типовых, например в типовой УТ.
В карточке номенклатуры показывается фото с самой номенклатурой
3 CepeLLlka
 
15.08.20
20:11
(0)Если я не ошибаюсь, то тебе нужно сначала получить ссылку элемент справочника "Картинки", через навигационную ссылку..

Вот так

Функция ПолучитьСсылкуИзНавигационной(ТвояНавигационнаяСсылка)
    
    ПерваяТочка = Найти(НС, "e1cib/data/");
    ВтораяТочка = Найти(НС, "?ref=");
    
    ПредставлениеТипа   = Сред(НС, ПерваяТочка + 11, ВтораяТочка - ПерваяТочка - 11);
    ШаблонЗначения = ЗначениеВСтрокуВнутр(ПредопределенноеЗначение(ПредставлениеТипа + ".ПустаяСсылка"));
    ЗначениеСсылки = СтрЗаменить(ШаблонЗначения, "00000000000000000000000000000000", Сред(НС, ВтораяТочка + 5));
    Ссылка = ЗначениеИзСтрокиВнутр(ЗначениеСсылки);
    
КонецФункции  


Затем уже получить двоичные данные из хранилища значения которые будет доступен по полученной "ссылке"

СсылкаНаКартинку = ПолучитьСсылкуИзНавигационной(ТвояНавигационнаяСсылка);
Изображение = новый Картинка();
Изображение = СсылкаНаКартинку.Файл.Получить();

Ну и вывести её в макет

ТабДок = Новый ТабличныйДокумент;
Макет = ОбработкаОбъект.ПолучитьМакет("Макет");
      
ОбластьКартинки = Макет.ПолучитьОбласть("ОбластьСКартинкой");
ОбластьКартинки.Рисунки.Логотип.Картинка = Изображение;
4 CepeLLlka
 
15.08.20
20:17
(3)Тут ошибка - "Функция ПолучитьСсылкуИзНавигационной(ТвояНавигационнаяСсылка)" заменить на "Функция ПолучитьСсылкуИзНавигационной(НС)"

И перед КонецФункции нужно вставить "Возврат Ссылка;"
5 andrey i1c
 
15.08.20
20:42
(4) а в табличном документе Картинку как параметр в области обозначать?
6 andrey i1c
 
15.08.20
20:43
(5) в макете
7 CepeLLlka
 
15.08.20
20:47
(6)Неее.. нужно создать элемент - "Рисунок" и поместить его в область
8 CepeLLlka
 
15.08.20
20:48
(6)Если есть возможность, подгляди в макете счета на оплату, там должна быть область с каринкой-логотипом..
9 CepeLLlka
 
15.08.20
20:51
(6)Вот тут можно подсмотреть..

https://www.youtube.com/watch?v=-OUsY0kpsfc
10 andrey i1c
 
15.08.20
21:17
https://infofront.su/1c-vstavit-risunok-v-maket-pechatnoi-formi/
вот так сделал, напрямую открывал картинку с локального диска.
Спасибо)
11 CepeLLlka
 
15.08.20
21:32
(10)А как же (0)?
12 andrey i1c
 
16.08.20
09:56
(11) Не получилось преобразовать строку...а так как есть оригиналы картинок, то как вариант загружал напрямую
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс