1. Что делает конструктор
Конструктор превращает типовую печатную форму во внешнюю печатную форму (ВПФ) — отдельный файл .epf, который подключается в «Дополнительные отчёты и обработки» с видом «Печатная форма». Конфигурация при этом остаётся на поддержке: печать не правится в типовом модуле, а живёт во внешнем файле, который дальше можно менять в Конфигураторе как обычную внешнюю обработку.
Что конструктор делает сам:
- читает модуль менеджера выбранного объекта прямо из конфигурации — Конфигуратор открывать не нужно;
- спрашивает у объекта список печатных форм и проверяет, из каких вообще можно сделать внешнюю;
- находит, где именно лежит код печати выбранной формы (в самом объекте, в отдельной обработке, в отчёте на СКД, в модуле локализации, которому типовая передаёт печать);
- переносит этот код в автономный модуль ВПФ;
- встраивает в файл ВПФ макеты, которые печатает форма, и переключает код на встроенные макеты;
- формирует имя команды с суффиксом _ВПФ и человекочитаемое представление;
- дописывает квалификатор к вызовам методов менеджера (ПустаяСсылка() → Документы.X.ПустаяСсылка()): в модуле менеджера так писать можно, в модуле внешней обработки — уже нет;
- заполняет имя и синоним обработки, версию, назначение и сведения для регистрации;
- компилирует файл и кладёт его в указанный каталог.
От пользователя нужно два решения: какой объект и какая печатная форма.
2. Что нужно заранее
Модули из конфигурации конструктор достаёт сам: на нужном шаге он на несколько секунд запускает Конфигуратор этой же базы в пакетном режиме и выгружает ровно один объект. Чтобы это работало:
- обработка должна быть открыта в тонком или толстом клиенте на компьютере, где установлена платформа с Конфигуратором. Через веб-клиент автоматический режим невозможен — на машине пользователя может стоять только тонкий клиент, Конфигуратора там нет;
- нужны право запуска Конфигуратора и свободная лицензия;
- если у пользователя базы задан пароль — его спросят в поле «Пароль пользователя базы». Поле появляется само, только когда пароль действительно понадобился, и нигде не сохраняется.
Файловая база или клиент-серверная — без разницы: строку соединения конструктор разбирает сам. Монопольный режим не нужен, работающим пользователям выгрузка не мешает.
Если автоматически не получилось (нет прав, нет лицензии, это веб-клиент) — на форме появятся кнопка «Вставить из буфера обмена» и поле пароля. Тогда модуль открывается в Конфигураторе, копируется целиком (Ctrl+A, Ctrl+C) и вставляется кнопкой. Всё остальное работает одинаково. Пока автоматический путь работает, лишних кнопок на форме нет.
3. Шаги помощника
В автоматическом режиме помощник показывает четыре шага; служебные шаги (получение модуля объекта, в котором лежит код печати, и формирование модуля ВПФ) он проходит сам. Номер шага в заголовке — всегда из видимых: «Шаг 2 из 4».
Куда попадёт готовый файл, видно с самого первого шага — поле «Куда сохранить ВПФ» стоит в шапке помощника и доступно на любом шаге. Дальше помощник идёт сам, поэтому каталог задаётся до начала работы, а не постфактум. Каталог запоминается между запусками.
Шаг 1. Объект печати и его модуль менеджера
- Выберите тип объекта (документ или справочник) и сам объект.
- Дальше ничего нажимать не нужно: конструктор читает модуль менеджера, спрашивает у объекта список печатных форм и проверяет каждую — можно ли сделать из неё внешнюю.
- Если годных форм нет, он скажет об этом сразу, окном: какие формы нашлись и почему ни одна не подходит. «Далее» с такого объекта не даётся — выберите другой.

Шаг 1: объект выбран, конструктор сам идёт за модулем
Модуль объекта конструктор получает сам — на том же шаге видно, что он уже прочитан, и появляется кнопка «Далее >»:

Шаг 1: модуль получен автоматически
Выбор другого объекта начинает работу заново: прежний модуль, список форм, разбор и путь к собранному файлу очищаются, помощник возвращается на шаг 1 и сам идёт за модулем нового объекта. Каталог сохранения и реквизиты по умолчанию при этом остаются — их задают не под объект.
Шаг 2. Команды печати объекта: где лежит код
Выберите нужную форму в поле «Печатная форма». В списке — только те формы, из которых ВПФ действительно получится; остальные скрыты, а причина по каждой видна в таблице команд.

