Имя: Пароль:
1C
1С v8
Получить картинку из ХранилищаЗначений и вывести в СКД, в проц. -"ПриКомпоновкеРезультата"
0 SkillUp
 
09.11.18
12:04
В отчете -"ПрайсЛист", в процедуру "ПриКомпоновкеРезультата", пишу код чтоб вывести картинку из хранилища.

Последовательно, прохожу по всем ячейкам табличного документа и вывожу вместо ХранилицеЗначения соответствующую картинку.При выводе отчета, выводит пустые картинки... Благодарность за подсказку...

Для ТекущаяСтрока = 1 По ДокументРезультат.ВысотаТаблицы Цикл

        Для ТекущаяКолонка = 1 По ДокументРезультат.ШиринаТаблицы Цикл

            ТекущаяОбласть = ДокументРезультат.Область(ТекущаяСтрока, ТекущаяКолонка);
            ТекущаяРасшифровка = ТекущаяОбласть.Расшифровка;

            Если ТипЗнч(ТекущаяРасшифровка) = Тип("ИдентификаторРасшифровкиКомпоновкиДанных") Тогда

                ПоляРасшифровки = ДанныеРасшифровки.Элементы.Получить(ТекущаяРасшифровка).ПолучитьПоля();
                ПолеКартинки = ПоляРасшифровки.Найти("Картинка");

                Если ТипЗнч(ПолеКартинки) = Тип("ЗначениеПоляРасшифровкиКомпоновкиДанных") Тогда

                    ФайлКартинки = ПолеКартинки.Значение;

                    Если ТипЗнч(ФайлКартинки) = Тип("ХранилищеЗначения") Тогда

                        КартинкаВДокументе = ДокументРезультат.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
                        КартинкаВДокументе.Картинка = Новый Картинка(ФайлКартинки.Получить());
                        КартинкаВДокументе.РазмерКартинки = РазмерКартинки.Пропорционально;
                        КартинкаВДокументе.Расположить(ТекущаяОбласть);

                    КонецЕсли;

                КонецЕсли;

            КонецЕсли;

        КонецЦикла;

    КонецЦикла;
1 SkillUp
 
09.11.18
12:07
Скорей всего, где-то тут не правильно:

ФайлКартинки = ПолеКартинки.Значение;

                    Если ТипЗнч(ФайлКартинки) = Тип("ХранилищеЗначения") Тогда

                        КартинкаВДокументе = ДокументРезультат.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
                        КартинкаВДокументе.Картинка = Новый Картинка(ФайлКартинки.Получить());
                        КартинкаВДокументе.РазмерКартинки = РазмерКартинки.Пропорционально;
                        КартинкаВДокументе.Расположить(ТекущаяОбласть);

                    КонецЕсли;
2 Вафель
 
09.11.18
12:08
а в отладчике какой тип у ФайлКартинки ?
3 Вафель
 
09.11.18
12:09
а картинки точно не в томах хранятся?
4 SkillUp
 
09.11.18
12:09
(2) ХранилищеЗнач
5 SkillUp
 
09.11.18
12:13
(3) не, не в томах.
6 ad82117
 
22.11.18
12:45
(5) получилось?
сам бьюсь
никак картинка не выводится.

КартинкаВДокументе.Картинка = Новый Картинка(ФайлКартинки.ФайлХранилеще.Получить());
7 Aggressor
 
22.11.18
13:49
Есть такой вариант получения картинки

&НаКлиенте
Процедура ТоварыПриАктивизацииСтроки(Элемент)
     ЭтаФорма.Фото = ПолучитьНавигационнуюСсылку(ЭтаФорма.Элементы.Товары.ТекущиеДанные.Номенклатура.ОсновноеИзображение, "Хранилище");
КонецПроцедуры
8 ad82117
 
22.11.18
13:55
(7) у меня был рабочий вариант через навигационную ссылку, где принцип такой же по ячейкам ползать и заполнять, думал проще сделать
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс