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

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

Как вставить логотип в макет 1С

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

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

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

Где хранятся макеты и какой из них нужен

Макеты в 1С находятся в дереве конфигурации. Печатные формы документов обычно используют макеты типа «Табличный документ», которые лежат либо в ветке конкретного документа (например, «Документы → РеализацияТоваровУслуг → Макеты»), либо в общей ветке «Общие → Общие макеты». В типовых конфигурациях макет печатной формы часто называется по имени формы: «МакетСчетЗаказ», «МакетТОРГ12» и тому подобное.

Прежде чем что-то менять, убедитесь, что вы нашли именно тот макет, который реально используется при печати. Самый надёжный способ — открыть модуль менеджера или объекта документа и найти процедуру печати: в ней видно, какой макет получается методом ПолучитьМакет("..."). В управляемых формах типовых конфигураций печать может идти через подсистему «Управление печатью», и макет ищется по имени, указанному в коде формирования.

Подготовка файла логотипа

Платформа 1С работает с распространёнными растровыми форматами: PNG, JPEG, BMP, GIF. Для логотипа практичнее PNG с прозрачным фоном — он корректно ляжет на цветные области макета и не даст белого прямоугольника вокруг изображения. JPEG подходит хуже: артефакты сжатия заметны на мелких элементах и тексте логотипа.

Подготовьте файл заранее в нужном размере. Подбирать размер картинкой в 3000 пикселей и потом сжимать её в макете — плохая практика: файл макета раздувается, а качество при масштабировании страдает. Ориентируйтесь на физический размер области в печатной форме: для шапки счёта обычно достаточно ширины 3–5 см, что при разрешении печати 300 dpi соответствует примерно 350–600 пикселям.

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

Вставка картинки в макет табличного документа

Основной способ — вставка рисунка непосредственно в макет в конфигураторе. Порядок действий одинаков для макетов документов и общих макетов.

Порядок действий
  1. 1
    Откройте конфигуратор и найдите нужный макет в дереве конфигурации
  2. 2
    Откройте макет двойным щелчком — появится табличный документ
  3. 3
    Выделите ячейку или диапазон ячеек, где должен располагаться логотип
  4. 4
    Выполните команду «Таблица → Рисунки → Вставить рисунок» (в новых версиях — «Главное меню → Таблица → Рисунок»)
  5. 5
    Выберите файл логотипа и подтвердите вставку
  6. 6
    Перетащите рисунок в нужную позицию и задайте размер через свойства рисунка
  7. 7
    Сохраните конфигурацию и обновите конфигурацию базы данных (F7)

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

Если логотип должен стоять в строке с текстом (например, рядом с названием организации), удобнее выделить под него отдельные объединённые ячейки с фиксированной высотой строки. Иначе при выводе области рисунок может «поплыть» относительно текста.

Вывод логотипа программно

Когда логотип зависит от организации или хранится в базе данных (например, в присоединенных файлах справочника «Организации»), статическая картинка в макете не подходит. В этом случае рисунок добавляется в табличный документ программно при формировании печатной формы.

bsl
ТабДок = Новый ТабличныйДокумент;
Макет = Документы.РеализацияТоваровУслуг.ПолучитьМакет("МакетСчета");
ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
ТабДок.Вывести(ОбластьШапка);

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

Координаты рисунка задаются в миллиметрах относительно табличного документа. Чтобы попасть в нужное место, проще всего сначала вывести форму без логотипа, измерить положение целевой области (через свойства области макета видны высоты строк) и затем подобрать значения Верх/Лево. Учитывайте, что координаты отсчитываются от начала всего табличного документа, включая уже выведенные области.

Альтернативный вариант — заранее вставить в макет пустой рисунок-заполнитель с известным именем, а в коде только подменять его картинку: Область.Рисунки.Логотип.Картинка = Новый Картинка(ДвоичныеДанные). Так положение и размер остаются заданными в макете, а код отвечает только за содержимое.

Логотип в типовых конфигурациях без изменения кода

Во многих типовых решениях (например, в конфигурациях на базе БСП) предусмотрен штатный механизм: логотип прикрепляется к карточке организации, а печатные формы выводят его автоматически. Проверьте карточку организации в режиме предприятия — если там есть поле «Логотип» или «Файл логотипа», достаточно загрузить картинку туда, и вмешательство в конфигуратор не потребуется.

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

Проверка результата и типичные ошибки

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

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

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

Положение логотипа
Норма

Рисунок стоит в заданном месте и не смещается при выводе разных документов

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

Логотип наезжает на текст или уезжает при длинной шапке

Пропорции
Норма

Изображение не растянуто и не сплюснуто

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

Логотип искажён — неверно выбран размер картинки

Печать
Норма

На бумаге логотип читаем, цвета не сливаются

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

Серое пятно на ч/б печати, размытые мелкие элементы

Разные организации
Норма

Для каждой организации выводится свой логотип или ничего

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

Всем организациям выводится один и тот же логотип

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

Отдельная частая ситуация: логотип вставлен, но при печати не выводится. Проверьте, что рисунок находится внутри именованной области, которая реально выводится кодом, а не за её пределами. Если картинка вставлена в макет ниже области «Шапка», а код выводит только «Шапку», рисунок в результат не попадёт.

Выбор способа под вашу задачу

Маршрут решения

Как выбрать действие

Типовая конфигурация, в карточке организации есть поле логотипаЗагрузите картинку в карточку организации — конфигуратор не нужен
Типовая конфигурация без штатного механизма логотипаСоздайте внешнюю печатную форму с собственным макетом
Самописная или доработанная конфигурация, логотип один на всехВставьте рисунок прямо в макет табличного документа
Разные логотипы для разных организацийХраните картинки в базе и выводите логотип программно при формировании формы

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

Итог

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

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

Частые вопросы

Логотип виден в макете, но не выходит на печатной форме. Почему?

Чаще всего рисунок находится вне именованной области, которую выводит код печати. Откройте макет, проверьте границы областей (они отмечены в левой части макета) и переместите рисунок внутрь нужной области. Также убедитесь, что вы изменили именно тот макет, который используется процедурой печати.

Какой формат файла лучше для логотипа в 1С?

Оптимален PNG с прозрачным фоном: он не даёт белой подложки на цветных областях и хорошо сохраняет чёткие края. JPEG хуже подходит для логотипов из-за артефактов сжатия на мелких элементах и отсутствия прозрачности.

Можно ли вставить разные логотипы для разных организаций?

Да. Храните картинки в базе (например, как присоединенные файлы справочника организаций) и выводите рисунок программно при формировании печатной формы, подставляя картинку нужной организации. Статическая вставка в макет для этого не подходит.

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

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

Логотип выводится растянутым или сплюснутым. Что делать?

Выделите рисунок в макете и в свойствах установите размер картинки «Пропорционально» или «Реальный размер». Если размер задан программно, пересчитайте ширину и высоту, сохранив исходное соотношение сторон файла.

Нужны ли права администратора для вставки логотипа?

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