Шаг 2: выбор печатной формы
|
Поле |
Что это |
|
Печатная форма |
Как команда называется в меню «Печать» — по нему и выбираем |
|
Идентификатор |
Внутреннее имя команды; из него получится имя команды ВПФ с суффиксом _ВПФ |
|
Код печати в |
Объект, в модуле которого лежит сам код печати |
Здесь же задаются реквизиты будущей ВПФ — имя файла, версия, назначение.
Шаг 3. Разбор кода и выбор печатной формы
Показывается, только если выбор действительно за вами: конструктор не нашёл в коде форму с шага 2 или отметил несколько подходящих. Когда он уверенно отметил ровно ту форму, шаг проскакивается. Если вы вернулись кнопкой «< Назад», скрытые шаги показываются — раз вернулись, значит хотите посмотреть.
Шаг 4. Компиляция, сохранение и проверка
Конструктор собирает модуль, компилирует файл и кладёт его в выбранный каталог. Полный путь виден на форме и остаётся там, пока окно открыто. По окончании выводится окно с результатом: какая форма, для какого объекта, где лежит файл и что делать дальше.

Шаг 4: файл собран, путь виден на форме
|
Кнопка |
Что делает |
|
Открыть ВПФ |
Открывает собранный файл, не закрывая конструктор |
|
Начать сначала |
Готовит помощника к следующей форме; конструктор не закрывается, путь к прошлому файлу виден |
|
Закрыть |
Закрывает конструктор |
|
Автор |
Открывает профиль автора; если браузер не открылся — показывает контакты |
4. Из каких печатных форм ВПФ не делается
Конструктор проверяет каждую форму объекта и негодные в выбор не пускает, указывая причину.
|
Причина |
Что это значит |
Примеры |
|
печатает отдельная обработка со своим окном |
Команда выполняется клиентским кодом: открывается своя форма с настройками, печать идёт из неё |
Этикетки и ценники, конверт, реестр документов, комплект кадровых документов |
|
форма-шаблон из самой базы |
Форма создана пользователем в разделе «Печатные формы, отчёты и обработки»: её шаблон лежит в данных, кода печати в конфигурации нет вовсе |
«Договор поставки», «Договор хранения» в КА |
|
в модуле нет кода печати, который конструктор умеет переносить |
Печать выполняется механизмом, к автономному модулю не сводящимся |
Регламентированные формы в «Увольнении» ЗУП: ЕФС-1, СЗВ-СТАЖ, 2-НДФЛ |
Форму-шаблон из базы править нужно там же, где она создана: «НСИ и администрирование → Печатные формы, отчёты и обработки → Макеты печатных форм» — там встроенный редактор, внешняя обработка для этого не нужна.
Если имя печатной формы в типовом коде служит ещё и именем макета (так сделан трудовой договор в ЗУП), конструктор различает эти два случая: строку коллекции переименовывает, имя макета оставляет.
Имя формы в типовом коде бывает не строкой, а вычисляется («Акт выполненных работ» в УНФ): конструктор спрашивает его у самой базы, поэтому такие формы тоже собираются.
Если у объекта вообще нет печатных форм (так бывает, например, у «Внесения наличных» в УНФ), конструктор скажет это на шаге 1 и дальше не пойдёт.
Иногда непригодность видна только после разбора кода. Тогда конструктор говорит прямо: «Печатную форму … вынести во внешнюю обработку нельзя» — и возвращает к выбору формы. Так устроены формы, которые печатает не процедура Печать модуля менеджера, а отдельный обработчик: он сам собирает данные, кладёт их во временное хранилище и вызывает печать со своими параметрами, иногда даже с другим объектом. Именно так печатаются этикетки и ценники в «Управлении торговлей»: внешняя печатная форма получает от программы только список документов и повторить такую печать не может.
Комплекты документов
Часть форм печатается «комплектом»: команда в меню называется одним именем, а код печати проверяет другое. В «Бухгалтерии» команда «Универсальный передаточный документ (УПД)» печатается веткой УниверсальныйПередаточныйДокументКомплект, счёт-фактура — веткой СчетФактураКомплект (в конфигурации это записано параметром команды «Идентификатор в комплекте»). Конструктор такие пары распознаёт сам: если код печати можно перенести — переносит; если печать выполняет типовой общий модуль, который сам ищет свою строку в коллекции печатных форм, — собирает ВПФ обёрткой над типовой печатью. В обоих случаях внешняя форма печатает ровно то же, что и типовая.
Параметры самой команды печати внешней печатной форме никто не передаёт («Выводить услуги» у ТОРГ-12 в «Управлении торговлей», «Использовать синоним для комплекта» у счёта в «Комплексной автоматизации»), поэтому конструктор подставляет в модуль ВПФ те значения, которые заданы у команды в конфигурации.
5. Что дальше делать с готовой ВПФ
Собранный файл — обычная внешняя обработка с видом «Печатная форма».
- Проверить. Откройте файл через «Файл → Открыть». У ВПФ есть тестовая форма: выберите объект и нажмите «Выполнить» — форма выведется ровно так, как её покажет типовой механизм печати (в том числе без рамок вокруг факсимиле и печати).
- Зарегистрировать. Кнопка «Зарегистрировать» в тестовой форме добавляет ВПФ в «Дополнительные отчёты и обработки» — выбирать файл на диске не нужно, обработка регистрирует сама себя. Назначение (для какого объекта) и команда печати уже заполнены.
- Пользоваться. В форме или списке объекта команда появится в меню «Печать» с пометкой «(ВПФ)».
- Дорабатывать. Макет и код правятся в Конфигураторе в самом файле .epf; конфигурация не затрагивается, обновления типовой ВПФ не ломают.
Если по кнопке «Выполнить» ничего не вывелось
Такое бывает и у типовой печати: печатать по этому документу нечего. Например, «Приходный ордер (М-4)» из авансового отчёта в «Бухгалтерии государственного учреждения» формируется только по строкам с номенклатурой — нет таких строк, и типовая печать возвращает пустой документ, а программа показывает заглушку «Печатная форма недоступна».
ВПФ ведёт себя так же и прямо об этом говорит — пустого экрана без объяснений не будет:

