К статье
Практический материал

Документы и Печать · 10 мин

Как растянуть картинку в 1С: способы изменения размера изображения

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

Задача растянуть картинку в 1С возникает в нескольких типичных ситуациях: нужно увеличить логотип в печатной форме документа, разместить фото товара в карточке номенклатуры, вставить изображение в макет отчёта или подобрать размер картинки в элементе управляемой формы. В каждом случае механизм свой: где-то достаточно настройки в конфигураторе, где-то потребуется изменить макет или написать несколько строк кода.

Главное, что нужно понять сразу: 1С не редактирует сам файл изображения, а управляет тем, как оно отображается. Поэтому «растянуть картинку» можно либо за счёт свойств элемента формы, либо за счёт размеров области макета, в которую выводится рисунок. От того, где именно выводится изображение, зависит и способ решения.

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

Определите, где именно выводится картинка

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

Первый сценарий — картинка в элементе управляемой формы: логотип на форме документа, фото в карточке товара, изображение в реквизите справочника. Второй — рисунок в макете табличного документа, который используется для печатных форм и отчётов. Третий — картинка, выводимая программно через объект «ТабличныйДокумент» в процедуре печати.

Быстрый способ диагностики: откройте печатную форму или форму объекта, щёлкните по изображению и посмотрите, что подсвечивается. Если это ячейки табличного документа — работайте с макетом. Если элемент формы с рамкой — ищите свойства элемента в конфигураторе.

Картинка в формеЭлемент управляемой формы

Ищите свойство РазмерКартинки в палитре свойств

Картинка в печатной формеМакет табличного документа

Размер задаётся высотой строк и шириной колонок области

Картинка из кодаПрограммный вывод

Ищите область с рисунком в процедуре формирования печати

Растянуть картинку в элементе управляемой формы

Если изображение размещено на форме (например, фото товара в карточке номенклатуры), размером управляет свойство РазмерКартинки. Оно есть у элемента формы вида «Поле картинки» и у декорации с картинкой.

Порядок действий в конфигураторе: откройте нужную форму, выделите элемент с изображением, в палитре свойств найдите «РазмерКартинки». Доступные значения: «РеальныйРазмер» — картинка показывается как есть; «Пропорционально» — изображение вписывается в размеры элемента с сохранением пропорций; «Растянуть» — картинка занимает всю область элемента, пропорции могут исказиться; «АвтоРазмер» — элемент подстраивается под картинку.

Чтобы растянуть изображение на всю область, установите значение «Растянуть», а самому элементу задайте нужные ширину и высоту либо растягивание по горизонтали и вертикали. Если важно не исказить пропорции (лица, логотипы), используйте «Пропорционально» — картинка увеличится, но не деформируется.

Порядок действий в форме
  1. 1
    Откройте конфигуратор и найдите нужную форму объекта
  2. 2
    Выделите элемент с картинкой и откройте палитру свойств
  3. 3
    Установите РазмерКартинки = Растянуть или Пропорционально
  4. 4
    Задайте элементу ширину, высоту или растягивание
  5. 5
    Сохраните конфигурацию и проверьте результат в режиме предприятия

Растянуть картинку в макете печатной формы

В печатных формах изображение выводится через объект «Рисунок» в макете табличного документа. Его размер жёстко привязан к размерам ячеек, которые он перекрывает: чтобы растянуть картинку, нужно увеличить высоту строк и ширину колонок под рисунком.

Откройте макет (обычно это макет вида «ТабличныйДокумент» в справочнике, документе или общих макетах). Найдите область с рисунком — он отображается как объект поверх ячеек. Выделите рисунок, в свойствах проверьте привязку: по умолчанию рисунок изменяет размер вместе с ячейками. Затем увеличьте высоту строк и ширину колонок, которые занимает изображение, — картинка растянется вместе с ними.

Если рисунок не реагирует на изменение ячеек, проверьте его свойство «Размер» и защиту: в некоторых макетах рисунок имеет фиксированный размер. Снимите фиксацию или вручную задайте нужные габариты, перетащив границы объекта мышью.

Учтите важное ограничение: увеличение строк макета сдвигает остальное содержимое печатной формы. Если под картинкой расположены таблицы или подписи, проверьте, что вёрстка не «поехала», и при необходимости уменьшите соседние области.

Программное масштабирование при выводе печати

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

Типовой подход выглядит так: в области макета заранее создан рисунок-заполнитель, а в коде ему присваивается картинка из хранилища значения (например, из реквизита «ФайлКартинки» справочника). Размер рисунка определяется областью, но его можно переопределить программно, задав высоту и ширину в миллиметрах или пунктах.

bsl
ОбластьМакета = Макет.ПолучитьОбласть("Шапка");
Рисунок = ОбластьМакета.Рисунки.Найти("Логотип");
Если Рисунок <> Неопределено Тогда
    Рисунок.Картинка = Новый Картинка(ДанныеКартинки);
    Рисунок.Высота = 20; // мм
    Рисунок.Ширина = 40; // мм
