Документы и Печать · 11 мин
Как в 1С добавить форму договора
Как добавить печатную форму договора в 1С: подключение внешней печатной формы, настройка макета Word, регистрация в дополнительных отчетах и обработках.
Печатная форма договора — один из самых востребованных документов в 1С: договор поставки, оказания услуг, аренды или подряда должен формироваться из программы с автоматической подстановкой реквизитов контрагента, сумм и дат. В типовых конфигурациях на платформе 1С:Предприятие 8.3 (Управление торговлей, Бухгалтерия предприятия, ERP) добавить новую форму договора можно двумя основными способами: через механизм «Дополнительные отчеты и обработки» без изменения конфигурации или через внесение изменений в конфигураторе.
Первый способ безопаснее и доступен пользователю с правами администратора прямо в режиме предприятия: внешняя печатная форма подключается как файл обработки (.epf) и появляется в меню «Печать» нужных документов. Второй способ требует навыков программирования на встроенном языке 1С и применяется, когда нужна сложная логика заполнения, которую внешняя обработка не покрывает.
Ниже разобраны оба подхода, требования к макету, регистрация формы в базе, проверка результата и типичные ошибки, из-за которых кнопка печати не появляется или договор выводится с пустыми полями.
Какие способы добавления формы договора существуют
В экосистеме 1С есть три рабочих варианта. Первый — внешняя печатная форма, подключаемая через механизм БСП (Библиотека стандартных подсистем). Он не требует снятия конфигурации с поддержки, сохраняется при обновлениях и подходит для большинства задач: договор с реквизитами сторон, табличной частью спецификации, подписями.
Второй вариант — редактирование существующего макета договора прямо в конфигураторе, если форма уже предусмотрена типовым решением, но вас не устраивает её внешний вид. Третий — разработка собственной печатной формы внутри конфигурации с написанием процедуры формирования. Оба последних варианта требуют изменения конфигурации и усложняют последующие обновления.
Сравнение вариантов
Подходит для большинства задач; не трогает конфигурацию, переживает обновления. Ограничение — нужен готовый файл обработки или навык его создания.
Быстро, если форма уже есть, но изменения могут затереться при обновлении конфигурации.
Максимальная гибкость и сложная логика, но требует программиста 1С и снимает объекты с полной поддержки.
Для большинства организаций оптимален первый путь. Готовые внешние печатные формы договоров распространяются как файлы .epf; при необходимости их создают под конкретный шаблон договора компании.
Подготовка: что проверить перед подключением
Перед добавлением формы убедитесь, что ваша роль позволяет работать с дополнительными обработками. Обычно нужны права администратора или включенное право «Добавление и изменение дополнительных отчетов и обработок». Также проверьте, что механизм вообще включен: в некоторых базах его отключают в целях безопасности.
Определите, к какому объекту должна привязываться форма. Договор может печататься из справочника «Договоры контрагентов», из документа «Реализация товаров и услуг», «Счет на оплату» или «Заказ клиента». От этого зависит настройка назначения при регистрации обработки.
Если база работает в режиме запрета небезопасных действий (профили безопасности в кластере), администратор может дополнительно ограничить выполнение внешних обработок. В этом случае подключение согласуйте с ним заранее.
Подключение внешней печатной формы договора
Стандартный путь в конфигурациях на БСП: откройте раздел «Администрирование» → «Печатные формы, отчеты и обработки». Убедитесь, что установлен флажок «Дополнительные отчеты и обработки». Затем перейдите по одноименной ссылке — откроется список уже подключенных обработок.
Нажмите «Добавить из файла» (или «Создать» → «Загрузить из файла», в зависимости от версии БСП) и выберите файл внешней печатной формы с расширением .epf. Программа прочитает сведения из обработки: наименование, версию, вид «Печатная форма», безопасный режим.
- 1Откройте «Администрирование» → «Печатные формы, отчеты и обработки» и включите механизм дополнительных отчетов и обработок
- 2Нажмите «Добавить из файла» и выберите файл .epf с формой договора
- 3Проверьте наименование и при необходимости скорректируйте команду печати
- 4Откройте таблицу «Назначение» и укажите объекты: например, документ «Реализация (акты, накладные)» и справочник «Договоры контрагентов»
- 5Запишите обработку, откройте нужный документ и проверьте появление новой кнопки в меню «Печать»
Ключевой шаг — настройка назначения. Если обработка не содержит автоматически определенного списка объектов, добавьте их вручную: без привязки к типам документов кнопка печати нигде не появится. После записи откройте документ, нажмите «Печать» — в списке должна быть новая команда с названием вашей формы договора.
Как устроен файл внешней печатной формы
Чтобы обработка корректно зарегистрировалась, в её модуле объекта должна присутствовать функция СведенияОВнешнейОбработке(), возвращающая структуру с параметрами регистрации: вид «ПечатнаяФорма», назначение (массив типов объектов), таблица команд печати. Макет договора обычно хранится внутри обработки как табличный документ или макет Office Open XML (docx).
Функция СведенияОВнешнейОбработке() Экспорт
Параметры = Новый Структура;
Параметры.Вставить("Вид", "ПечатнаяФорма");
Параметры.Вставить("Назначение", НазначениеОбъектов());
Параметры.Вставить("Наименование", "Договор оказания услуг");
Параметры.Вставить("Версия", "1.0");
Параметры.Вставить("БезопасныйРежим", Истина);
Параметры.Вставить("Команды", КомандыПечати());
Возврат Параметры;
КонецФункцииЕсли вы заказываете разработку формы, передайте разработчику: шаблон договора в Word, список полей, которые должны подставляться автоматически (наименование и реквизиты контрагента, номер и дата договора, сумма прописью, подписанты), и укажите, из каких документов будет вызываться печать. Это избавит от доработок на этапе приемки.
Макет договора: табличный документ или Word
В 1С макет печатной формы строится двумя способами. Классический — макет табличного документа: области с параметрами вида [НомерДоговора], которые заполняются программно. Такой макет редактируется в конфигураторе или в конструкторе обработки и дает точный контроль над версткой, но сложен для юристов, привыкших к Word.
Альтернатива — макет в формате DOCX (Office Open XML) с полями подстановки. Пользователь с правами настройки может сам править текст договора в Word, не трогая код, а 1С подставит значения в закладки. Это удобно, когда юристы регулярно меняют формулировки договора.
Независимо от типа макета согласуйте с юристами итоговый вид: шрифты, поля, расположение блока подписей и печати. Исправлять макет после того, как формой уже пользуются менеджеры, сложнее — накопится масса распечатанных старых версий.
Изменение типовой формы через конфигуратор
Если договор уже печатается типовыми средствами, а нужно лишь поправить текст или добавить поле, можно отредактировать макет в конфигураторе. Для этого конфигурацию переводят в режим изменения (поддержка с возможностью изменения), находят нужный макет у документа или общий макет и правят области.
Добавление нового параметра потребует правки процедуры печати в модуле менеджера документа — здесь уже нужны навыки программирования. Помните: при обновлении конфигурации измененные объекты могут конфликтовать с новыми версиями поставщика, поэтому документируйте все правки.
Как выбрать действие
Проверка результата и типичные ошибки
После подключения проверьте форму на тестовом документе: все ли поля заполнены, корректно ли выводится сумма прописью, не съехала ли верстка, правильно ли подставлены подписанты. Проверьте печать из каждого типа документов, указанного в назначении.
Как проверить результат
Новая команда видна пользователям с нужными правами
Команды нет — проверьте назначение обработки и права пользователя
Реквизиты, суммы и даты подставляются из документа
Пустые поля или «<Объект не найден>» — ошибка в параметрах макета
Договор занимает ожидаемое число страниц, подписи на месте
Разрывы страниц, обрезанный текст — корректируйте макет
Если форма не появляется, последовательно проверьте: включен ли механизм дополнительных обработок, записана ли обработка, заполнено ли назначение, есть ли у пользователя права. Эта цепочка закрывает подавляющее большинство случаев «пропавшей» кнопки.
Частые вопросы
Можно ли добавить форму договора без программиста?
Да, если у вас есть готовый файл внешней печатной формы (.epf): подключение через «Дополнительные отчеты и обработки» выполняет администратор базы без изменения конфигурации. Создание самого файла с нуля требует навыков разработки на встроенном языке 1С.
Пропадет ли подключенная форма при обновлении конфигурации?
Нет. Внешние печатные формы хранятся в данных информационной базы, а не в конфигурации, поэтому обновление их не затрагивает. Однако после крупных обновлений стоит проверить, что используемые обработкой объекты не переименованы.
Как сделать, чтобы договор печатался только для определенного вида операций?
Ограничьте назначение обработки конкретными типами документов. Если нужна фильтрация внутри одного типа (например, только для договоров услуг), это реализуется условием в коде формирования печатной формы — обсудите такую доработку с разработчиком.
Можно ли выводить договор сразу в Word или PDF?
Да. Табличный документ сохраняется в PDF штатной командой «Сохранить как». Макеты DOCX формируются напрямую в формате Word. Для автоматической отправки по почте используются типовые механизмы рассылки или доработка команды печати.
Почему в договоре пустые поля, хотя в документе данные есть?
Чаще всего имя параметра в макете не совпадает с именем, которое передает код обработки, либо данные берутся из другого объекта (например, из договора контрагента, а не из документа). Проверьте соответствие параметров макета и источников данных.
Безопасно ли скачивать готовые формы договоров из интернета?
Файл .epf — это программный код. Загружайте обработки только из источников, которым доверяете, и сначала тестируйте на копии базы. При возможности попросите разработчика открыть код обработки и проверить отсутствие подозрительных операций.
Что важно запомнить
Форму договора в типовой 1С добавляют через механизм дополнительных отчетов и обработок: загружают файл .epf, настраивают назначение и проверяют печать на тестовом документе. Конфигурацию при этом менять не нужно, а обновления подключенную форму не затрагивают.