Печать вернула пустой документ — ВПФ сообщает об этом
Проверьте на другом документе, по которому та же типовая форма печатается: если типовая печать даёт пустой результат, ВПФ даст такой же — дело в данных документа, а не во внешней форме.
6. Расширенный режим
Версия конструктора видна в заголовке окна. Она берётся из имени файла (…_v8.60.epf), а когда обработка зарегистрирована в «Дополнительных отчётах и обработках» — из её параметров регистрации.
Каталог для готовых ВПФ выбирается кнопкой справа от поля «Куда сохранить ВПФ». Если вписать путь руками и такого каталога нет, конструктор предложит его создать.
Флажок «Расширенный режим» возвращает прежний вид формы — все кнопки конструктора сразу, без пошагового помощника: построение дерева процедур, анализ исходной функции, ручное формирование и компиляция текста. Режим нужен для нестандартных случаев; в обычной работе он не требуется.
7. Что бывает не так
|
Симптом |
Причина и что делать |
|
«Не удалось получить модуль объекта автоматически» |
Нет прав на Конфигуратор, нет лицензии, задан пароль пользователя или обработка открыта в веб-клиенте. Введите пароль в появившемся поле и повторите либо вставьте модуль из буфера обмена |
|
Поле «Печатная форма» пустое, а формы у объекта есть |
Все они непригодны; причина по каждой видна в таблице команд и в тексте шага |
|
«Далее» не появляется |
Шаг не готов: не выбран объект, не получен модуль или у объекта нет годных форм. Что именно — написано в тексте шага |
|
По кнопке «Выполнить» — «Печатная форма недоступна» |
Печать вернула пустой документ: по этому документу печатать нечего. Типовая печать этой же формы ведёт себя так же — проверьте на другом документе |
|
ВПФ печатает не то, что типовая |
Проверьте, что выбрана та же команда печати: одно название в меню может собираться несколькими формами |
Проверено на следующих конфигурациях и релизах:
- 1С:Комплексная автоматизация 2, релизы 2.6.1.59
- Бухгалтерия государственного учреждения, редакция 2.0, релизы 2.0.110.66
- Бухгалтерия предприятия, редакция 3.0, релизы 3.0.205.22
- Зарплата и управление персоналом, редакция 3.1, релизы 3.1.38.92
- Розница, редакция 3.0, релизы 3.0.14.143
- Управление торговлей, редакция 11, релизы 11.6.1.59
- Управление нашей фирмой, редакция 3.0, релизы 3.0.14.143
Вступайте в нашу телеграмм-группу Инфостарт