Документы и Печать · 9 мин
Как исправить печатную форму в 1С ЗУП
Разбираем, как исправить печатную форму в 1С ЗУП: изменение через макет, механизм «Изменить форму», внешние печатные формы, типовые ошибки и проверка результата.
Печатная форма в 1С:ЗУП может потребовать исправления в десятках ситуаций: изменились реквизиты организации, руководитель просит добавить должность в приказ о приёме, в расчётном листке нужно вывести дополнительный показатель, а в типовой форме Т-2 не хватает поля. Подход к исправлению зависит от того, что именно нужно поменять: текст и оформление, состав выводимых данных или логику заполнения.
Есть три основных способа: правка макета непосредственно в конфигураторе, использование встроенного механизма изменения форм (в типовых конфигурациях на основе БСП) и подключение внешней печатной формы. Первый способ самый мощный, но требует снятия конфигурации с полной поддержки либо аккуратной работы через расширение. Второй и третий безопаснее и доступны без глубоких знаний программирования.
Прежде чем что-либо менять, определите, какая именно форма выводится при печати. В ЗУП один документ может иметь несколько печатных форм (например, у приказа о приёме — типовая Т-1 и произвольная), а пользователи могут печатать как из документа, так и из отчёта. Путаница на этом этапе — частая причина ситуации «я всё исправил, но ничего не изменилось».
Определите, какую форму и где нужно исправить
Откройте документ, из которого печатается форма, и нажмите кнопку «Печать». В выпадающем списке видны все доступные варианты. Запомните точное название нужной формы — именно под ним она хранится в конфигурации или в справочнике дополнительных печатных форм.
Далее выясните, откуда форма берётся. Если в меню «Администрирование — Печатные формы, отчёты и обработки — Дополнительные отчёты и обработки» подключена внешняя форма с таким названием, править нужно её, а не типовой макет. Если внешних форм нет — используется встроенный макет конфигурации.
Достаточно механизма «Изменить форму» или правки макета
Потребуется правка макета и, возможно, запроса в модуле
Откройте файл внешней формы в конфигураторе и отредактируйте его макет
Переносите доработки в расширение или во внешнюю форму
Быстрая правка через «Изменить форму»
Типовые конфигурации на библиотеке стандартных подсистем позволяют менять макет прямо из режима предприятия. Сформируйте печатную форму, затем в окне предварительного просмотра нажмите «Ещё — Изменить форму» (в некоторых версиях — кнопка с карандашом). Откроется редактор табличного документа.
В редакторе можно править текст ячеек, шрифты, границы, добавлять и удалять строки, вставлять логотип. Ячейки с параметрами отображаются в квадратных скобках, например [НаименованиеОрганизации], — их не переименовывайте, иначе подстановка данных сломается. После правки сохраните форму: изменённый макет сохраняется в базе и применяется при следующей печати.
У этого способа есть ограничения: он не позволяет добавить параметр, которого нет в исходном макете, и не меняет логику заполнения. Если нужного поля нет среди параметров — потребуется работа в конфигураторе.
Правка макета в конфигураторе
Когда возможностей «Изменить форму» не хватает, откройте конфигуратор. Найдите нужный макет: чаще всего он лежит в ветке «Общие — Макеты» либо внутри объекта (документа или справочника) на вкладке «Макеты». Найти нужный объект проще через глобальный поиск (Ctrl+Shift+F) по названию печатной формы.
Макет печатной формы состоит из именованных областей (шапка, строка, подвал). Внутри ячеек встречаются три типа заполнения: текст (выводится как есть), параметр (подставляется значение, например {ФИОСотрудника}) и шаблон (текст с вставками параметров). Чтобы исправить статический текст — просто отредактируйте ячейку. Чтобы добавить новый параметр — впишите его в ячейку и убедитесь, что в модуле менеджера объекта этому параметру присваивается значение.
Логика заполнения обычно находится в модуле менеджера документа или справочника в процедурах вида «ДобавитьКомандуПечати» и «Печать». Если вы добавили параметр в макет, найдите соответствующую процедуру печати и дополните заполнение параметров области. Без этого ячейка выведется пустой.
- 1Сделайте резервную копию базы через «Администрирование — Выгрузить информационную базу»
- 2Найдите макет через глобальный поиск по названию печатной формы
- 3Отредактируйте ячейки: текст, параметры, оформление
- 4При добавлении нового параметра дополните процедуру печати в модуле менеджера
- 5Обновите конфигурацию базы данных (F7) и проверьте печать на тестовом документе
- 6Сравните результат с требованиями: все поля заполнены, нумерация страниц и подписи корректны
Безопасная доработка через расширение
Прямая правка типового макета приводит к снятию объектов с полной поддержки и усложняет обновления. Рекомендуемый путь — расширение конфигурации. В конфигураторе: «Конфигурация — Расширения конфигурации — Создать». Затем добавьте в расширение нужный макет или заимствуйте процедуру печати с изменением.
Для печатных форм часто достаточно добавить в расширение собственный общий макет и переопределить (через аннотацию «ИзменениеИКонтроль» или «Вместо») процедуру формирования, указав свой макет. Так типовая конфигурация остаётся на поддержке, а обновления не затирают ваши правки.
Внешняя печатная форма как альтернатива
Если доработка существенная — свой макет, свой запрос, дополнительные поля — удобно оформить её как внешнюю печатную форму (файл .epf). В конфигураторе создаётся внешняя обработка с функцией «СведенияОВнешнейОбработке», где указывается вид «ПечатнаяФорма», назначение (документ) и команда печати.
Готовая обработка подключается в режиме предприятия: «Администрирование — Печатные формы, отчёты и обработки — Дополнительные отчёты и обработки — Добавить из файла». После подключения в меню «Печать» документа появится новый пункт, а типовая форма останется нетронутой — её можно использовать как эталон для сравнения.
Сравнение вариантов
Подходит для правки текста, шрифтов, логотипа. Не добавляет новые параметры и не меняет логику
Подходит для изменения макета и логики без снятия с поддержки. Требует навыков работы в конфигураторе
Подходит для полностью новой формы. Не трогает типовую конфигурацию, легко откатить удалением из списка
Самый быстрый, но самый рискованный: снимает объекты с поддержки, правки затираются обновлениями
Проверка результата и типичные ошибки
После исправления сформируйте форму минимум на двух-трёх разных документах: с короткими и длинными значениями (длинное ФИО, длинное наименование должности). Проверьте, что переносы строк не ломают макет, все параметры заполнены, а итоговые суммы и подписи на месте.
Если печатается старая версия — убедитесь, что правили именно ту форму, которая вызывается: проверьте список дополнительных печатных форм, очистите кэш (перезапуск сеанса часто достаточен) и убедитесь, что расширение подключено и применено. Если ячейка выводится пустой — параметр в макете есть, но в процедуре печати ему не присвоено значение.
FAQ
Как вернуть типовую печатную форму после неудачной правки?
Если правка делалась через «Изменить форму», откройте тот же редактор и воспользуйтесь командой возврата к типовому макету (либо удалите изменённый макет из базы). Если правился макет в конфигураторе — загрузите конфигурацию из файла поставки или восстановите базу из резервной копии. Поэтому копия перед правкой обязательна.
Почему после обновления ЗУП печатная форма снова стала типовой?
При обновлении типовые макеты перезаписываются, если они правились напрямую в конфигурации. Чтобы правки не пропадали, переносите их в расширение конфигурации или оформляйте как внешнюю печатную форму — эти механизмы обновления не затрагивают.
Можно ли добавить в форму поле, которого нет в макете, без конфигуратора?
Нет. Механизм «Изменить форму» позволяет работать только с существующими параметрами и статическим текстом. Новое поле из данных документа требует добавления параметра в макет и его заполнения в коде — это делается в конфигураторе или во внешней печатной форме.
Как исправить форму только для одной организации, если их несколько?
В макете можно добавить условие через параметры и логику в процедуре печати: например, выводить разные области в зависимости от организации. Проще всего это реализовать во внешней печатной форме, где в коде проверяется организация документа и выбирается нужный макет.
Что делать, если печатная форма выводится с ошибкой «Поле не найдено»?
Такая ошибка означает, что в макете используется параметр, которого нет в данных заполнения — обычно после обновления или при несовпадении версий внешней формы и конфигурации. Откройте макет, сверьте имена параметров с процедурой печати и приведите их в соответствие.
Нужны ли права администратора для правки печатных форм?
Для «Изменить форму» в режиме предприятия достаточно прав на изменение печатных форм (обычно есть у старшего кадровика или расчётчика с расширенными правами). Для подключения внешних форм и работы в конфигураторе нужны административные права и, как правило, отключённая защита от опасных действий при подключении обработки.
Что важно запомнить
Начинайте с простого: правка текста и оформления делается через «Изменить форму» в режиме предприятия. Для изменения состава данных используйте расширение конфигурации или внешнюю печатную форму — так типовая конфигурация останется на поддержке. Всегда делайте резервную копию и проверяйте результат на нескольких документах с разными данными.