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