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

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

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

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

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

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

Как определить, какая печатная форма используется

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

Если форма типовая, макет находится в конфигурации. В конфигураторе он может лежать в двух местах: в ветке «Общие → Макеты» (общие макеты, доступные всем объектам) или внутри самого объекта — например, «Документы → РеализацияТоваровУслуг → Макеты». Процедура формирования печати обычно находится в модуле менеджера объекта и называется «Печать» или «ДобавитьКомандыПечати».

Форма не выводит новое полеМакет устарел относительно данных

Есть ли поле в макете и заполняется ли оно в документе

После обновления форма сломаласьОбновился типовой макет или код печати

Не перезаписало ли обновление ваши правки

В списке печати две похожие формыПодключена внешняя печатная форма

Администрирование → Печатные формы, отчеты и обработки

Ошибка при формировании печатиОшибка в коде модуля печати или внешней обработки

Текст ошибки и журнал регистрации

Как исправить макет в конфигураторе

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

Типовые правки внутри макета: изменить текст статичной надписи (просто отредактируйте ячейку), добавить параметр (в свойствах ячейки установите «Заполнение» = «Параметр» или «Шаблон» и укажите имя, например ПредставлениеПоставщика), изменить ширину колонок, шрифт, рамки. Если вы добавляете новый параметр, его нужно заполнить в коде — иначе на печати останется пустое место или имя параметра угловыми скобками.

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

Как исправить внешнюю печатную форму (.epf)

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

Чтобы исправить такую форму, откройте конфигуратор, выберите «Файл → Открыть» и укажите файл .epf. Структура обработки похожа на внутреннюю механику печати: внутри есть макет и модуль объекта с экспортной функцией Печать(), которая возвращает табличный документ. Исправьте макет или код, сохраните файл и замените его в справочнике дополнительных обработок: откройте элемент, нажмите «Загрузить из файла» и выберите обновлённый .epf.

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

Порядок действий при правке макета
  1. 1
    Сделайте резервную копию базы или сохраните исходный .epf-файл
  2. 2
    Определите, где лежит макет: конфигурация, внешняя обработка или пользовательский макет
  3. 3
    Откройте макет и внесите правку в нужную область (шапка, строка, подвал)
  4. 4
    При добавлении параметра дополните код заполнения в модуле
  5. 5
    Сохраните изменения и обновите конфигурацию базы данных (F7), если правили в конфигураторе
  6. 6
    Сформируйте печать на тестовом документе и сверьте все поля
  7. 7
    Проверьте форму на документе с длинными наименованиями и несколькими строками

Как изменить пользовательский макет без конфигуратора

Часть типовых конфигураций (например, на базе Библиотеки стандартных подсистем) позволяет менять макеты прямо из режима «Предприятие». Откройте «Администрирование → Печатные формы, отчеты и обработки → Макеты печатных форм» (в некоторых конфигурациях — «Пользовательские макеты»). Найдите нужный макет, откройте его и отредактируйте как обычный табличный документ: текст, шрифты, ширина колонок, положение полей.

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

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

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

Пользовательский макет из режима «Предприятие»

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

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

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

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

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

Расширение конфигурации

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

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

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

Вторая ошибка — добавление параметра в макет без заполнения в коде. На печати это выглядит как пустое место или текст вида «<ИмяПараметра>». Третья — правка области «СтрокаТаблицы» без учёта переноса: длинное наименование товара разрывает таблицу. Включите для ячейки свойство «Автовысота» или увеличьте высоту строки. Четвёртая — правка рабочей базы без копии: любая ошибка в коде печати проявится у всех пользователей сразу.

Типичные ошибки
01
Правка не того макета — изменения не видны на печати; проверяйте тестовой надписью
02
Новый параметр не заполнен в коде — на печати пусто или видно имя параметра
03
Игнорирование автовысоты строк — длинные наименования обрезаются или ломают таблицу
04
Правка рабочей базы без резервной копии — ошибка затрагивает всех пользователей
05
Забыли обновить конфигурацию БД (F7) после правки в конфигураторе — форма остаётся старой

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

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

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

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

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

Все поля документа на форме
Норма

Значения совпадают с документом

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

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

Табличная часть
Норма

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

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

Строки обрезаны или таблица разъезжается

Итоги и сумма прописью
Норма

Итоги сходятся с документом

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

Расхождения в копейках, неверная пропись

Предпросмотр и выгрузка
Норма

Страница не обрезана, PDF/Excel корректны

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

Обрезанные колонки, съехавшие ячейки

Часто задаваемые вопросы

Можно ли исправить печатную форму без конфигуратора?

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

После обновления 1С печатная форма стала старой. Что делать?

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

На печати вместо значения выводится текст в угловых скобках. В чём причина?

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

Как добавить в счёт на оплату логотип или печать организации?

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

Внешняя печатная форма не появляется в списке «Печать». Почему?

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

Безопасно ли править печатную форму в рабочей базе?

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

Итог

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

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