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

Например, в программе "1С Управление торговлей 11.2" нам нужно создать печатную форму "Спецификация товара", которая будет распечатываться из документа "Заказ клиента".

Набор данных для новой внешней печатной формы схож с набором данных для встроенной печатной формы "Заказ клиента". Поэтому, выберем эту печатную форму в качестве основы для конструирования новой формы.

Создадим заготовку внешней печатной формы, как описано в статье "Создание внешнего отчёта, обработки, печатной формы".

Потом откроем менеджер объекта конфигурации Документ "Заказ клиента", и найдём в нём Функцию "ПолучитьДанныеДляПечатнойФормыЗаказаНаТоварыУслуги". Скопируем её в модуль объекта нашей внешней печатной формы. В этой функции находится запрос, который получает данные для печатной формы. Мы можем изменить запрос, чтобы получить в нём какие-то дополнительные данные и отменить получение ненужных.

Найдём объект конфигурации Обработка "ПечатьЗаказовНаТоварыУслуги". В нём хранится макет печатной формы "Заказ клиента". Скопируем его во внешнюю печатную форму. Переименуем макет в "ПФ_MXL_Спецификация" и доработаем его под свои нужды. Из модуля менеджера обработки скопируем процедуру Печать, а также другие процедуры и функции, необходимые для печати. Их можно определить по названию. Естественно все эти процедуры и функции мы "затачиваем" под свои задачи.

Например, изменяем Функцию СформироватьПечатнуюФормуЗаказаНаТоварыИУслуги таким образом, чтобы переменная ДанныеДляПечати формировалась из процедуры нашей внешней печатной формы.

Важный момент: в процедуре ЗаполнитьТабличныйДокументЗаказаНаТоварыУслуги мы должны вместо штатного макета подставить свой.

Макет выбиратся здесь:

Пока ДанныеПечати.Следующий() Цикл
		
		Макет = УправлениеПечатью.МакетПечатнойФормы(ИмяМакета);

Мы заменим вторую строку приведённого кода на такую:

Макет = ПолучитьМакет("ПФ_MXL_Спецификация");

Всё остальное, что называется, по вкусу.

Подключается внешняя обработка в разделе Администрирование --> Дополнительные обработки.

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