Размеры картинок и их значение

07.09.16

Разработка - Механизмы типовых конфигураций

В публикации рассматривается вопрос изменения размера изображения при сохранении из mxl в xlsx.

Однажды решал задачу формирования прайс-листа с картинками из УТ 11. 

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

Оказалось, что изображения, попав в excel, меняют размер. И не в лучшую сторону. Если в УТ  jpg был размером 20 кб, то, оказавшись в excel, он увеличивается до 80-150кб. В этом можно было убедиться, разархивировав xlsx. Все изображения находятся   в \xl\media\. В результате файл вырастал до мегабайтных масштабов, вместо расчетных 200-400 кб.

Поиски решения в гугле не увенчались ничем, поэтому стал экспериментировать, пытаясь понять, где же суть проблемы. Со стороны excel ничего не нарыл. Сжатие его средствами или не давало никагого эффекта, или он был незначителен. Да, и, кроме того, использование инструментария excel требовало доработок механизма сохранения, чего мне делать совсем не хотелось.

Решение обнаружилось случайно, в процессе эксперимента с атрибутом рисунка табличного документа "РазмерКартинки". Почему-то мне раньше казалось, что этот атрибут, несмотря на название, прямого отношения к размеру в байтах не имеет и нужен только для определения того, как будет вписана картинка в область. Однако это оказалось не так. Напомню возможные значения этого атрибута:

  • Авторазмер
  • Пропорционально
  • Растянуть
  • РеальныйРазмер
  • Черепица

Оказалось, что только значение "Растянуть" позволяет сохранить исходный размер картинки. Все остальные приводят к проблеме, которую я и решал. Последние два значения, правда, в формировании прайс-листа вообще слабо применимы. 

В целом, проблема оказалась решена, с единственным "но".  Значение "Растянуть" может "съесть" часть картинки, если она изначально имеет неверные пропорции. Но это уже проблема других специалистов.

Дополнительно могу сказать, что эксперименты проводились на платформе 8.3.8.2027.

Вступайте в нашу телеграмм-группу Инфостарт

excel mxl размеркартинки

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • Поиск от одного разработчика до ИТ-команд под проект.
  • Обмен любыми контактами разрешён.
  • 0% комиссии, допускаются расчёты напрямую.

См. также

Инструментарий разработчика БСП (Библиотека стандартных подсистем) Механизмы типовых конфигураций Программист 1С 8.3 1С:ERP Управление предприятием 2 Абонемент ($m)

Данное расширение — это механизм, сделанный при помощи двух модулей из БСП (3.1.11.415), который позволяет динамически добавлять команды (кнопки и не только при желании) на формы управляемого приложения без изменения конфигурации. На примере данного механизма удобно рассмотреть некоторые возможности для расширения функционала объектов, которые подключены к механизму библиотеки стандартных подсистем.

1 стартмани

20.03.2026    851    InFlach    0    

7

Механизмы типовых конфигураций Программист Стажер 1С 8.3 1С:Зарплата и Управление Персоналом 3.x Бесплатно (free)

Интервальные регистры в 1С:ЗУП 3.1 заменяют тяжелые срезы последних, ускоряя отчеты по кадровым данным через интервалы ДатаНачала–ДатаОкончания. Разбираем отличия, примеры кода, плюсы и способы синхронизации.

12.03.2026    2284    AlexeyPROSTO_1C    4    

20

Механизмы типовых конфигураций Программист Стажер 1С 8.3 1С:Зарплата и Управление Персоналом 3.x Бесплатно (free)

Как в ЗУП работает механизм расстановки времени в регистрах сведений с помощью подписки на события?Рассматривается логика сдвигов для разных типов документов (прием, увольнение, отпуск) и дается инструкция по подключению нового регистра к этому механизму.

03.03.2026    1053    YA_1100893639    1    

7

Механизмы типовых конфигураций Программист 1С:Предприятие 8 1С:ERP Управление предприятием 2 Россия Бесплатно (free)

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

11.08.2025    7298    user1988284    0    

23
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. vasilev2015 2845 26.04.18 10:46 Сейчас в теме
Аплодирую автору стоя !

Статья помогла. У меня прайс 15000 строк с картинками после перехода с 8.2 на 8.3 распух неограниченно.

Хотел добавить: чтобы файл xlsx открыть как архив - поменяйте ему расширение на zip.

И еще: если табличный документ из 1С сохранять как XLS, то размер остается большим.
Обязательно сохраняйте как XLSX ))
2. user1074088 11.03.19 13:12 Сейчас в теме
Спасибо, тебе огромное!
Для отправки сообщения требуется регистрация/авторизация