Обработка изображений номенклатуры в УТ 10.3

09.11.21

Учетные задачи - Логистика, склад и ТМЦ

Данная обработка предназначения для уменьшения основных изображений номенклатуры, загруженных в информационную базу конфигурации Управление торговлей 10.3.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Обработка уменьшения картинок номенклатуры
.epf 11,36Kb
187
187 Скачать (2 SM) Купить за 2 150 руб.
Библиотека GFLAx для 32 и 64-разрядных ОС Windows
.zip 1,71Mb
179
179 Скачать (1 SM) Купить за 1 850 руб.

Очень часто пользователи, отвечающие за наполнение информационной базы, загружают изображения, часто не задумываясь об формате и размерах. В результате очень часто база разрастается довольно сильно даже при малом объеме документооборота.

Чревато это увеличенными (раздутыми) объемами бэкапов, а также большой нагрузкой на обмены (в случае наличия распределенных баз).

В большинстве случаев, таких как вывод картинки в прайс-лист, либо выгрузки ее на сайт, достаточно даже изображений размером не больше 800x600 пикселей. Объем картинок, сохраненных в таком размере, обычно не превышает и 100 Кбайт, в то время, как исходное изображение может достигать 5-10 Мбайт (в случае загрузки его с цифрового фотоаппарата без изменения настроек по-умолчанию).

Данная обработка работает следующим образом:
1. Регистрируется библиотека GFLAx (архив для х32 и х64 ОС Windows прилагаю)
2. Открываете обработку, указываете группу номенклатуры, которую необходимо обработать
2. Устанавливаете максимальный размер (в байтах) для основного изображения, максимальную ширину и высоту изображения, до которого будет уменьшена картинка
3. После запуска будет отобрана вся номенклатура в указанной группе
4. Если размер основного изображения будет превышать указанный нами, то картинка сохраняется на жесткий диск (во временный каталог, или каталог, заданный вами вручную)
5. При помощи компоненты GFLAx производится пропорциональное уменьшение ширины и высоты изображения до максимально допустимого
6. Изображение сохраняется в формате JPEG с качеством 75 (в большинстве случаев этого более чем достаточно, в противном случае код обработки открыт и вы всегда этот момент можете доработать)
7. Сохраненное изображение загружается обратно в базу

Так же имеется возможность вывести небольшой отчет, с результатом работы обработки.

 

Что побудило меня на написание этой обработки? :) Звонок с филиала, с вопросом "Почему не происходит обмен". Начав разбираться, выясняю, что файл обмена в сжатом состоянии занимает больше 300МБайт. Т.к. обмен у нас осуществляется раз в полчаса, то со стороны филиала (интернет там не особо быстрый) сервер не успевал загрузить файл обмена с FTP, он перезаписывался в головном офисе, и обмен останавливался с ошибкой чтения файла. Причина разросшегося файла обмена была выяснена не сразу. Когда нашел - выяснил, что по новой номенклатуре от поставщика изображений нет, и был выделен специально для этого зеркальный фотоаппарат. Картинки загружались "как есть" с разрешением больше 3к пикселей в ширину и размером более 5МБайт.

Наткнулся на обработку уменьшения картинок для УТ 11: //infostart.ru/public/93278/

Однако для УТ 10.3 она конечно не подходит, т.к. томов файлов тут нет. Взял ее за основу. Скачал библиотеки GFLAx для 32 и 64-разрядных ОС. Установил и зарегистрировал библиотеки согласно описанию. Взлетело без проблем.

 

На всякий случай приведу алгоритм регистрации библиотеки GFLAx.

Скачиваете и распаковываете GflAX-binaries-3.0.zip

Если у вас 32-разрядная ОС:
1. Копируете папку Unicode Release.Win32 в директорию C:\Windows\System32
2. Запускаете командную строку от имени администратора и выполняете команду C:\Windows\system32\regsvr32.exe "Unicode Release.Win32\GflAX.dll"

Если у вас 64-разрядная ОС:
1. Копируете папку Unicode Release.Win32 в директорию C:\Windows\SysWOW64\
2. Копируете папку Unicode Release.x64 в директорию C:\Windows\System32
3. Запускаете командную строку от имени администратора и выполняете команду C:\Windows\system32\regsvr32.exe "Unicode Release.x64\GflAX.dll"
4. Выполняете команду C:\Windows\SysWOW64\regsvr32.exe "Unicode Release.Win32\GflAX.dll"

P.S. На своем примере обработав 1 группу номенклатуры размер изображений был уменьшен со 100 до 14МБайт, что считаю довольно существенным.

Обновление от 25.02.2016: Добавил возможность указания качества сжатия JPEG. Если исходная картинка в базе имеет более низкое качество и не происходит изменения ее размеров, то пересохраняться в более высоком качестве она не будет, т.к. фактически картинка останется та же, а размер ее вырастет.

Так же добавлена возможность обработки всех изображений номенклатуры, которые добавлены в файлах номенклатуры.

Обновление от 09.11.2021: Добавлена проверка на тип изображения. Если изображение PNG - то сжимается и сохраняется оно в расширении PNG, т.к. библиотека GFLAx крайне некорректно работает с прозрачностью при сохранении изображения в JPEG (изображения по сути становятся непригодными для просмотра).

Обработка изображений уменьшение обработка картинок номенклатуры номенкалтуры

См. также

Логистика, склад и ТМЦ Бухгалтер Пользователь Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Оптовая торговля, дистрибуция, логистика Управленческий учет Платные (руб)

Программа позволяет организовать учет ответственного хранения товаров с весовыми характеристиками, в том числе со сроком годности и личным кабинетом Поклажедателя. Модуль реализован в виде расширения конфигурации, устанавливается в режиме 1С:Предприятие 8 за 5 минут по инструкции, что позволяет оставить конфигурацию 1С на стандартной поддержке и продолжать получать стандартные обновления от фирмы "1С".

89900 руб.

09.06.2020    38703    28    59    

64

SALE! 10%

Перенос данных 1C Взаиморасчеты Оптовая торговля Логистика, склад и ТМЦ Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Управленческий учет Платные (руб)

Можно проверить до покупки, оставьте заявку! Воспользовались более 268 компаний! Перенос данных из УТ 10.3 в УТ 11 | из УТ 10.3 в КА 2 | из УТ 10.3 в ERP. Предлагаем качественное и проверенное временем решение для перехода с УТ 10.3. Можно перенести начальные остатки, нормативно-справочную информацию и все возможные документы. При выгрузке можно установить отбор по периоду, организациям и складам. При выходе новых релизов конфигураций 1C оперативно выпускаем обновление переноса данных.

55778 50200 руб.

24.04.2015    194981    150    243    

280

Логистика, склад и ТМЦ Платформа 1С v8.3 Россия Платные (руб)

Подсистема автоматизированного управления складом AS WMS для конфигураций на платформе 1С 8. AS WMS – готовое решение для эффективного управления, хранения и учета на адресном складе. Внедрение системы AS WMS способствует быстрому отбору товара, ускорению инвентаризации, снижению зависимости от персонала, исключению пересорта. AS WMS встраивается в любую конфигурацию на платформе 1С 8 и работает как единая система без обменов. В учетной системе нет необходимости менять процессы под AS WMS (например, вводить ордерную схему), AS WMS использует стандартные документы по товародвижению вашей учетной системы.

40000 руб.

26.07.2023    6092    21    0    

12

Загрузка и выгрузка в Excel Логистика, склад и ТМЦ Ценообразование, анализ цен Файловый обмен (TXT, XML, DBF), FTP Бухгалтер Пользователь Платформа 1С v8.3 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Эволюция не стоит на месте - новая удобная версия функциональной обработки для Вашего бизнеса! Что же Вы получаете? Удобный и интуитивно понятный интерфейс с 3-мя этапами работы. 2 режима - автоматический и ручной. Чтение XLSX, XLSM, CSV, XML/YML форматов без офиса, на любом сервере! Визуальное связывание колонок файла и реквизитов простым перетаскиванием колонок. Создание или обновление номенклатуры с иерархией, характеристик, доп. реквизитов, упаковок, загрузка практически неограниченного количества картинок на одну номенклатуру (с возможностью загрузки в несколько потоков одновременно), с хранением в томах или в базе. Загрузка номенклатуры поставщиков или поиск по их данным номенклатуры. Загрузка доп. реквизитов в характеристики. Загрузка штрихкодов с генерацией новых. Создание элементов справочников и ПВХ "на лету" для выбранных реквизитов. (Обновление от 10.10.2024, версия 9.8 - 9.13)

15600 руб.

20.11.2015    156102    376    378    

513

Логистика, склад и ТМЦ Бухгалтер Пользователь Платформа 1С v8.3 Сельское хозяйство и рыболовство Строительство Горнодобывающая промышленность Розничная и сетевая торговля (FMCG) Транспорт, автопарки, такси Оптовая торговля, дистрибуция, логистика Лесное и деревообрабатывающее хозяйство Управленческий учет Платные (руб)

Позволяет автоматизировать процесс взвешивания ТМЦ в организациях, осуществляющих приемку и отгрузку различным транспортом, для ведения складского учета и контроля остатков на складах. Конфигурация позволяет фиксировать вес вручную, напрямую с весов, а также управлять дополнительным оборудованием и контролировать движение транспорта.

35000 руб.

24.03.2015    125686    300    114    

136

SALE! 15%

Загрузка и выгрузка в Excel Розничная торговля Логистика, склад и ТМЦ Ценообразование, анализ цен Прайсы Системный администратор Программист Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Розница 2 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Загрузка номенклатуры из файлов Excel (xls, xlsx, ods, csv, mxl) в УТ11, КА 2, ERP 2, Розница 2. Задействованы все возможности конфигурации - заполнение реквизитов номенклатуры, дополнительных реквизитов и сведений, характеристики, доп.реквизиты и сведения характеристик. Дополнительные обработки для расширения возможностей.

11100 9435 руб.

29.10.2014    216764    657    527    

456

Бюджетирование и планирование Оптовая торговля Розничная торговля Логистика, склад и ТМЦ Анализ продаж Пользователь Платформа 1С v7.7 Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Беларусь Украина Россия Казахстан Управленческий учет Платные (руб)

Система управления запасами для 1С помогает работать с запасами правильно: автоматически рассчитывает потребность и делает заказ поставщику, загружает прайсы, перемещает товары по филиалам, анализирует продажи и позволяет управлять ассортиментом.

28500 руб.

21.04.2017    96399    125    40    

214
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. gull22 103 19.11.14 12:12 Сейчас в теме
2. astronavt006 75 19.02.15 12:57 Сейчас в теме
Большое спасибо за разработку. Реально помогла)))
3. insurgut 208 19.02.15 13:20 Сейчас в теме
(2) astronavt006, рад, что пригодилась ;)
4. osd2006 25.02.16 06:14 Сейчас в теме
Спасибо огромное, удалось сжать картинки в базе на 127 мб.
5. insurgut 208 25.02.16 08:46 Сейчас в теме
Добавил возможность указания качества сжатия JPEG. Если исходная картинка в базе имеет более низкое качество и не происходит изменения ее размеров, то пересохраняться в более высоком качестве она не будет, т.к. фактически картинка останется та же, а размер ее вырастет.
Так же добавлена возможность обработки всех изображений номенклатуры, которые добавлены в файлах номенклатуры.
6. Jelbock 08.04.16 13:36 Сейчас в теме
Здравствуйте. Подскажите, я так понимаю, дополнительные изображения не получится пережать?
7. insurgut 208 08.04.16 17:31 Сейчас в теме
(6) Jelbock, получится, эта возможность была добавлена 25.02.2016.
8. Jelbock 12.04.16 21:56 Сейчас в теме
9. S@V 07.06.16 07:32 Сейчас в теме
Спасибо большое за обработку ))) ужал на 200 метров базу )))
10. Voblhned 58 09.06.16 20:30 Сейчас в теме
ужал базу с 5,4 гигадо, до 980 метров, а теперь скажи на реальной базу стоит делать? Как она дружит с РИБом, если центральную ужать, то потом ужимать узлы или нет?
11. insurgut 208 10.06.16 22:04 Сейчас в теме
(10) Voblhned, по РИБу картинки спокойно перейдут с обменом из центральной базы в распределенные. Но нужно учитывать факт размера файла обмена - картинки в архиве практически не сжимаются. Поэтому обрабатывать нужно по порционно, прогоняя обмен после обработки очередной порции.
12. Voblhned 58 14.06.16 22:55 Сейчас в теме
(11) Я примерно так и думал, проверил уже, так и есть, файл обмена стал огромным, по категориям разбил, хорошо перенеслось. Плюс тебе в карму.
14. user689645_gb 22.04.17 11:28 Сейчас в теме
(11)Добрый день!Подскажите,как зарегистрировать компоненту не на диске С ,а на диске D ,например.Пожалуйста,напишите,как должна выглядеть команда в командной строке.Заранее благодарю.
15. insurgut 208 22.04.17 15:58 Сейчас в теме
(14) что-то вроде C:\Windows\system32\regsvr32.exe "D:\моя_директория\Unicode Release.Win32\GflAX.dll"
16. _n26__ 09.07.18 05:44 Сейчас в теме
Добрый день!
Спасибо большое за обработку. Очень помогла. Возник такой вопрос. А как-то можно узнать, что загружены новые изображения, и применить уменьшение именно к новым, а не заново все изображения элементов номенклатуры обрабатывать?
17. insurgut 208 09.07.18 07:11 Сейчас в теме
(16) стандартно такой возможности нет, самый простой вариант - это доработка конфигурации.
В номенклатуре добавляем реквизит ДатаИзменения с типом Дата. В модуле при записи номенклатуры добавляем строку:

ДатаИзменения = ТекущаяДата();


В самой обработке добавляем на форму реквизит ДатаИзменения и в условии отбора прописать примерно так:

	Запрос = Новый Запрос("ВЫБРАТЬ
	|	Номенклатура.Ссылка
	|ИЗ
	|	Справочник.Номенклатура КАК Номенклатура
	|ГДЕ
	|	НЕ Номенклатура.ЭтоГруппа " + ?(ЗначениеЗаполнено(ДатаИзменения), "И Номенклатура.ДатаИзменения >= &ДатаИзменения", "") + "
	|	И Номенклатура.Ссылка В ИЕРАРХИИ(&ГруппаНоменклатуры)");
	Запрос.УстановитьПараметр("ГруппаНоменклатуры", ГруппаНоменклатуры);
	Если ЗначениеЗаполнено(ДатаИзменения) Тогда
		Запрос.УстановитьПараметр("ДатаИзменения", ДатаИзменения);
	КонецЕсли;
Показать
18. _n26__ 09.07.18 21:29 Сейчас в теме
(17) Спасибо за ответ!
К сожалению, не разрешено дорабатывать конфигурацию. Пришел в голову вариант, делать через файл. В котором указывать, код элемента номенклатуры, имя изображения и его размер. И потом проверять, было ли у номенклатуры изображение с таким размером обработано или нет.
19. insurgut 208 09.07.18 22:22 Сейчас в теме
(18) можно и вовсе без файлов и без доработки конфигурации - добавить дополнительный реквизит "Размер изображения", которое сохранять после обработки и проверять перед обработкой. Но там чуть побольше кода потребуется уже в самой обработке добавлять :)
20. _n26__ 10.07.18 11:04 Сейчас в теме
(19) Спасибо большое за совет! Так будет гораздо проще.
13. NushaN 11 07.07.16 11:36 Сейчас в теме
insurgut, шикарно, спасибо! работает в лёт! Применима и для УПП 1.3
2.61 Гб -> 900 Мб
21. chukawata 10 08.08.18 10:59 Сейчас в теме
Подскажите, пожалуйста, каким методом GflAX.dll менять качество JPEG?
22. insurgut 208 08.08.18 19:28 Сейчас в теме
(21) не метод, свойство, которое заполняется перед сохранением:
Картинка.SaveJPEGQuality = КачествоJPEG;

