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

09.11.21

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

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

Скачать файлы

Наименование Файл Версия Размер
Обработка уменьшения картинок номенклатуры
.epf 11,36Kb
187
.epf 11,36Kb 187 Скачать
Библиотека GFLAx для 32 и 64-разрядных ОС Windows
.zip 1,71Mb
178
.zip 1,71Mb 178 Скачать

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

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

В большинстве случаев, таких как вывод картинки в прайс-лист, либо выгрузки ее на сайт, достаточно даже изображений размером не больше 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 (изображения по сути становятся непригодными для просмотра).

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

См. также

SALE! 20%

Автоматический заказ поставщику в 1С: загрузка прайсов и анализ цен поставщиков для УТ 10.3, УТ 11, КА2, УНФ, УПП, ERP, Розница 2

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

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

28500 22800 руб.

21.04.2017    90160    105    39    

190

Модуль "Ответственное хранение" или фулфилмент (FBS / FBO) для 1С:УТ 11.5, КА 2.5, ERP 2.5

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

Модуль "Ответственное хранение" для 1С (УТ 11.5, КА 2.5, ERP 2.5) позволяет организовать учет ответственного хранения товаров с весовыми характеристиками, в том числе со сроком годности и личным кабинетом Поклажедателя. Модуль реализован в виде расширения конфигурации, устанавливается в режиме 1С:Предприятие 8 за 5 минут по инструкции, что позволяет оставить конфигурацию 1С на стандартной поддержке и продолжать получать стандартные обновления от фирмы "1С".

60000 руб.

09.06.2020    34302    27    57    

54

SALE! 10%

Загрузка номенклатуры из Excel в УТ11, КА 2, ERP 2, Розница 2. Дополнительные реквизиты и сведения, характеристики, картинки, цены, остатки

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

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

10560 9504 руб.

29.10.2014    210139    620    524    

439

Загрузка номенклатуры c картинками (несколько потоков одновременно) и сопутствующими данными в базу и любые документы из yml, xls, xlsx, xlsm, ods, ots, csv для УТ 10.3, УТ 11 (все), БП 3, КА 2, ERP 2, УНФ 1.6/3.0, Розница 2

Загрузка и выгрузка в 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 Платные (руб)

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

13200 руб.

20.11.2015    150700    367    375    

501

AS WMS: автоматизация склада с адресным хранением с помощью ТСД

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

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

40000 руб.

26.07.2023    3212    13    0    

8
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. gull22 95 19.11.14 12:12 Сейчас в теме
2. astronavt006 74 19.02.15 12:57 Сейчас в теме
Большое спасибо за разработку. Реально помогла)))
3. insurgut 207 19.02.15 13:20 Сейчас в теме
(2) astronavt006, рад, что пригодилась ;)
4. osd2006 25.02.16 06:14 Сейчас в теме
Спасибо огромное, удалось сжать картинки в базе на 127 мб.
5. insurgut 207 25.02.16 08:46 Сейчас в теме
Добавил возможность указания качества сжатия JPEG. Если исходная картинка в базе имеет более низкое качество и не происходит изменения ее размеров, то пересохраняться в более высоком качестве она не будет, т.к. фактически картинка останется та же, а размер ее вырастет.
Так же добавлена возможность обработки всех изображений номенклатуры, которые добавлены в файлах номенклатуры.
6. Jelbock 08.04.16 13:36 Сейчас в теме
Здравствуйте. Подскажите, я так понимаю, дополнительные изображения не получится пережать?
7. insurgut 207 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 207 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 207 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 207 09.07.18 07:11 Сейчас в теме
(16) стандартно такой возможности нет, самый простой вариант - это доработка конфигурации.
В номенклатуре добавляем реквизит ДатаИзменения с типом Дата. В модуле при записи номенклатуры добавляем строку:

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


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

	Запрос = Новый Запрос("ВЫБРАТЬ
	|	Номенклатура.Ссылка
	|ИЗ
	|	Справочник.Номенклатура КАК Номенклатура
	|ГДЕ
	|	НЕ Номенклатура.ЭтоГруппа " + ?(ЗначениеЗаполнено(ДатаИзменения), "И Номенклатура.ДатаИзменения >= &ДатаИзменения", "") + "
	|	И Номенклатура.Ссылка В ИЕРАРХИИ(&ГруппаНоменклатуры)");
	Запрос.УстановитьПараметр("ГруппаНоменклатуры", ГруппаНоменклатуры);
	Если ЗначениеЗаполнено(ДатаИзменения) Тогда
		Запрос.УстановитьПараметр("ДатаИзменения", ДатаИзменения);
	КонецЕсли;
Показать
18. _n26__ 09.07.18 21:29 Сейчас в теме
(17) Спасибо за ответ!
К сожалению, не разрешено дорабатывать конфигурацию. Пришел в голову вариант, делать через файл. В котором указывать, код элемента номенклатуры, имя изображения и его размер. И потом проверять, было ли у номенклатуры изображение с таким размером обработано или нет.
19. insurgut 207 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 207 08.08.18 19:28 Сейчас в теме
(21) не метод, свойство, которое заполняется перед сохранением:
Картинка.SaveJPEGQuality = КачествоJPEG;

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

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

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