Сжатие (уменьшение размера) файлов изображений 1С без внешних компонент - для любой конфигурации на основе БСП > 2.3

29.06.22

База данных - Свертка базы

Если в базу загружено большое количество изображений, картинок, фото товаров, размером более 2-3МБ, то в базе будут сильно тормозить все процессы, связанные с чтением-передачей файлов изображений: формирование прайса, отчетов с картинками, выгрузка изображений товаров на сайт и т.д. Данная обработка позволяет провести оптимизацию (уменьшение размера) загруженных картинок в базу 1С любой конфигурации на основе БСП >= 2.3 стандартными средствами 1С, сохраняя при этом достаточно хорошее качество сжатых картинок. Проверено на релизе УТ 11.4.11.71, для обработки понадобится также версия Платформы 1С >= 8.3.14.

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

Наименование Файл Версия Размер
СжатиеИзображений.epf
.epf 9,23Kb
168
.epf 9,23Kb 168 Скачать

Обработка позволяет:

1. как сжать отдельно выбранный файл 

При нажатии на кнопку "1. Поместить файл" - выбирается файл в каталоге клиента,

При нажатии на кнопку "2. Сжать файл" - выбранный файл передается на сервер, обрабатывается, возвращается обратно и сохраняется в каталоге клиента с тем же названием с постфиксом в конце "_сжатый"

В константах конфигурации необходимо добавить новую (можно расширением) "Высота картинки", если константы нет, по умолчанию фото "сжимается" до высоты 1200 пикселей (ширина пропорционально).

На примере тестового фото jpg результат таков:

до сжатия: 1708x2362 5,05 Мб

после сжатия: 868x1200 2,75 Мб

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

2. так сжать и все файлы товаров в базе

Алгоритм обработки файлов базы выполняется аналогично, перебором в цикле всех файлов изображений товаров.

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

Такие возможности работы с картинками доступны с версии Платформы 1С 8.3.14, подробнее про новые методы работы с картинками можно почитать в руководстве разработчика, глава 20, раздел 20.4 "Работа с картинками".

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

См. также

Оптимизированная свертка Бухгалтерии 3.0

Свертка базы Платформа 1С v8.3 1С:Бухгалтерия 3.0 Россия Платные (руб)

Расширение позволяет за 1-2 дня свернуть базу с десятками миллионов документов. Использует оптимизированный алгоритм определения документов, на которые нет ссылок, для последующего удаления 16 фоновыми заданиями. Не помечает документы на удаление.

38400 руб.

08.02.2024    478    7    0    

2

Многофункциональная выгрузка из 1С:УТ 11/ УТ 10 в 1С:БП2, БП3 (соответствия товаров, контрагентов, складов, статей ДДС)+Свёртка по НДС

Обмен между базами 1C Оптовая торговля Свертка базы Платформа 1С v8.3 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Хотите точно знать, что вы выгружаете? Хотите сворачивать товары по НДС или фильтровать товары по доп. реквизиту? Вы волшебник, которому необходимо превращать одних контрагентов в других? Хотите при выгрузке превратить группу товаров в один? Или просто нужен удобный OLE обмен между 1C:Управление торговлей (ред. 11 или 10) и 1С:Бухгалтерия предприятия (ред. 2 или 3). Тогда эта обработка для вас!

10900 руб.

19.04.2013    168397    350    395    

327

Обрезание базы 1С

Свертка базы 8.3.8 Конфигурации 1cv8 Россия Управленческий учет Платные (руб)

Механизм обрезания базы 1С. Описан процесс переноса среза остатков в копию базы. Представлено прикладное решение - обработка по переносу данных. Реализован способ обмена между базами без длительного отключения рабочей базы.

7200 руб.

27.03.2023    4165    11    2    

13

Свертка ЗУП 3.1 и ЗКГУ 3.1

Свертка базы Платформа 1С v8.3 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Абонемент ($m)

Вопрос, который мучает всех: в связи с развитием возможностей программ 1С размеры/объем очень быстро растут (уже объем пустой базы более 1 Гб) и не секрет, что чем "тяжелее" база, тем она медленнее работает. Для БП-3.0 разработчики 1С сделали вшитый типовой механизм свертки базы, суть которого вывести остатки по счетам на дату свертки и удалить все документы/движения до этой даты. А вот для ЗУП пока ничего подобного нет, а база растет быстрее, чем на дрожжах. Я долго анализировал и искал возможные решения для свертки ЗУП, поиск в интернете дал кучу различных вариантов. А когда начинаешь их рассматривать, в основном – только "перенос" среднего заработка, а остальное – "доделай сам". Только фирмы-франчайзи предлагают что-то более серьезное, но за хорошую плату.

5 стартмани

28.02.2024    1007    33    ivnik    16    

16

Заполнение поля адреса в своей обработке [БСП]

Механизмы платформы 1С БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Небольшая шпаргалка по функциям БСП касательно адреса. Так скажем, еще один способ помимо https://infostart.ru/1c/articles/1060970/

