Картинки товара типовых конфигурациях
Интересно как отобразить картинку номенклатуры в формах, например в РМК или подборе номенклатуры при формировании заказа, типо той которая в форме элемента номенклатуры. Теоретически понятно но что то не хочет. Можно кто подсказать подробнее как это делать.
Джабби Хамим
28 января 2021, 10:06
28 января 2021, 10:06
Джабби Хамим
28 января 2021, 10:06
28 января 2021, 10:06
В качестве выхода из положения предлагаю следующее решение:
1. В строках табличной части указываем удобную вам высоту ячейки;
2. При выводе картинки следующий код:
ДД = Новый ДвоичныеДанные(Элемент.ПолноеИмя); ДД = СжатьФайл(ДД); НовСтр.СсылкаНаКартинку = ПоместитьВоВременноеХранилище(ДД, УникальныйИдентификатор);
&НаСервереБезКонтекста Функция СжатьФайл(Данные) максШирина = 66; максВысота = 66; wiaFormatJPEG = "{B96B3CAE-0728-11D3-9D7B-0000F81EF32E}"; ИмяВременногоФайла = ПолучитьИмяВременногоФайла(); Данные.Записать(ИмяВременногоФайла); изо = новый COMОбъект("WIA.ImageFile"); изо.LoadFile(ИмяВременногоФайла); Если изо.FormatID <> wiaFormatJPEG Тогда //Конвертим в ЖПГ обработчик = новый COMОбъект("WIA.ImageProcess"); обработчик.Filters.Add(обработчик.FilterInfos("Convert").FilterID); обработчик.Filters(1).Properties("FormatID").Value = wiaFormatJPEG; изо = обработчик.Apply(изо); КонецЕсли; Если изо.Width > максШирина или изо.Height > максВысота тогда обработчик = новый COMОбъект("WIA.ImageProcess"); обработчик.Filters.Add(обработчик.FilterInfos("Scale").FilterID); обработчик.Filters(1).Properties("MaximumWidth").Value = максШирина; обработчик.Filters(1).Properties("MaximumHeight").Value = максВысота; изо = обработчик.Apply(изо); УдалитьФайлы(ИмяВременногоФайла); изо.SaveFile(ИмяВременногоФайла); изо = Неопределено; обработчик = Неопределено; ДД = Новый ДвоичныеДанные(ИмяВременногоФайла); Попытка УдалитьФайлы(ИмяВременногоФайла); Исключение КонецПопытки; Возврат ДД; Иначе изо = Неопределено; обработчик = Неопределено; Попытка УдалитьФайлы(ИмяВременногоФайла); Исключение КонецПопытки; Возврат Данные; КонецЕСли; КонецФункции
1. В строках табличной части указываем удобную вам высоту ячейки;
2. При выводе картинки следующий код:
ДД = Новый ДвоичныеДанные(Элемент.ПолноеИмя); ДД = СжатьФайл(ДД); НовСтр.СсылкаНаКартинку = ПоместитьВоВременноеХранилище(ДД, УникальныйИдентификатор);
&НаСервереБезКонтекста Функция СжатьФайл(Данные) максШирина = 66; максВысота = 66; wiaFormatJPEG = "{B96B3CAE-0728-11D3-9D7B-0000F81EF32E}"; ИмяВременногоФайла = ПолучитьИмяВременногоФайла(); Данные.Записать(ИмяВременногоФайла); изо = новый COMОбъект("WIA.ImageFile"); изо.LoadFile(ИмяВременногоФайла); Если изо.FormatID <> wiaFormatJPEG Тогда //Конвертим в ЖПГ обработчик = новый COMОбъект("WIA.ImageProcess"); обработчик.Filters.Add(обработчик.FilterInfos("Convert").FilterID); обработчик.Filters(1).Properties("FormatID").Value = wiaFormatJPEG; изо = обработчик.Apply(изо); КонецЕсли; Если изо.Width > максШирина или изо.Height > максВысота тогда обработчик = новый COMОбъект("WIA.ImageProcess"); обработчик.Filters.Add(обработчик.FilterInfos("Scale").FilterID); обработчик.Filters(1).Properties("MaximumWidth").Value = максШирина; обработчик.Filters(1).Properties("MaximumHeight").Value = максВысота; изо = обработчик.Apply(изо); УдалитьФайлы(ИмяВременногоФайла); изо.SaveFile(ИмяВременногоФайла); изо = Неопределено; обработчик = Неопределено; ДД = Новый ДвоичныеДанные(ИмяВременногоФайла); Попытка УдалитьФайлы(ИмяВременногоФайла); Исключение КонецПопытки; Возврат ДД; Иначе изо = Неопределено; обработчик = Неопределено; Попытка УдалитьФайлы(ИмяВременногоФайла); Исключение КонецПопытки; Возврат Данные; КонецЕСли; КонецФункции
Салих Делфенуров
24 апреля 2021, 12:34
24 апреля 2021, 12:34
Салих Делфенуров
24 апреля 2021, 12:34
24 апреля 2021, 12:34
Вот это вы куда предлагаете вставить для какой формы? Вообще хотел я через расширение добавить картинки в РМК.