Фото товара в СКД

1. Artem1995amyr 28.04.18 08:57 Сейчас в теме
Всем привет, я думаю объяснять суть нет смысла и так я думаю все понятно
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
	СтандартнаяОбработка = Ложь;
	
	НастройкиКомпоновки = КомпоновщикНастроек.ПолучитьНастройки();
	
	КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
	МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, НастройкиКомпоновки, ДанныеРасшифровки);
	
	ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
	ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки);
	
	ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
	ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
	ПроцессорВывода.Вывести(ПроцессорКомпоновки);
	
	КоличествоСтрок = ДокументРезультат.ВысотаТаблицы;
	КоличествоКолонок = ДокументРезультат.ШиринаТаблицы;
	
	Для СтрокаДокумента = 1 По КоличествоСтрок Цикл
		
		Для КолонкаДокумента = 1  По КоличествоКолонок Цикл
			
			Область = ДокументРезультат.Область(СтрокаДокумента, КолонкаДокумента);
			Расшифровка = Область.Расшифровка;
			Если ТипЗнч(Расшифровка) = Тип("ИдентификаторРасшифровкиКомпоновкиДанных") Тогда
				
				ПоляРасшифровки = ДанныеРасшифровки.Элементы.Получить(Расшифровка).ПолучитьПоля();
				НайденоеПоле = ПоляРасшифровки.Найти("Картинка");
				Если НЕ НайденоеПоле = Неопределено Тогда
				ХранимыйФайл = НайденоеПоле.Значение;	
				Если ТипЗнч(ХранимыйФайл) = Тип("СправочникСсылка.ХранилищеДополнительнойИнформации") И ЗначениеЗаполнено(ХранимыйФайл)	Тогда
					
					Картинка = Новый Картинка(ХранимыйФайл.Хранилище.Получить());
					КартинкаВДокументе = ДокументРезультат.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
					КартинкаВДокументе.Картинка = Картинка;
					КартинкаВДокументе.РазмерКартинки = РазмерКартинки.Пропорционально;
					КартинкаВДокументе.Расположить(Область);
						
				 КонецЕсли;
				 	 
				КонецЕсли;
				
			КонецЕсли;
			
		КонецЦикла;
		
	КонецЦикла;
	
КонецПроцедуры
Показать
+
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Artem1995amyr 28.04.18 08:58 Сейчас в теме
(1) Ругается на
Картинка = Новый Картинка(ХранимыйФайл.Хранилище.Получить());
+
3. Artem1995amyr 28.04.18 08:59 Сейчас в теме
(1) {Отчет.ПрайсСКартинками.МодульОбъекта(34)}: Ошибка при вызове конструктора (Картинка)
Картинка = Новый Картинка(ХранимыйФайл.Хранилище.Получить());
по причине:
Несоответствие типов (параметр номер '1')
+
4. Rokky78 40 28.04.18 11:49 Сейчас в теме
В вашей конфигурации в справочнике "ХранилищеДополнительнойИнформации" реквизит "Хранилище" имеет тип "ХранилищеЗначения" ?
+
5. Artem1995amyr 03.05.18 03:29 Сейчас в теме
6. Artem1995amyr 03.05.18 03:34 Сейчас в теме
Вот
Прикрепленные файлы:
+
7. Artem1995amyr 03.05.18 09:22 Сейчас в теме
8. tata_1211 63 03.05.18 12:20 Сейчас в теме
9. Rokky78 40 03.05.18 14:09 Сейчас в теме
(7)Проверил отчет ( с которого взят дословно ваш пример :) ) в работе на 8.1 (я так понял, что нужно на этой платформе) - работает.
Еще пара вопросов (навеяны описанием из синтакс-помощника):
1. Что возвращает параметр конструктора ХранимыйФайл.ДанныеФайла.Получить() ?
2. Режим работы предприятия не веб клиент ?
+
10. Artem1995amyr 04.05.18 02:20 Сейчас в теме
(9)
Прикрепленные файлы:
+
12. Rokky78 40 04.05.18 08:33 Сейчас в теме
(10) Потому и ошибка. В СП читаем , что картинка (объект) создается на основании файла или двоичных данных.

--------------------------------------------------------------------------------
Картинка (Picture)
На основании файла
Синтаксис:

Новый Картинка(<ИмяФайла>, <ПрозрачныйФон>)
Параметры:

<ИмяФайла> (обязательный)

Тип: Строка.
Имя файла, из которого будет загружена картинка.
<ПрозрачныйФон> (необязательный)

Тип: Булево.
Определяет, будет ли картинка иметь прозрачные области.
Используется только для картинок, формат которой не поддерживает прозрачности.
За цвет фона принимается цвет последнего пикселя (правый - нижний).
Значение по умолчанию: Ложь.
Описание:

Создает объект и загружает картинку из указанного файла картинки.
В режиме запуска "Веб-клиент" конструктор не используется.
Пример:

Картинка = Новый Картинка("C:\My Documents\My Pictures\home.gif");

--------------------------------------------------------------------------------

Картинка (Picture)
Формирование из двоичных данных
Синтаксис:

Новый Картинка(<ДвоичныеДанные>, <ПрозрачныйФон>)
Параметры:

<ДвоичныеДанные> (обязательный)

Тип: ДвоичныеДанные.
Двоичные данные изображения, из которого будет сформирован объект Картинка.
<ПрозрачныйФон> (необязательный)

Тип: Булево.
Определяет, будет ли использован цвет прозрачности при создании картинки.
Используется только для картинок, формат которой не поддерживает прозрачности.
За цвет прозрачности принимается цвет последнего пикселя (правый - нижний).
Значение по умолчанию: Ложь.
Описание:

Создает картинку из двоичных данных.
В режиме запуска "Веб-клиент" конструктор не используется.
Прикрепленные файлы:
+
13. Artem1995amyr 04.05.18 10:04 Сейчас в теме
(12) Чет не дошло до меня (Не судите строго:))
+
14. Rokky78 40 04.05.18 13:08 Сейчас в теме
(13) Тип параметра передаваемого конструктору должен быть либо двоичные данные, либо файл. В вашем отчете этот параметр вычисляется строкой кода

ХранимыйФайл.ДанныеФайла.Получить() 


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

P.S. Этот отчет был написан в ходе курса по СКД 2016 (Курсы по 1С.РФ). Он показывался на конфигурации "Демонстрационная конфигурация "Управляемое приложение"", Скачайте ее и посмотрите чем заполнен справочник "Хранимые файлы" и его реквизит "ДанныеФайла".
+
11. Artem1995amyr 04.05.18 02:23 Сейчас в теме
(9)
Режим работы предприятия не веб клиент

Толстый клиент.
+
Внимание! Тема сдана в архив

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