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

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

Как настроить печатную форму в 1С 8

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

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

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

Как устроены печатные формы в 1С 8

Любая печатная форма состоит из двух частей: макета и программного кода, который его заполняет. Макет — это табличный документ с заранее размеченными областями: шапка, строка таблицы, подвал. В ячейках макета находятся либо статичный текст, либо параметры (заполняются данными документа), либо шаблоны (текст с вставками параметров в квадратных скобках).

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

Быстрая правка макета в пользовательском режиме

В типовых конфигурациях на базе БСП (Управление торговлей 11, ERP, Комплексная автоматизация, Бухгалтерия предприятия 3.0) есть встроенный механизм редактирования макетов без конфигуратора. Это самый быстрый и безопасный способ: изменения сохраняются в информационной базе, а не в конфигурации, и не мешают обновлениям.

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

В редакторе макета доступно большинство операций: вставка картинки (логотипа) через «Таблица → Рисунки», изменение текста ячеек, объединение ячеек, настройка шрифтов и рамок. Параметры в ячейках отображаются в квадратных скобках — например, [Организация] или [НомерДокумента]. Их можно перемещать, но нельзя переименовывать: параметр, которого нет в коде, останется пустым.

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

Настройка макета в конфигураторе

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

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

Что можно изменить в макете

Выделите ячейку и посмотрите свойство «Заполнение» в палитре свойств: оно принимает значения «Текст», «Параметр» или «Шаблон». Для параметра имя указывается в свойстве «Параметр» — оно должно совпадать с тем, что передаёт код. Для шаблона параметры вставляются внутрь текста в квадратных скобках: «Счёт № [Номер] от [Дата]».

Области макета выделяются по строкам или прямоугольником и именуются через «Таблица → Имена → Назначить имя». Код обращается к областям по этим именам: если переименуете область в макете, но не поправите код, печать завершится ошибкой «Область не найдена».

Доработка кода формирования

Если нужно вывести данные, которых нет в макете (например, телефон менеджера или дополнительное соглашение), откройте модуль менеджера объекта и найдите функцию печати — обычно она называется «Печать» или «СформироватьПечатнуюФорму…». Добавьте получение нужных данных из документа и передачу их в параметры области: ОбластьМакета.Параметры.ТелефонМенеджера = Телефон;. Затем добавьте параметр с таким же именем в ячейку макета.

Подключение внешней печатной формы

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

Разработка внешней формы ведётся в конфигураторе: «Файл → Новый → Внешняя обработка». В модуле обработки обязательно описывается функция СведенияОВнешнейОбработке(), которая сообщает системе, какие документы обслуживает форма и какие команды печати она добавляет. Макет и код формирования размещаются внутри самой обработки.

Подключение выполняется в пользовательском режиме: «Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки» (предварительно включите сам механизм флажком «Дополнительные отчеты и обработки»). Нажмите «Добавить из файла», выберите .epf-файл и укажите, для каких документов форма доступна. После этого в меню «Печать» документа появится новый пункт.

Сравнение способов настройки

Редактор макета в режиме «Предприятие»

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

Доработка в конфигураторе

Полный доступ к макету и коду, любые изменения. Минус: усложняет обновление и требует навыков разработки.

Внешняя печатная форма (.epf)

Полная свобода доработки без снятия с поддержки. Минус: нужно разработать обработку и следить за совместимостью с релизами.

Настройка параметров печати и вывода

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

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

Для вывода дополнительных реквизитов (например, полей «Грузополучатель», «Доверенность», добавленных как дополнительные сведения) в типовых решениях часто достаточно вставить в макет параметр и проверить, заполняется ли он кодом. Если нет — данные выводятся доработкой кода или внешней формой.

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

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

Предпросмотр формы
Норма

Все поля заполнены, текст не обрезан, таблица помещается по ширине листа

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

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

Печать на бумаге или в PDF
Норма

Поля и ориентация соответствуют заданным, логотип читаем

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

Обрезанные края, съехавшие колонтитулы, искажённая картинка

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

Форма корректна для любых данных, включая длинные наименования

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

На длинных данных макет «разъезжается» или переносит строки некорректно

Типичные ошибки и как их избежать

Самая частая проблема — пустые поля на печати после правки макета. Причина почти всегда в несовпадении имени параметра в макете и в коде: регистр букв значения не имеет, но лишний пробел или опечатка ломают связь. Проверяйте имя параметра в свойствах ячейки и в строке кода Параметры.ИмяПараметра = ....

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

Типичные ошибки
01
Правка макета без копии: при ошибке нечего откатить — всегда сохраняйте исходный макет отдельно
02
Переименование областей макета без правки кода: печать падает с ошибкой «Область не найдена»
03
Добавление параметра в макет без передачи его из кода: на печати остаётся пустое место или само имя параметра
04
Изменение типовой формы вместо создания внешней: при обновлении правки теряются или блокируют обновление
05
Проверка только на одном документе: на длинных наименованиях и больших таблицах макет ведёт себя иначе

Когда привлекать специалиста

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

К разработчику стоит обращаться, если нужно: добавить новые данные в форму, изменить логику группировки строк, объединить несколько документов в одну форму, сделать форму с баркодом или QR-кодом, либо если конфигурация сильно доработана и любые правки требуют анализа существующего кода. Ошибка в коде печати не разрушит данные, но может заблокировать работу пользователей на время исправления.

Итог

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

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

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

Где в 1С 8.3 находится кнопка «Изменить макет»?

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

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

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

Как добавить логотип на печатную форму?

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

Можно ли вывести на печать дополнительный реквизит документа?

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

Что делать, если внешняя печатная форма перестала работать после обновления?

Причина обычно в том, что в новом релизе переименовали реквизиты или изменили структуру данных, к которым обращается обработка. Откройте обработку в конфигураторе, найдите строку с ошибкой и приведите обращения к данным в соответствие с новой структурой объекта.

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

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