Для примера делаю запрос к остаткам и выбираю реквизит "ФайлКартинка" справочника Номенклатура.
У реквизита тип СправочникСсылка.НоменклатураПрисоединенныеФайлы (механизм БСП)
В предприятии у элемента справочника номенклатура добавлена картинка
В СКД поле "картинка" добавляю в группировку
В модуле отчета в Процедура ПриКомпоновкеРезультата
-программно формирую отчет и обрабатываю РасшифровкуКомпоновкиДанных.
-ищу в расшифровке поле с картинкой.
-получаю двоичные данные (я воспользовался фунцией БСП) РаботаСФайлами.ДвоичныеДанныеФайла(ФайлКартинки.Значение), если у вас не БСП, то просто получите из реквизита с типом ХранилищеЗначения двоичные данные.
-помещаю картину в табличный документ
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
НастройкиСКД = КомпоновщикНастроек.ПолучитьНастройки();
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
Макет = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, НастройкиСКД, ДанныеРасшифровки);
ПроцессорКомпоновкиСКД = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиСКД.Инициализировать(Макет,, ДанныеРасшифровки);
ДокументРезультат.Очистить();
ПроцессорВыводаСКД = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВыводаСКД.УстановитьДокумент(ДокументРезультат);
ПроцессорВыводаСКД.Вывести(ПроцессорКомпоновкиСКД);
КолвоСтрок = ДокументРезультат.ВысотаТаблицы;
КолвоКолонок = ДокументРезультат.ШиринаТаблицы;
Для Строка = 1 По КолвоСтрок Цикл
Для Колонка = 1 По КолвоКолонок Цикл
Область = ДокументРезультат.Область(Строка,Колонка);
Расшифровка = Область.Расшифровка;
Если ТипЗнч(Расшифровка) = Тип("ИдентификаторРасшифровкиКомпоновкиДанных") Тогда
ПоляРасшифровки = ДанныеРасшифровки.Элементы.Получить(Расшифровка).ПолучитьПоля();
ФайлКартинки = ПоляРасшифровки.Найти("Картинка");
Если ФайлКартинки <> Неопределено Тогда
КартинкаДД = РаботаСФайлами.ДвоичныеДанныеФайла(ФайлКартинки.Значение);
Картинка = Новый Картинка(КартинкаДД);
КартинкаДок = ДокументРезультат.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
КартинкаДок.Картинка = Картинка;
КартинкаДок.РазмерКартинки = РазмерКартинки.АвтоРазмер;
КартинкаДок.Расположить(Область);
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЦикла;
КонецПроцедуры
В результате получаю в группировке картинку.
Тестировал: 1С:Комплексная автоматизация 2 (2.4.9.98)
1С:Предприятие 8.3 (8.3.15.1747)
(0) Все проще начиная с 8.3.14 СКД уже сама может выводить картинки в Табличный документhttps://vk.com/neticompany?w=wall-73155890_4571
(1) Как быть если в БСП выбран тип хранения файлов не базе, а в томах на диске?
ФайлОбъект.ТипХраненияФайла В томах на диске ПеречислениеСсылка.ТипыХраненияФайлов
(0) молодец! разобрался и другим расписал.
(1) что за ссылка? где описание метода? где расшифровка вашей новости?
(2) Думаю, так же, как в вашем примере РаботаСФайлами.ДвоичныеДанныеФайла(). Так же можно написать в выражении вычисляемого поля?
(4) где доказательства? автор опробовал метод, представил ощутимый результат. а вы что представили? рекламу на фирму?
(3) Держите схему. Она простая, попробуйте
(1)Если б еще кто-то кинул пример как это делать.
Я пробовал согласно описанию, но то-то ничего не вышло.
(7) В (6) Схема-пример
(3) ссылка на контактик))) у кого не открывается
https://dl04.1c.ru/content/Platform/8_3_14_1779/1cv8upd_8_3_14_1779.htm#a06301e2-a9ff-11e8-a3f7-0050569f678a
Спасибо, полезный пример вывода картинки в отчёт.
(0) Есди никто не будет против, то добавлю сюда связанную ссылку.
Делал подобную публикацию про картинки в СКД (в шапке, в самом отчете и про новые возможности платформы):
Да приведенный метод работает —https://youtu.be/7a4pasFe7P4
— Но по опыту разгребания чужой базы скажу — на средних картинках и многочисленности отчетов выполнение срубается (режим совместимости 8.3.12). Вылет Регламентного задания с ошибкой обеспечен.
А если размер хранимой картинки будет 1800 на 1200 — перед выводом ее желательно уменьшить, иначе сохраняемый XLS может иметь очень большие размеры.
Начиная с 8.3.14 для этого есть объект ОбрабатываемаяКартинка
Как все технологично реализовано. Просто и наглядно.
Картинка в таблице СКД (управляемое приложение) на примере УТ11, простое решение «в лоб» или легкая модификация стандартного отчета Прайс-Лист
Прайс лист с картинками для УТ11 (УФ, добавление логотипа и свободных текстовых полей)
Прайс лист с картинками для УТ11 (логотип, картинки товаров, свободные текстовые поля в заголовке, остатки, отбор по остаткам, возможность «объединения одинаковых картинок»)
На всякий случай: в «доисторических» версиях 1С работает:
все «вручную»))
(14) все статьи хороши. Плюсы доставлены )
Обход потом всего табличного документа по всем его ячейкам занятие не хитрое, но представьте что в нем уйма строк и предостаточно колонок. Получение полей расшифровок по каждой ячейки отчета в данном случае съест уйму времени при его формировании.