КонецЕсли;

Если исходное изображение слишком маленькое (например, 100×100 пикселей), растягивание на большую область даст размытую, «пиксельную» картинку. Никакая настройка в 1С не восстановит качество — потребуется исходник с большим разрешением. Это ограничение самого файла, а не платформы.

Растянуть картинку в типовых конфигурациях без конфигуратора

В пользовательском режиме типовых конфигураций (1С:Бухгалтерия, Управление торговлей, УНФ) возможности ограничены, но кое-что доступно. Логотип организации для печатных форм обычно загружается в карточке организации — там же иногда есть настройки отображения. Размер логотипа на печати определяется макетом, и без доработки его не изменить, но можно загрузить изображение с другими пропорциями, чтобы оно лучше занимало отведённую область.

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

Если требуется нестандартный размер картинки в печатной форме типовой конфигурации, корректный путь — внешняя печатная форма с собственным макетом. Это не требует снятия конфигурации с поддержки и переживает обновления.

Сравнение вариантов

Свойство РазмерКартинки в форме

Быстро и без кода, но работает только для элементов форм, не для печати

Изменение макета в конфигураторе

Полный контроль над размером, но изменения могут затереться при обновлении типовой конфигурации

Внешняя печатная форма

Безопасно при обновлениях, но требует навыков разработки макета и процедуры печати

Подготовка картинки нужного размера заранее

Самый простой путь без доработок, но не решает задачу нестандартной вёрстки

Как проверить результат и что делать при искажениях

После изменения настроек обязательно проверьте результат в режиме предприятия, а не только в конфигураторе: отображение в макете и в реальной печатной форме может отличаться. Сформируйте документ, откройте печатную форму и оцените картинку на экране, затем выведите на печать или сохраните в PDF — на бумаге пропорции видны особенно заметно.

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

Контрольные точки

Как проверить результат

Пропорции изображения
Норма

Картинка увеличена без сплющивания и вытягивания

Тревожный признак

Логотип или фото деформированы — смените режим на Пропорционально

Чёткость
Норма

Контуры резкие при печати и в PDF

Тревожный признак

Размытие — замените исходный файл на более качественный

Вёрстка формы
Норма

Текст и таблицы под картинкой на своих местах

Тревожный признак

Содержимое съехало — уменьшите высоту строк макета

Типичные ошибки при растягивании картинок в 1С

Чаще всего проблемы возникают не из-за платформы, а из-за неверных ожиданий и поспешных изменений. Разберём самые распространённые.

Типичные ошибки
01
Правка типового макета напрямую — изменения теряются при обновлении конфигурации, используйте внешние печатные формы
02
Режим Растянуть для фото и логотипов — пропорции искажаются, изображение выглядит непрофессионально
03
Растягивание маленькой картинки на большую область — результат размытый, нужен исходник с большим разрешением
04
Проверка только на экране — на печати пропорции и поля могут отличаться, всегда делайте пробный вывод
05
Изменение размеров ячеек без учёта соседних областей — вёрстка печатной формы разъезжается

Отдельная ошибка — попытка растянуть картинку через «Свойства» самого файла в присоединённых файлах. 1С хранит файл как есть и не масштабирует его при хранении: все настройки размера выполняются только на стороне отображения — в форме, макете или коде.

FAQ

Почему картинка в печатной форме не меняет размер, хотя я увеличил ячейки макета?

Скорее всего, у объекта «Рисунок» в макете зафиксирован размер. Выделите рисунок, откройте его свойства и проверьте настройки размера и привязки к ячейкам. Либо задайте габариты вручную, перетащив границы объекта, либо снимите фиксацию размера.

Можно ли растянуть картинку в 1С без конфигуратора?

Только косвенно: загрузите изображение с пропорциями, которые лучше заполнят отведённую область. Полноценное изменение размера отображения требует настройки формы или макета в конфигураторе либо внешней печатной формы.

Почему после растягивания картинка стала размытой?

Исходный файл имеет маленькое разрешение, и при увеличении пиксели становятся заметны. 1С не улучшает качество изображения — замените файл на версию с большим разрешением, желательно в 2–3 раза превышающим размер области вывода.

Чем отличается «Растянуть» от «Пропорционально» в свойстве РазмерКартинки?

«Растянуть» заполняет всю область элемента, искажая пропорции, если они не совпадают. «Пропорционально» увеличивает картинку до пределов области с сохранением соотношения сторон — для фото и логотипов это почти всегда правильный выбор.

Как растянуть логотип на весь лист в печатной форме?

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

Пропадут ли мои изменения макета после обновления конфигурации?

Если конфигурация типовая и находится на полной поддержке — да, изменённые типовые макеты будут заменены при обновлении. Чтобы сохранить доработки, используйте внешние печатные формы или скопируйте макет с изменением режима поддержки.

Итог

Что важно запомнить

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