Документы и Печать · 11 мин
Где хранится печатная форма документа в 1С
Разбираем, где хранится печатная форма документа в 1С: внутренние макеты конфигурации, внешние печатные формы, регистры сведений и способы их найти и изменить.
Печатная форма документа в 1С — это не файл, лежащий «рядом с базой», а объект, который может находиться в нескольких местах одновременно: внутри конфигурации, в справочнике дополнительных отчетов и обработок, в регистре сведений или в виде внешнего файла с расширением .epf. Именно поэтому вопрос «где хранится печатная форма» почти всегда требует уточнения: о какой форме идет речь — встроенной, доработанной или подключенной извне.
От места хранения зависит и способ изменения формы. Встроенный макет правится через конфигуратор, внешняя печатная форма — через файл обработки, а пользовательские макеты в управляемых приложениях часто редактируются прямо из режима 1С:Предприятие без привлечения разработчика. Ниже разберем все варианты хранения, способы их найти и типичные ошибки, из-за которых изменения «не применяются».
Встроенные макеты: печатная форма внутри конфигурации
Основной вариант для типовых конфигураций — макет печатной формы, хранящийся непосредственно в конфигурации. В конфигураторе он находится в дереве объектов: откройте нужный документ (например, «Реализация товаров и услуг»), раскройте ветку «Макеты» — там лежат табличные документы с именами вроде «МакетТОРГ12» или «МакетСчетФактура». Сам макет — это шаблон с областями, ячейками и параметрами, которые заполняются данными документа при печати.
Важно понимать, что макет — это только «бланк». Логика формирования (какие данные куда подставляются) находится в программном коде: в модуле менеджера документа, в общем модуле печати или в модуле объекта. Поэтому правка одного макета без понимания кода иногда не дает результата — например, если нужная область выводится программно с другим именем.
В управляемых конфигурациях (УТ 11, ERP, Бухгалтерия 3.0) печать часто построена на БСП-инфраструктуре: макеты лежат не у документа, а в общих макетах или в макетах менеджеров печати. Найти нужный помогает поиск по конфигурации: в конфигураторе нажмите Ctrl+Shift+F и ищите по имени команды печати или фрагменту текста из формы.
Внешние печатные формы: файлы .epf и их загрузка в базу
Внешняя печатная форма — это файл с расширением .epf (внешняя обработка), который содержит и макет, и код формирования. До загрузки в базу она хранится как обычный файл на диске — в папке, куда ее сохранил разработчик или откуда ее скачали. После подключения через «Дополнительные отчеты и обработки» файл копируется внутрь информационной базы, и исходный файл на диске больше не нужен для работы.
Найти уже подключенные внешние формы можно так: «Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки». В списке будут видны все загруженные обработки с указанием, к каким объектам они привязаны. Открыв элемент справочника, можно выгрузить файл обратно на диск (команда «Выгрузить в файл») — это стандартный способ получить копию формы для редактирования.
Для редактирования .epf-файл открывают в конфигураторе через «Файл → Открыть». Внутри обработки обычно есть макет (табличный документ) и модуль объекта с экспортной функцией Печать() или сведениями о внешней обработке для регистрации в БСП. После правки файл нужно заново загрузить в базу — либо заменой в существующем элементе справочника, либо как новую обработку.
- 1Откройте «Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки».
- 2Найдите нужную форму в списке и откройте элемент, нажмите «Выгрузить в файл», сохраните .epf на диск.
- 3Откройте файл в конфигураторе, отредактируйте макет и при необходимости код, сохраните.
- 4Вернитесь в элемент справочника и загрузите измененный файл вместо старого.
- 5Откройте документ и проверьте печать: форма должна выводиться с внесенными изменениями.
Пользовательские макеты: редактирование без конфигуратора
В конфигурациях на базе БСП есть механизм пользовательских макетов: типовой макет можно скопировать и изменить прямо в режиме 1С:Предприятие, не трогая конфигурацию. Такие измененные макеты хранятся в специальном хранилище внутри базы (регистр «Пользовательские макеты печати»), а не в конфигурации — поэтому они не снимают конфигурацию с поддержки и не затираются при обновлении.
Чтобы найти и отредактировать такой макет, откройте «Администрирование → Печатные формы, отчеты и обработки → Макеты печатных форм» (в некоторых конфигурациях путь может немного отличаться). В списке отображаются макеты по объектам и командам печати; измененные пользователем помечаются отдельно. Открыв макет, вы увидите табличный документ, который можно править как обычную таблицу: текст, шрифты, границы, области.
Ограничение этого способа — работают только те изменения, которые поддерживает механизм: текст, оформление, простые параметры. Если нужно изменить логику вывода (например, добавить вычисляемое поле или изменить состав областей), потребуется внешняя печатная форма или доработка конфигурации.
Три способа изменить печатную форму
Подходит для правки текста, шапки, подписей. Не снимает конфигурацию с поддержки, но не позволяет менять логику вывода.
Подходит для любых изменений макета и логики без доработки конфигурации. Требует навыков работы в конфигураторе и контроля при обновлениях.
Подходит, когда форма должна остаться частью конфигурации. Снимает объект с поддержки и усложняет обновления.
Где искать печатную форму в файловой и клиент-серверной базе
Частый вопрос администраторов: «в каком файле на диске лежит печатная форма?». Ответ: ни в каком отдельном файле. В файловой базе все данные, включая загруженные внешние обработки и пользовательские макеты, хранятся внутри файла 1Cv8.1CD. В клиент-серверном варианте — в таблицах СУБД (MS SQL, PostgreSQL и др.). Извлекать формы напрямую из этих хранилищ штатными средствами не предусмотрено.
Единственное исключение — исходные .epf-файлы, которые еще не загружены в базу, и файлы макетов, если разработчик хранит их отдельно (например, макеты в формате .mxl или офисные шаблоны .docx/.xlsx для печати через COM/внешние компоненты). Такие файлы лежат там, куда их положил разработчик: типовых путей нет, искать нужно по документации проекта или в расширении конфигурации.
Практический вывод: чтобы получить форму из базы, используйте штатные механизмы выгрузки — «Выгрузить в файл» для дополнительных обработок, «Сохранить копию» для пользовательских макетов, выгрузку конфигурации или расширения — для встроенных макетов.
Расширения конфигурации и командная печать
Современный способ доработки печатных форм без изменения типовой конфигурации — расширение. В расширении можно добавить собственный макет и обработчик команды печати, которые «перекроют» или дополнят типовые. Хранится расширение внутри базы: список подключенных расширений доступен через «Администрирование → Печатные формы, отчеты и обработки → Расширения» (или через «Все функции → Стандартные → Управление расширениями конфигурации»).
Если печатная форма появилась после установки расширения, искать ее макет нужно именно там: откройте расширение в конфигураторе («Конфигурация → Расширения конфигурации») и найдите макет в его составе. Правка расширения не затрагивает типовую конфигурацию, но при обновлении расширение может потребовать адаптации, если изменились типовые объекты, с которыми оно работает.
Отдельный случай — печать через офисные шаблоны (Word/Excel). В некоторых решениях макетом служит файл .docx или .xlsx, загруженный в базу как двоичные данные в справочнике или регистре. Место хранения зависит от конкретной доработки; найти его помогает поиск по коду, формирующему печать, — там будет видно, откуда берется шаблон.
Как определить, где лежит конкретная форма
Как проверить результат и типичные ошибки
После любого изменения печатной формы результат проверяется просто: откройте документ, нажмите кнопку печати и сверьте выведенную форму с ожиданиями. Если изменений не видно, чаще всего причина в одной из типовых ошибок, перечисленных ниже.
Полезный прием диагностики — временно вписать в макет уникальную метку (например, строку «ТЕСТ-ВЕРСИЯ» в подвал). Если метка появилась при печати — вы правите именно тот макет, который реально используется. Если нет — система берет форму из другого места: внешней обработки, расширения или пользовательского макета, который перекрывает ваш.
Еще одна проверка — состав кнопки «Печать» в документе. Если в выпадающем списке несколько команд с похожими названиями («Счет на оплату» и «Счет на оплату (внешняя)»), убедитесь, что пользователи нажимают нужную. Лишние команды можно отключить в настройках дополнительных обработок или через изменение состава команд печати.
Что важно запомнить
Печатная форма в 1С хранится либо в макетах конфигурации, либо в справочнике дополнительных отчетов и обработок (загруженные .epf), либо в пользовательских макетах и расширениях — всегда внутри базы, а не отдельным файлом. Перед правкой определите, какая именно копия формы реально используется, сделайте резервную копию и проверяйте результат печатью тестового документа.
Частые вопросы о хранении печатных форм
Можно ли найти печатную форму в папке с базой 1С?
Нет. В файловой базе все формы находятся внутри файла 1Cv8.1CD, в клиент-серверной — в таблицах СУБД. Отдельных файлов макетов в каталоге базы не существует. Извлечь форму можно только штатными средствами: выгрузкой обработки, сохранением пользовательского макета или выгрузкой конфигурации.
Я изменил макет в конфигураторе, но печать не изменилась. Почему?
Наиболее вероятные причины: существует пользовательский макет, который перекрывает типовой; форма формируется внешней обработкой или расширением; либо измененная область макета не выводится программным кодом. Проверьте «Макеты печатных форм», список дополнительных обработок и добавьте в макет тестовую метку для диагностики.
Что будет с внешними печатными формами при обновлении конфигурации?
Загруженные в справочник «Дополнительные отчеты и обработки» формы при типовом обновлении сохраняются, так как это данные, а не метаданные. Однако если обновление изменило структуру данных документа, старая форма может перестать корректно заполняться — потребуется ее адаптация.
Как скопировать печатную форму из одной базы в другую?
Для внешней формы: выгрузите .epf через «Выгрузить в файл» в исходной базе и загрузите в целевой через «Дополнительные отчеты и обработки». Для пользовательского макета — сохраните его копию и загрузите в другой базе. Для встроенного макета потребуется перенос через конфигуратор (сравнение и объединение или расширение).
Где хранятся макеты в формате Word или Excel?
Штатного единого места нет: такие шаблоны обычно хранятся как двоичные данные в справочниках или регистрах конкретной доработки либо подключаются из расширения. Чтобы найти место хранения, изучите код, формирующий печать, — в нем будет видно, откуда загружается шаблон.