01.10.2019 Роман Барабанов 10990
Загрузка прайс-листа. Как изменить размер изо...

Содержание:

1. Внедрение системы унификации

2. Библиотека изображений в 1С  

 

1. Внедрение системы унификации


Загрузка прайс-листов или загрузка каталогов – это извечная проблема для программиста. Каждый такой прайс – это что-то новое. Огромное количество позиций или сложный состав. А как быть, если картинки лежат на хостинге? А что делать, если картинки лежат в папке рядом с экселькой, а дальнейшая загрузка прайса должна будет перекочевать на сайт, где заказчик старательно выбирал шаблон изображений с определенным соотношением сторон для изображений? На самом деле нас больше всего интересует момент, чтобы наши изображения не растягивали фрейм для отображения, да и вес имели не запредельный.


Предположим, что загрузка из 1СXLS у нас уже написана. Нужно внедрить систему унификации в наш код. Благо 1С умеет работать с 1С COM-объектами, а Windows предусмотрительно поставляет со своей системой библиотеку для работы с изображениями. 

 

2. Библиотека изображений в 1С


Библиотека называется ImageFile и ImageProcess, поставляется вместе с окнами начиная с Vista.

Предположим, нам необходимо иметь максимальную высоту фото – 480.

Для начала подключим наш 1С COM-объект вне цикла:

ImageFile = НовыйCOMОбъект("WIA.ImageFile"); //ImageFile

ImageProcess = НовыйCOMОбъект("WIA.ImageProcess"); //ImageProcess

//Создаем новый адрес папки, где будут храниться правильные картинки.

Папка = “/resize”;

Допустим, мы находимся на строке с локальным айпи-адресом к изображению, уже перенесли его в переменную «АдресКартинки», где «АдресКартинки» = “/img/1.jpg”.

ImageFile.LoadFile(АдресДоПапки + АдресКартинки);//АдресДоПапки = C://НаЗагрузку1С

Дальше будем считать и сравнивать:

//Все картинки больше 480 px в ширину мы будем уменьшать.

Если ImageFile.Height>480 Тогда

                        //Узнаем разность, на которую нужно уменьшить ширину.

РатиоРазмеров = ImageFile.Height/480;                

//узнаем ширину

                        КонечнаяШирина = ImageFile.Width /РатиоРазмеров;

                        //создаем фильтр для картинки.

                        ImageProcess.Filters.Add(ImageProcess.FilterInfos("Resize").FilterID) ;

                        ImageProcess.Filters(1).Properties("MaximumWidth").Value   = КонечнаяШирина;

                        ImageProcess.Filters(1).Properties("MaximumHeight").Value = 480;

                        //Применяем фильтр.

ImageFile = objImageProcess.Apply(ImageFile);

objImageFile.SaveFile(АдресДоПапки + Папка + АдресКартинки);

//Загружаем в базу данных картинки.

Иначе

//Загружаем исходное изображение.

КонецЕсли;

Эти библиотеки изображений очень удобные для работы. Естественно, можно усложнить данный код, можно качать изображения из интернета и сразу переделывать их в необходимый размер.


                        Специалист компании ООО «Кодерлайн» 

Роман Барабанов.

Наши проекты

Внедрение 1С:Управление торговлей
ООО «Амперсенд»

Отрасль:
Оптовая торговля

Внедренное типовое решение:
1С:Управление торговлей

- Оформление заказов поставщикам;
- Управление отношениями с поставщиками;...

ООО «Иви.ру»
ООО «Иви.ру»

Отрасль:
Медиаиндустрия

Внедренное типовое решение:
1С:Управление корпоративными финансами

Подсистема казначейства
Модуль бюджетного контроля по ДДС ...

ООО ХДМ Рус
ООО ХДМ Рус

Отрасль:
Торговля

Внедренное типовое решение:
1С:Управление торговлей

Управление цепочками поставок Оптовая торговля ...

Фирма 1С
Фирма 1С

Отрасль:

Внедренное типовое решение:
1С:Документооборот

- Подготовка функциональной модели прикладного решения «1С:Документооборот...

ООО «Еврорадиаторы»
ООО «Еврорадиаторы»

Отрасль:
1С:ERP 2.4

Внедренное типовое решение:

Специалисты «Кодерлайн» помогли перенести базу из текущей системы «1С:ERP 2.2» ...

Автоматизация складских операций на базе «1С:Предприятие 8. WMS Логистика. Управление складом»
ОАО «Фрейт Линк»

Отрасль:
Логистика и грузоперевозки

Внедренное типовое решение:
1С:Управление холдингом

Реализовали разработку уникального модуля «Интернет-магазины» на базе прог...

ООО «Фипар»
ООО «Фипар»

Отрасль:

Внедренное типовое решение:
1С:Предприятие 8. ERP Управление предприятием 2

Специалисты «Кодерлайн» внедрили «1С:ERP. Управление предприятием 2» и автома...

Компания IBS
Компания IBS

Отрасль:
Системный интегратор

Внедренное типовое решение:
1С:Управление производственным предприятием

- Интеграция систем – АСУП и «1С:Управление производственным предприятием»...

ООО «ПраксисКом»
ООО «ПраксисКом»

Отрасль:
Аутсорсинг бухгалтерских услуг

Внедренное типовое решение:
1С:Бухгалтерия ПРОФ

- Бухгалтерский учет:
Банк и касса
Завершение периода
Нематериальные ...

Автоматизация производственного планирования нефтесервисной компании на базе 1С:ЕРП 2.0
ЗАО «Инвестгеосервис»

Отрасль:
Нефтесервис

Внедренное типовое решение:
1С:ERP Управление предприятием 2.0

- Блок планирования проектов (процессы объемно-календарного планирования пр...

Внедрение ПП "1С:Бухгалтерия 8 ПРОФ" в ООО «Союз Три» (Кондитерский дом Renardi)
ООО «Союз Три»

Отрасль:
Производство

Внедренное типовое решение:
1С:Бухгалтерия 8 ПРОФ

Бухгалтерский учет
- Банк и касса
- Расчеты с контрагентами
Налоговый ...

Автоматизации бизнес-процессов учета и планирования на базе «1С:ERP Управление предприятием 2.0»
ООО «Буровая сервисная компания «ГРАНД»

Отрасль:
Нефтесервис

Внедренное типовое решение:
1С:ERP Управление предприятием 2.0

- Создание полноценной управленческой системы взамен существующих
- Внедр...

Наши соц. сети

Telegram-канал «Koderline 1С» Группа в Вконтакте «Кодерлайн КОРП» Rutube

Остались вопросы - обратитесь к нам!

Впишите свои Имя и Телефон, чтобы мы ответили на все интересующие Вас вопросы.
ФИО*
E-mail*
Телефон*
Сообщение