Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Вывод изображения в Отчете. Подкажите, что не так?

Вывод изображения в Отчете. Подкажите, что не так?
Я
   nihi1ist
 
15.12.18 - 13:41
Хочу вывести изображения номенклатуры и штрихкоды в отчете. Если с выводом ШК проблем нет, то с выводом изображений трудности. Пытаюсь адаптировать под себя урок:
https://курсы-по-1с.рф/news/2016-05-05-skd-free-video/

В уроке показано на примере Демо конфигурации которая идет с платформой. Я пытаюсь адаптировать под Розницу 2 со справочником НоменклатураПрисоединенныеФайлы.

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
    
    СтандартнаяОбработка = Ложь;
    
    НастройкиКомпоновки = КомпоновщикНастроек.ПолучитьНастройки();
    
    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
    МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных,НастройкиКомпоновки,ДанныеРасшифровки);
    
    ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновки.Инициализировать(МакетКомпоновки,,ДанныеРасшифровки);
    
    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
    ПроцессорВывода.Вывести(ПроцессорКомпоновки);
    
    КоличествоСтрок = ДокументРезультат.ВысотаТаблицы;
    КоличествоКолонок = ДокументРезультат.ШиринаТаблицы;
    
    Для СтрокаДокумента = 1 По КоличествоСтрок Цикл
        Для КолонкаДокумента = 1 По КоличествоКолонок Цикл
            Область = ДокументРезультат.Область(СтрокаДокумента,КолонкаДокумента);
            Расшифровка = Область.Расшифровка;
            Если ТипЗнч(Расшифровка) = Тип("ИдентификаторРасшифровкиКомпоновкиДанных") Тогда
                ПоляРасшифровки = ДанныеРасшифровки.Элементы.Получить(Расшифровка).ПолучитьПоля();
                НайденноеПоле = ПоляРасшифровки.Найти("Изображение");
                Если Не НайденноеПоле = Неопределено Тогда
                    ХранимыйФайл = НайденноеПоле.Значение;
                    Если ТипЗнч(ХранимыйФайл) = Тип("СправочникСсылка.НоменклатураПрисоединенныеФайлы") И ЗначениеЗаполнено(ХранимыйФайл) Тогда
                        УстановитьПривилегированныйРежим(Истина);
                        Если ХранимыйФайл.ТипХраненияФайла = Перечисления.ТипыХраненияФайлов.ВИнформационнойБазе Тогда
                            СтуктураРег = РегистрыСведений.ПрисоединенныеФайлы.Получить(Новый Структура("ПрисоединенныйФайл", ХранимыйФайл));
                            ДанныеИзображения = СтуктураРег.ХранимыйФайл.Получить();
                        Иначе
                            ДанныеИзображения = ?(ЗначениеЗаполнено(ХранимыйФайл.Том.ПолныйПутьWindows), ХранимыйФайл.Том.ПолныйПутьWindows, ХранимыйФайл.Том.ПолныйПутьLinux)
                            + ХранимыйФайл.ПутьКФайлу;
                        КонецЕсли;
                        УстановитьПривилегированныйРежим(Ложь);
                        
                        ИзображениеВДок = ДокументРезультат.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
                        ИзображениеВДок.Картинка = ДанныеИзображения;
                        ИзображениеВДок.РазмерКартинки = РазмерКартинки.Пропорционально;
                        ИзображениеВДок.Расположить(Область);
                    КонецЕсли;
                КонецЕсли;
            КонецЕсли;
        КонецЦикла;
    КонецЦикла;
    
    ОбщегоНазначенияРТ.ВывестиДатуФормированияОтчета(ДокументРезультат);
    
КонецПроцедуры


Но что я видимо делаю не так. Получаю ошибку:
"Несоответствие типов".
 
 
   nihi1ist
 
1 - 15.12.18 - 13:52
   RomanYS
 
2 - 15.12.18 - 13:56
(1) отладчик включать умеешь, посмотри что в ДанныеИзображения и подумай как из этого получить картинку
   nihi1ist
 
3 - 15.12.18 - 14:51
(2) Да, спасибо за подсказку. Сделал так:
ИзображениеДВ = Новый Картинка(ДанныеИзображения);

И снова та же ошибка:
"Несоответствие типов".

Данные есть:
https://s.mail.ru/L42o/kZYDbrG7R

Где ошибка непонятно.
   nihi1ist
 
4 - 15.12.18 - 15:12
Данные в картинке вроде есть:

https://s.mail.ru/FKDo/pKECdRiUD
   МимохожийОднако
 
5 - 15.12.18 - 15:16
ТипЗнч(ДанныеИзображения) что показывает?
   RomanYS
 
6 - 15.12.18 - 15:20
(3) в какой строке ошибка?
   nihi1ist
 
7 - 15.12.18 - 15:21
   RomanYS
 
8 - 15.12.18 - 15:29
(7) это зачем
в (6) другой вопрос
ответ на (5) виден в (4)
   nihi1ist
 
9 - 15.12.18 - 15:34
> ответ на (5) виден в (4)

Можно прямым текстом, для особо одаренных?
   nihi1ist
 
10 - 15.12.18 - 15:40
 
 Рекламное место пустует
   RomanYS
 
11 - 15.12.18 - 15:42
(10) включи отладчик и выполни построчно
(9) в ДанныеИзображения двоичные данные
   GANR
 
12 - 15.12.18 - 16:58
(0) Откажись от этой затеи - будет куча геморроя, а в результате не пойми что.
   nihi1ist
 
13 - 15.12.18 - 17:00
Вот на этом коде отладчик уже не останавливается.
ИзображениеВДок = ДокументРезультат.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
                        ИзображениеВДок.Картинка = ИзображениеДВ;
                        ИзображениеВДок.РазмерКартинки = РазмерКартинки.Пропорционально;
                        ИзображениеВДок.Расположить(Область);

   GANR
 
14 - 15.12.18 - 17:01
А нельзя ли выводить эту картинку не в сам отчет, а в окошко рядом при наведении курсора на ячейку?
   GANR
 
15 - 15.12.18 - 17:05
+(14) Плюс ведь картинки можно показывать при наведении курсора на элемент в динамическом списке
   nihi1ist
 
16 - 15.12.18 - 17:09
(15) неудобно.
   Мигрень
 
17 - 17.12.18 - 09:52
(0) Вот, разбирался вчера как вывести картинки в прайсе в новых релизах УТ. Они там опять все переделали :)

http://catalog.mista.ru/public/964360/
   nihi1ist
 
18 - 21.12.18 - 14:38
МО-ДЕ-РА-ТОР!!!

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует