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

Содержание:

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(АдресДоПапки + Папка + АдресКартинки);

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

Иначе

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

КонецЕсли;

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


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

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

Наши проекты

ООО «ДАФ Тракс Рус» (DAF Trucks Rus)
ООО «ДАФ Тракс Рус» (DAF Trucks Rus)

Отрасль:
Машиностроение

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

- Осуществлена разработка матрицы прав и ролей для финансового подразделени...

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

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

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

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

ООО «ПКП КАБЭЛЕКТРОСНАБ»
ООО «ПКП КАБЭЛЕКТРОСНАБ»

Отрасль:
Производство кабельной продукции

Внедренное типовое решение:
1С:Управление небольшой фирмой 1.6

- Оформление заказов покупателей;
- Управление складскими запасами;
- Ана...

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

Отрасль:

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

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

 ЗАО "Инвестгеосервис" -ДО
ЗАО «Инвестгеосервис»

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

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

- Работа с файлами;
- Делопроизводство;
- Процессы движения документов; ...

АО «Аэроклуб»
АО «Аэроклуб»

Отрасль:
Услуги в области делового туризма

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

Проведение серии интервью с руководством и ключевыми специалистами Разраб...

Внедрение блоков в 1С:Комплексная автоматизация 8
ООО «Больцен Рус»

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

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

- Оперативный учет...

ООО "ОМЗ"
ООО "ОМЗ"

Отрасль:
Металлургическая промышленность, металлообработка

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

Автоматизация бизнес-процессов...

Внедрение «1С:Зарплата и управление персоналом 8 КОРП» в компании «ПБК»
ООО «Партнер Бухгалтер Консультант»

Отрасль:
Бухгалтерские услуги

Внедренное типовое решение:
1С:Зарплата и управление персоналом

- Интеграция продукта с базой данных оперативного учета Axapta;
- Доработка фу...

Автоматизации учета затрат и расчета себестоимости с использованием конфигурации «Koderline: Управление проектами строительства скважин»
ООО «Буровая сервисная компания «ГРАНД»

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

Внедренное типовое решение:
«Koderline: Управление проектами строительства скважин»

Учет и планирование:
- собственную разработку компании «Кодерлайн» – конф...

ООО «Лаборатория успеха»
ООО «Лаборатория успеха»

Отрасль:
Общественное и плановое питание, гостиничный бизнес, туризм

Внедренное типовое решение:
1С:Зарплата и управление персоналом 8. КОРП

Кадровый учет;
Расчет зарплаты;...

ХИТЕК-ГРУП
ХИТЕК-ГРУП

Отрасль:
Продажа парикмахерского инструмента и аксессуаров

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

Документооборот (ECM)
• Делопроизводство
Управление бизнес-процессами и И...

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

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

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

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