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