|
СКД вывести прайс с картинками | ☑ | ||
---|---|---|---|---|
0
Roma1314704
26.01.18
✎
13:43
|
Столкнулся с проблемой как вывести изображения товара в прайсе на основании СКД
Изображение в карточке товара есть. При выводе через СКД - в поле Изображение - <> Как правильно? |
|||
1
Roma1314704
26.01.18
✎
13:46
|
платформа - 8.3
|
|||
2
kittystark
26.01.18
✎
14:31
|
просто так без дополнительного программирования не получится, на курсы-по-1с.рф было бесплатное видео - ищи
|
|||
3
Ненавижу 1С
гуру
26.01.18
✎
14:34
|
Перем ВторойЗаход;
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) Если ВторойЗаход Тогда Возврат; КонецЕсли; ВторойЗаход = Истина; СтандартнаяОбработка = Ложь; Попытка СкомпоноватьРезультат(ДокументРезультат,ДанныеРасшифровки); Исключение ВторойЗаход = Ложь; Возврат; КонецПопытки; ВторойЗаход = Ложь; Состояние("Вывод картинок на экран..."); ... КонецПроцедуры ВторойЗаход = Ложь; |
|||
4
kittystark
26.01.18
✎
14:46
|
(3) эээ....
это чё? прикол? сам в СКД наваял пачку отчетов с картинками, но такой методы не видел :) |
|||
5
Ненавижу 1С
гуру
26.01.18
✎
14:54
|
(4) сам придумал в свое время
|
|||
6
Roma1314704
28.01.18
✎
15:50
|
kittystark, спасибо, действительно по Вашей ссылке удалось прикрутить к прайсу изображение.
Теперь возникла другая проблема - размер картинки держит высота строки товара табличного документа. Даже когда меняю свойство РазмерКартинки на Авто все равно высота строки табличного документа не дает развернуть изображение на всю высоту. Что делаю не так? |
|||
7
mexanik_96
28.01.18
✎
15:58
|
(6) дак включи автовысоту строк у строки
|
|||
8
Roma1314704
28.01.18
✎
16:46
|
Где включить ? Отчет создается через СКД
|
|||
9
Roma1314704
28.01.18
✎
16:54
|
Если речь идёт о макете в скд то там стоит галочка автоматическая высота строки. Походу это немного не то
|
|||
10
Roma1314704
28.01.18
✎
18:02
|
Есть мысли что нужно поменять?
|
|||
11
kittystark
29.01.18
✎
08:56
|
если автовысота не срабатывает:
возьми картинку высотой 100px без СКД в любом табличном документе вставь эту картинку и замерь сколько "попугаев" высоты табличного документа она занимает -> откуда получишь эмпирический коэфф.перевода в СКД перед тем как выполнять областьДляКартинки.Расположить(); вычисляешь высоту изображения в px (через ком-объект винды), переводишь ее по коэфф. и присваиваешь полученное значение высоте строки в попугаях |
|||
12
echo77
29.01.18
✎
09:07
|
В свое время писал(где-то взял) процедуру постробработки табличного документа:
// Моя вставка Крынецкий 07.05.16. Вывод картинок, расположенных в поле с типом СправочникСсылка.ХранилищеДополнительнойИнформации Процедура ВывестиКартинкиСКД(ДокументРезультат, ДанныеРасшифровки) If 1=0 Тогда ДокументРезультат = Новый ТабличныйДокумент; КонецЕсли; Для Row = 1 По ДокументРезультат.ВысотаТаблицы Цикл Для Col = 1 По ДокументРезультат.ШиринаТаблицы Цикл Область = ДокументРезультат.Область(Row, Col); Расшифровка = Область.Расшифровка; Если ТипЗнч(Расшифровка) = Тип("ИдентификаторРасшифровкиКомпоновкиДанных") Тогда ПоляРасшифровки = ДанныеРасшифровки.Элементы.Получить(Расшифровка).ПолучитьПоля(); Картинка = Неопределено; Для Каждого ПолеРасшифровки Из ПоляРасшифровки Цикл Если ТипЗнч(ПолеРасшифровки.Значение) = Тип("СправочникСсылка.ХранилищеДополнительнойИнформации") И ЗначениеЗаполнено(ПолеРасшифровки.Значение) Тогда ЗначениеИзХранилища = ПолеРасшифровки.Значение.Хранилище.Получить();// В хранилище может храниться как картинка, так и двоичные данные Если ТипЗнч(ЗначениеИзХранилища) = Тип("Картинка") Тогда Картинка = ЗначениеИзХранилища; ИначеЕсли ТипЗнч(ЗначениеИзХранилища) = Тип("ДвоичныеДанные") Тогда Картинка = Новый Картинка(ЗначениеИзХранилища); КонецЕсли; Прервать;// Как только нашли первую картинку - прекращаем КонецЕсли; КонецЦикла; Если Картинка <> Неопределено Тогда Рис = ДокументРезультат.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка); Рис.Картинка = Картинка; // Здесь задается размер рисунка Рис.РазмерКартинки = РазмерКартинки.Пропорционально; // Уберем рамку Рис.ГраницаСверху = Ложь; Рис.ГраницаСлева = Ложь; Рис.ГраницаСнизу = Ложь; Рис.ГраницаСправа = Ложь; Рис.Расположить(Область); КонецЕсли; КонецЕсли; КонецЦикла; КонецЦикла; КонецПроцедуры // Конец моей вставки |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |