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

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

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

Способы редактирования печатных форм в 1С 8.3: через «Изменить макет», конфигуратор, внешние печатные формы. Пошаговые инструкции, ошибки и советы.

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

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

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

Какие способы редактирования существуют и как выбрать

В 1С 8.3 есть четыре основных подхода к изменению печатных форм. Первый — редактирование макета из пользовательского режима через «Изменить макет» (доступен не во всех конфигурациях). Второй — правка макета в конфигураторе с изменением самой конфигурации. Третий — создание внешней печатной формы, которая подключается к типовой конфигурации без её изменения. Четвёртый — ручная правка уже сформированного табличного документа перед печатью.

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

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

Изменить макет в режиме предприятия

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

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

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

Внешняя печатная форма

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

Правка сформированного документа

Быстрое исправление одного экземпляра. Изменения не сохраняются в макете и не применяются к следующим документам.

Быстрая правка через «Изменить макет» в режиме предприятия

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

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

Чтобы вставить логотип, выделите нужную ячейку, откройте свойства (правый клик → «Свойства») и в свойстве «Картинка» выберите файл изображения. Учтите, что картинка фиксированного размера может исказить высоту строк — после вставки проверьте форму на печати.

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

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

Редактирование макета в конфигураторе

Полный доступ к печатным формам даёт конфигуратор. Макеты печатных форм обычно находятся в ветке «Общие → Макеты», а также внутри объектов: у документа «Реализация товаров и услуг», например, макеты лежат в его собственной ветке «Макеты». Искать нужный удобно через поиск по конфигурации (Ctrl+Shift+F) по фрагменту текста из печатной формы.

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

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

Как найти процедуру печати в коде

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

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

Внешняя печатная форма без изменения конфигурации

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

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

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

Разовая правка сформированного документа перед печатью

Иногда нужно исправить не макет, а один конкретный экземпляр: опечатка в адресе, особая приписка для контрагента. Сформируйте печатную форму, затем включите режим редактирования: «Ещё → Изменить» (или снимите флажок «Только просмотр» в меню табличного документа). После этого ячейки становятся редактируемыми — внесите правки и отправьте на печать.

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

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

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

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

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

Параметры в макете
Норма

Все поля заполнены данными из документа

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

Видны квадратные скобки или пустые места там, где должны быть данные

Многострочная таблица
Норма

Строки не разрываются, итоги на последней странице

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

Строка делится пополам между страницами, итоги «уезжают»

Логотип и картинки
Норма

Изображение чёткое, не искажает высоту строк

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

Картинка растянута, соседние ячейки сдвинуты

Длинные наименования
Норма

Текст переносится или умещается в ячейке

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

Текст обрезан или налезает на соседние колонки

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

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

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

Нет кнопки «Изменить макет» в режиме предприятия. Что делать?

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

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

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

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

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

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

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

Почему изменённый макет в режиме предприятия не виден другим пользователям?

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

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

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

Итог

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

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