При формировании прайс-листов с фотографиями товаров в системе 1С часто возникает сложность: итоговый файл Excel получается огромным по объему (сотни мегабайт), открывается с большим трудом и тормозит у клиентов при прокрутке. С другой стороны, если сделать изображение слишком мелким или сильно сжатым, покупатель не сможет разобрать, какой именно товар представлен в каталоге.
Рассмотрим подробнее, какие параметры изображений считаются оптимальными, выясним причины разрастания файлов Excel и разберем проверенные способы организации хранения и обработки картинок в 1С.
Прайс-лист предназначен в первую очередь для ознакомления с ассортиментом и оформления заказа. Клиенту не требуется разглядывать микроскопические детали товара в сверхвысоком разрешении — достаточно визуально идентифицировать позицию.
Проанализируем рекомендуемые характеристики миниатюр для выгрузки:
Если необходимо точно определить баланс между качеством картинки и размером файла для конкретной товарной группы, разберем простой пошаговый алгоритм экспериментального подбора:
Выясним причину, почему стандартная выгрузка из 1С может создавать гигантские файлы. Особенность встроенного механизма экспорта в формат XLSX заключается в следующем: если в макет табличного документа 1С поместить полноразмерное фото высокого разрешения (например, 2000×2000 пикселей), а свойствами ячейки просто визуально сжать его до 100×100 пикселей, платформа 1С при сохранении файла все равно внедрит внутрь документа исходный полноразмерный файл.
В результате прайс-лист всего на 1000 позиций будет содержать тысячу тяжелых оригиналов фотографий и станет весить сотни мегабайт. При работе с таким файлом Excel начнет зависать при попытке отфильтровать или отсортировать товары, а отправка документа по электронной почте станет невозможной. Кроме того, при выгрузке крупного отчета с большим количеством графики сама платформа 1С может завершиться с ошибкой нехватки памяти.
Чтобы избежать проблем с производительностью и объемом файлов, разберем несколько проверенных технических подходов.
При загрузке фотографий в систему целесообразно формировать и хранить два типа файлов:
Если в хранилище находятся только полноразмерные оригиналы, перед выводом каждой картинки в табличный документ необходимо выполнять ее программное уменьшение. В платформах 1С это можно реализовать штатным объектом Картинка или с привлечением внешних системных компонент.
Например, в операционной системе Windows для этих целей часто применяется COM-объект WIA.ImageProcess, который позволяет изменить размер и формат изображения прямо в процессе формирования отчета.
Посмотрим на альтернативные подходы, которые позволяют отказаться от внедрения тяжелой графики непосредственно в ячейки Excel: