Документы и Печать · 10 мин
Как растянуть картинку в 1С: способы изменения размера изображения
Как растянуть картинку в 1С: настройка размера изображения в макете, печатной форме и управляемой форме. Пошаговые инструкции, ошибки и способы проверки.
Задача растянуть картинку в 1С возникает в нескольких типичных ситуациях: нужно увеличить логотип в печатной форме документа, разместить фото товара в карточке номенклатуры, вставить изображение в макет отчёта или подобрать размер картинки в элементе управляемой формы. В каждом случае механизм свой: где-то достаточно настройки в конфигураторе, где-то потребуется изменить макет или написать несколько строк кода.
Главное, что нужно понять сразу: 1С не редактирует сам файл изображения, а управляет тем, как оно отображается. Поэтому «растянуть картинку» можно либо за счёт свойств элемента формы, либо за счёт размеров области макета, в которую выводится рисунок. От того, где именно выводится изображение, зависит и способ решения.
Ниже разобраны рабочие способы для типовых конфигураций и для самописных решений: печатные формы, макеты табличных документов, управляемые формы и программное масштабирование через встроенный язык.
Определите, где именно выводится картинка
Прежде чем что-то менять, выясните, каким способом изображение попадает на экран или на печать. От этого зависит весь дальнейший порядок действий. Всего существует три основных сценария.
Первый сценарий — картинка в элементе управляемой формы: логотип на форме документа, фото в карточке товара, изображение в реквизите справочника. Второй — рисунок в макете табличного документа, который используется для печатных форм и отчётов. Третий — картинка, выводимая программно через объект «ТабличныйДокумент» в процедуре печати.
Быстрый способ диагностики: откройте печатную форму или форму объекта, щёлкните по изображению и посмотрите, что подсвечивается. Если это ячейки табличного документа — работайте с макетом. Если элемент формы с рамкой — ищите свойства элемента в конфигураторе.
Ищите свойство РазмерКартинки в палитре свойств
Размер задаётся высотой строк и шириной колонок области
Ищите область с рисунком в процедуре формирования печати
Растянуть картинку в элементе управляемой формы
Если изображение размещено на форме (например, фото товара в карточке номенклатуры), размером управляет свойство РазмерКартинки. Оно есть у элемента формы вида «Поле картинки» и у декорации с картинкой.
Порядок действий в конфигураторе: откройте нужную форму, выделите элемент с изображением, в палитре свойств найдите «РазмерКартинки». Доступные значения: «РеальныйРазмер» — картинка показывается как есть; «Пропорционально» — изображение вписывается в размеры элемента с сохранением пропорций; «Растянуть» — картинка занимает всю область элемента, пропорции могут исказиться; «АвтоРазмер» — элемент подстраивается под картинку.
Чтобы растянуть изображение на всю область, установите значение «Растянуть», а самому элементу задайте нужные ширину и высоту либо растягивание по горизонтали и вертикали. Если важно не исказить пропорции (лица, логотипы), используйте «Пропорционально» — картинка увеличится, но не деформируется.
- 1Откройте конфигуратор и найдите нужную форму объекта
- 2Выделите элемент с картинкой и откройте палитру свойств
- 3Установите РазмерКартинки = Растянуть или Пропорционально
- 4Задайте элементу ширину, высоту или растягивание
- 5Сохраните конфигурацию и проверьте результат в режиме предприятия
Растянуть картинку в макете печатной формы
В печатных формах изображение выводится через объект «Рисунок» в макете табличного документа. Его размер жёстко привязан к размерам ячеек, которые он перекрывает: чтобы растянуть картинку, нужно увеличить высоту строк и ширину колонок под рисунком.
Откройте макет (обычно это макет вида «ТабличныйДокумент» в справочнике, документе или общих макетах). Найдите область с рисунком — он отображается как объект поверх ячеек. Выделите рисунок, в свойствах проверьте привязку: по умолчанию рисунок изменяет размер вместе с ячейками. Затем увеличьте высоту строк и ширину колонок, которые занимает изображение, — картинка растянется вместе с ними.
Если рисунок не реагирует на изменение ячеек, проверьте его свойство «Размер» и защиту: в некоторых макетах рисунок имеет фиксированный размер. Снимите фиксацию или вручную задайте нужные габариты, перетащив границы объекта мышью.
Учтите важное ограничение: увеличение строк макета сдвигает остальное содержимое печатной формы. Если под картинкой расположены таблицы или подписи, проверьте, что вёрстка не «поехала», и при необходимости уменьшите соседние области.
Программное масштабирование при выводе печати
Когда печатная форма формируется кодом, размер картинки можно задать в момент вывода. В процедуре печати рисунок добавляется в область табличного документа, и у объекта рисунка доступны свойства размера и положения.
Типовой подход выглядит так: в области макета заранее создан рисунок-заполнитель, а в коде ему присваивается картинка из хранилища значения (например, из реквизита «ФайлКартинки» справочника). Размер рисунка определяется областью, но его можно переопределить программно, задав высоту и ширину в миллиметрах или пунктах.
ОбластьМакета = Макет.ПолучитьОбласть("Шапка");
Рисунок = ОбластьМакета.Рисунки.Найти("Логотип");
Если Рисунок <> Неопределено Тогда
Рисунок.Картинка = Новый Картинка(ДанныеКартинки);
Рисунок.Высота = 20; // мм
Рисунок.Ширина = 40; // мм
КонецЕсли;Если исходное изображение слишком маленькое (например, 100×100 пикселей), растягивание на большую область даст размытую, «пиксельную» картинку. Никакая настройка в 1С не восстановит качество — потребуется исходник с большим разрешением. Это ограничение самого файла, а не платформы.
Растянуть картинку в типовых конфигурациях без конфигуратора
В пользовательском режиме типовых конфигураций (1С:Бухгалтерия, Управление торговлей, УНФ) возможности ограничены, но кое-что доступно. Логотип организации для печатных форм обычно загружается в карточке организации — там же иногда есть настройки отображения. Размер логотипа на печати определяется макетом, и без доработки его не изменить, но можно загрузить изображение с другими пропорциями, чтобы оно лучше занимало отведённую область.
Для изображений номенклатуры в карточке товара размер отображения обычно фиксирован формой. Практический приём: готовьте картинки заранее в нужных пропорциях (например, квадратные фото), тогда при любом способе масштабирования результат будет аккуратным.
Если требуется нестандартный размер картинки в печатной форме типовой конфигурации, корректный путь — внешняя печатная форма с собственным макетом. Это не требует снятия конфигурации с поддержки и переживает обновления.
Сравнение вариантов
Быстро и без кода, но работает только для элементов форм, не для печати
Полный контроль над размером, но изменения могут затереться при обновлении типовой конфигурации
Безопасно при обновлениях, но требует навыков разработки макета и процедуры печати
Самый простой путь без доработок, но не решает задачу нестандартной вёрстки
Как проверить результат и что делать при искажениях
После изменения настроек обязательно проверьте результат в режиме предприятия, а не только в конфигураторе: отображение в макете и в реальной печатной форме может отличаться. Сформируйте документ, откройте печатную форму и оцените картинку на экране, затем выведите на печать или сохраните в PDF — на бумаге пропорции видны особенно заметно.
Основные признаки проблем: картинка сплющена или вытянута (использован «Растянуть» вместо «Пропорционально»), изображение размытое (недостаточное разрешение исходника), картинка обрезана (область макета меньше изображения, а подгонка не настроена). Каждая из этих ситуаций решается своим действием, перечисленным выше.
Как проверить результат
Картинка увеличена без сплющивания и вытягивания
Логотип или фото деформированы — смените режим на Пропорционально
Контуры резкие при печати и в PDF
Размытие — замените исходный файл на более качественный
Текст и таблицы под картинкой на своих местах
Содержимое съехало — уменьшите высоту строк макета
Типичные ошибки при растягивании картинок в 1С
Чаще всего проблемы возникают не из-за платформы, а из-за неверных ожиданий и поспешных изменений. Разберём самые распространённые.
Отдельная ошибка — попытка растянуть картинку через «Свойства» самого файла в присоединённых файлах. 1С хранит файл как есть и не масштабирует его при хранении: все настройки размера выполняются только на стороне отображения — в форме, макете или коде.
FAQ
Почему картинка в печатной форме не меняет размер, хотя я увеличил ячейки макета?
Скорее всего, у объекта «Рисунок» в макете зафиксирован размер. Выделите рисунок, откройте его свойства и проверьте настройки размера и привязки к ячейкам. Либо задайте габариты вручную, перетащив границы объекта, либо снимите фиксацию размера.
Можно ли растянуть картинку в 1С без конфигуратора?
Только косвенно: загрузите изображение с пропорциями, которые лучше заполнят отведённую область. Полноценное изменение размера отображения требует настройки формы или макета в конфигураторе либо внешней печатной формы.
Почему после растягивания картинка стала размытой?
Исходный файл имеет маленькое разрешение, и при увеличении пиксели становятся заметны. 1С не улучшает качество изображения — замените файл на версию с большим разрешением, желательно в 2–3 раза превышающим размер области вывода.
Чем отличается «Растянуть» от «Пропорционально» в свойстве РазмерКартинки?
«Растянуть» заполняет всю область элемента, искажая пропорции, если они не совпадают. «Пропорционально» увеличивает картинку до пределов области с сохранением соотношения сторон — для фото и логотипов это почти всегда правильный выбор.
Как растянуть логотип на весь лист в печатной форме?
В макете табличного документа увеличьте область рисунка до нужной ширины колонок и высоты строк, либо программно задайте свойства Высота и Ширина рисунка в процедуре печати. Учтите, что очень крупный логотип потребует исходника высокого качества.
Пропадут ли мои изменения макета после обновления конфигурации?
Если конфигурация типовая и находится на полной поддержке — да, изменённые типовые макеты будут заменены при обновлении. Чтобы сохранить доработки, используйте внешние печатные формы или скопируйте макет с изменением режима поддержки.
Что важно запомнить
Способ растягивания картинки в 1С зависит от места вывода: для форм — свойство РазмерКартинки, для печатных форм — размеры области макета или свойства рисунка в коде. Для фото и логотипов выбирайте пропорциональный режим, следите за качеством исходника и не правьте типовые макеты напрямую — используйте внешние печатные формы.