где КачествоJPEG - число от 0 до 100
23. namazi74 5 09.11.18 08:51 Сейчас в теме
Спасибо за обработку. Очень пригодилась. Зачем вы выкладываете отдельно архив GflAX? Он и так гуглится.
24. insurgut 208 09.11.18 09:24 Сейчас в теме
(23) для тех, кому лень гуглить :)
25. namazi74 5 11.11.18 10:59 Сейчас в теме
(24) при сжатии изображений, изменяется цвет (оттенки). По какой причине это может происходить?
Прикрепленные файлы:
32. profisasha 2 18.06.19 13:03 Сейчас в теме
(25) Как-то удалось решить эту проблему?
33. namazi74 5 18.06.19 14:49 Сейчас в теме
(32) только выставлением большего качества изображения. в остальном - не критично.
26. profisasha 2 06.06.19 13:17 Сейчас в теме
27. insurgut 208 06.06.19 13:21 Сейчас в теме
(26) у растрового изображения нет понятия DPI. В данном случае размер изображения можно отрегулировать изменением максимальной ширины/высоты в пикселях.
28. profisasha 2 07.06.19 06:47 Сейчас в теме
(27)то есть информация про dpi в свойствах файла бесполезна? У разработчика этой библиотеки на сайте есть конвертер "XnConvert" и в нем есть "изменение кол-ва точек/дюйм".
Есть возможность удалять служебную информацию о свойствах файла и личной информации у картинки?
Прикрепленные файлы:
29. insurgut 208 07.06.19 08:56 Сейчас в теме
(28) возьмите любое изображение и сохраните его с разным значением DPI, но полностью идентичными настройками сжатия и сравните. DPI - это служебная информация, используемая при печати. На мониторе картинки с DPI 256 и 16 выглядеть будут одинаково и размер их будет одинаковым. В качестве примера (подтверждения) прикрепил 2 картинки.
Прикрепленные файлы:
30. profisasha 2 07.06.19 09:37 Сейчас в теме
(29)Да согласен, проверил уже.
не подскажете этой библиотекой можно удалить служебную информацию о свойствах файла и личной информации у картинки?
31. insurgut 208 07.06.19 10:07 Сейчас в теме
(30) думаю данную информацию можно выяснить только в мануале.
Прикрепленные файлы:
GflAX.chm
34. qaqa 14.12.21 14:06 Сейчас в теме
Добрый день.
Периодически выскакивает одна и та же ошибка. После чего процесс обработки останавливается.
Как исправить ?

{ВнешняяОбработка.УменьшениеКартинокНоменклатуры.Форма.Форма.Форма(115)}: Значение не является значением объектного типа (Размер)
мРазмер = мИзображение.ПолучитьДвоичныеДанные().Размер();
Прикрепленные файлы:
35. insurgut 208 14.12.21 17:19 Сейчас в теме
(34) это значит, что картинки, как таковой, у вас нет. Отладчиком останавливайтесь по ошибке, смотрите какая номенклатура, и что у неё за "картинка".
36. qaqa 15.12.21 08:53 Сейчас в теме
(35) Подскажите пожалуйста в каком месте можно найти номер номенклатуры, где останавливается процесс.
37. insurgut 208 15.12.21 11:19 Сейчас в теме
(36) в настройках отладки поставьте просто "Останавливаться по ошибке". Там уже найдете, что за номенклатура. Как подробнее работать с отладчиком я уже не подскажу. Привлекайте программиста.
38. qaqa 15.12.21 16:29 Сейчас в теме
(37) Плюс/минус разобрался с этим. Такой еще вопрос пол дня сжимал кучу файлов. Где-то 1 Гб, где 2 и более Гб показывал и таблички формировал. Но по факту "распухи" только логи, может быть я что-то не понимаю ?
Прикрепленные файлы:
39. insurgut 208 15.12.21 17:30 Сейчас в теме
(38) выгрузите в .dt, проверьте результат. Нагляднее и правильнее всего будет ориентироваться по выгрузке "до" и "после".

P.S. И судя по тому, как SQL раздувается - модель восстановления у вас установлен Полная, а не Простая?
40. qaqa 16.12.21 10:13 Сейчас в теме
(39) Восстановление "полное". выгрузку поставил...
41. insurgut 208 16.12.21 10:32 Сейчас в теме
(40) ну вот поэтому любая групповая обработка будет увеличивать файл на раз-два. Переключайте на Простое. Если только конечно вы по настоящему моделью полного восстановления не пользуетесь. Но в этом случае вы даже не написали бы об увеличении файла, т.к. знали бы почему и для чего это происходит.
42. programmist_khpk 11.02.22 05:49 Сейчас в теме
43. insurgut 208 11.02.22 10:41 Сейчас в теме
(42) с tiff не тестировал, теоретически библиотека GflAX поддерживает все популярные форматы изображений.
Оставьте свое сообщение