12.02.2024    684    FilippovRI    0    

15

Расширяем возможности дополнительных обработок и настраиваем их отладку

БСП (Библиотека стандартных подсистем) Механизмы типовых конфигураций Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

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

07.02.2024    2345    YA_418728146    11    

40
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. BigB 191 09.03.20 00:32 Сейчас в теме
У меня у одного картинки не отображаются?
5. 1sig 244 09.03.20 12:22 Сейчас в теме
(1)у вас картинки не отображаются в статье?
10. BigB 191 09.03.20 19:37 Сейчас в теме
(5) Первая отображается, а вместо двух других - белые квадраты.
Прикрепленные файлы:
11. 1sig 244 09.03.20 20:14 Сейчас в теме
(10) спасибо, глюк инфостарта, в режиме редактирования подставляются другие (внутренние) ссылки на изображения
18. BigB 191 10.03.20 00:08 Сейчас в теме
(11) Вот теперь картинки отображаются все.
2. webester 26 09.03.20 07:03 Сейчас в теме
3. Xershi 1474 09.03.20 09:09 Сейчас в теме
Тестировали только на джипегах?
4. 1sig 244 09.03.20 12:21 Сейчас в теме
7. Xershi 1474 09.03.20 13:35 Сейчас в теме
(4) на svg еще протестируйте, там структура кажись немного другая.
9. Xershi 1474 09.03.20 15:51 Сейчас в теме
(7) хотя можете и по остальным форматам пробежаться.
12. 1sig 244 09.03.20 20:51 Сейчас в теме
(9)
одну картинку svg обработка "съела", на второй выдала ошибку:

"Ошибка при выполнении операции ImageMagick: 1cv8c.exe: NoDecodeDelegateForThisImageFormat ... @ error/svg.c/ReadSVGImage/3007"

судя по ошибке для работы с картинками используется кроссплатформенный пакет ImageMagick, а он работает с довольно внушительным списком форматов:
https://www.imagemagick.org/script/formats.php
на практике конечно проверять надо.

p.s.: в обработке установлен фильтр на след. форматы: *.bmp;*.dib;*.rle;*.jpg;*.jpeg;*.tif;*.gif;*.png;*.ico;*.wmf;*.emf
20. Xershi 1474 10.03.20 08:27 Сейчас в теме
(12)так я что то не так понял. БСП использует пакет? Тогда причём здесь без внешних компонент?
21. 1sig 244 10.03.20 08:35 Сейчас в теме
(20)
ImageMagick использует сам движок Платформы 1С (>=8.3.14), написанный на C, поэтому код обработки отдельного файла изображения будет работать и на чистой конфигурации.
БСП в заголовке указана только потому, что алгоритм групповой обработки обращается уже к объектам БСП, ответственным за хранение файлов изображений.
6. folo 223 09.03.20 13:25 Сейчас в теме
А не проще хранить файлы в каталоге вне базы ? Даже типовое решение это сейчас позволяет. Запаковать в зип с паролем если что.
Serega-artem; VAAngelov; SuhoffGV; +3 Ответить
8. SuhoffGV 09.03.20 13:41 Сейчас в теме
(6) зачем паковать в ЗИП с паролем? Достаточно того чтобы к папке с файлами был ограничен доступ средствами ОС. Оставить права пользователю, под которым работает сервер 1с, админу и, если есть, пользователю под которым работает служба резервного копирования.
13. 1sig 244 09.03.20 20:54 Сейчас в теме
(6)
верно - это и проще, и надежнее, и на ssd дисках пооптимальнее скорее всего будет, но у клиента база в облаках раруса, там сильно не разгонишься в ограниченных ресурсах их рядового сервака)
14. kholodarev 7 09.03.20 21:04 Сейчас в теме
(13) мы сделали хранение файлов в yandex object storage - дёшево и сверхбыстро. Получается примерно 1,5тр за каждый терабайт данных в месяц - это чтение, запись, всяческие преобразования фото и видео на 2000 пользователей. Пришлось добавить вариант хранения в подсистеме хранения файлов. У Яндекса отдача может достигать терабайты в секунду и хранение в распределённых датацентрах. Ну и облачные базы становится выгоднее использовать - s3-хранилище гораздо дешевле, чем обычная база данных
VladimirElohov; klaus38; sstas007; ArchLord42; +4 Ответить
17. 1sig 244 09.03.20 23:16 Сейчас в теме
(14)
на 2000 пользователей - это конечно круто
15. CheBurator 3119 09.03.20 21:42 Сейчас в теме
То что в (0) называется сжатие - правильно именовать ресайзинг (resize) - изменение размера (если я правильно понял). А "сжатие" - это совсем из другой оперы.
16. 1sig 244 09.03.20 23:13 Сейчас в теме
(15)
верное замечание, просто обычно ключевое слово в поиске запросов по теме в основном так звучит :) и по факту цель всех манипуляций - уменьшение размера хранимых данных, вот "сжатие" размера файла и получается)
19. muskul 10.03.20 02:43 Сейчас в теме
22. kydesniklesa 05.04.20 20:14 Сейчас в теме
Доброго времени суток! Подскажите, пожалуйста, а возможно данной обработкой уменьшить размер *.pdf файлов?
23. 1sig 244 05.04.20 21:48 Сейчас в теме
(22)
теоретически может и сожмет

