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