на практике скорее всего разработчики 1С ограничили эту возможность и будет исключение.
Прикрепленные файлы:
24. пользователь 10.06.20 13:41
Сообщение было скрыто модератором.
...
25. пользователь 10.06.20 13:42
Сообщение было скрыто модератором.
...
26. Cab-dv 40 29.09.20 13:09 Сейчас в теме
Здравствуйте. Необходимо формировать прайс-лист с картинками в УНФ(фреш). Возможно ли сделать обработку сжатия для картинок прайса, не меняя размер картинок в хранилище?
27. 1sig 244 29.09.20 23:08 Сейчас в теме
(26) Здравствуйте! Можно попробовать сжимать "на лету" картинки для прайса, не меняя при этом размер картинок в хранилище. Но здесь надо смотреть, насколько такое решение будет тормозить формирование прайса.
28. Dwiss 162 15.10.20 18:50 Сейчас в теме
Неспецифицированная ошибка работы с ресурсом
Ошибка при выполнении запроса POST к ресурсу /e1cib/logForm:
Недостаточно свободной памяти для выполнения операции

вылетает с ошибкой
Разобрался, запустил 64 разрядную версию, все поехало, но выскакивает другая ошибка
Ошибка при выполнении операции ImageMagick: 1cv8c.exe: Cannot write PNG8 or color-type 3; colormap is NULL `C:\Users\virtuser\AppData\Local\Temp\v8_5E6E_3324' * error/png.c/WriteOnePNGImage/9270
{ВнешняяОбработка.СжатиеИзображений.Форма.Форма.Форма(47)}: НовКартинка = ОбрКартинка.ПолучитьКартинку();
{ВнешняяОбработка.СжатиеИзображений.Форма.Форма.Форма(68)}: КомандаВЫполнитьНаСервере();

по причине:
Ошибка преобразования картинки
по причине:
Ошибка при выполнении операции ImageMagick: 1cv8c.exe: Cannot write PNG8 or color-type 3; colormap is NULL `C:\Users\virtuser\AppData\Local\Temp\v8_5E6E_3324' * error/png.c/WriteOnePNGImage/9270
29. 1sig 244 17.10.20 21:11 Сейчас в теме
(28)
Добрый день!

Да, ошибка воспроизвелась при попытке сжать картинку в формате png8 - глубина цвета 8 бит (256 цветов), видать что то глючит в используемом движке ImageMagick, как вариант, в таких ситуациях можно переустановить глубину цвета на большую, обработка подредактирована с учетом этого, попробуйте, если будут еще ошибки, просьба сообщать.
30. Egvenij 24.08.21 00:25 Сейчас в теме
Здравствуйте.
Облачная УНФ 1.6
Надо изменить формат из png в jpg со сжатием 65-70. Можно реализовать?
В базе уже 1000 png
31. sifftsov 4 26.04.22 12:32 Сейчас в теме
К сожалению, этот объект не может обрабатывать большие изображения. "Гениальные менеджеры загрузили в справочник номенклатуры картинки по 10-36 Мегабайт каждая. И 1С отбивает Обработка = Новый ОбрабатываемаяКартинка(Картинка); с ошибкой.
32. 1sig 244 26.04.22 16:40 Сейчас в теме
(31) добрый день! а картинки в каком формате? стандартные jpg, png? может формат какой то новый?
картинки под 36 Мб это конечно без комментов) попробую воспроизвести у себя, если движок ImageMagick их не сможет "съесть", что навряд ли, адресуем вопрос разработчикам платформы
33. sifftsov 4 27.04.22 14:22 Сейчас в теме
(32)Картинки в формате TIFF. Формат древний, как труха от мамонтов. Но вот пользователи решили не парится преобразованием. В базу залилось, и ладно. А сейчас у нас объём картинок безбожно вырос. Решили "причесать". И тут такое фиаско.
34. 1sig 244 27.04.22 16:30 Сейчас в теме
(33) а можно пример одного из таких файлов для разбора? скачал пример большого tiff отсюда (51,2Мб)
обработка по умолчанию сжала до 4,5Мб
Прикрепленные файлы:
35. vis_tmp 32 29.06.22 20:32 Сейчас в теме
Если у товара несколько картинок, они все выгружаются?
36. 1sig 244 29.06.22 22:17 Сейчас в теме
(35) да, выгружаются все картинки
37. ama68 05.12.22 05:10 Сейчас в теме
Можно ли использовать данную обработку на УНФ 3.0, или придётся подпиливать?
38. 1sig 244 05.12.22 08:53 Сейчас в теме
(37) можно, главное условие - версия БСП > 2.3 (в УНФ 3.0 БСП 3.1.7) и файлы залиты в саму БД
Оставьте свое сообщение