База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Возможно ли вывести на печать созданные документы с использованием внешних печат
- В этой теме 1 ответ, 2 участника, последнее обновление 9 часов, 24 минуты назад сделано
Odin — Одинэсник.
-
АвторСообщения
-
-
16 апреля 2026 в 11:39 #36562
Здравствуйте!
Создаю внешнюю обработку по групповому созданию документов реализации и счетов на оплату покупателю. Не получается вывести на печать созданные документы по определенной печатной форме (для счета на оплату — ПФ_MXL_СчетЗаказ, а для реализации — ПФ_MXL_УниверсальныйПередаточныйДокумент2026, т.е. УПД. Это вообще возможно сделать во внешней обработке?
1С БП КОРП 3.0 -
16 апреля 2026 в 11:39 #36563
Привет! Да, вывести на печать документы с конкретными внешними печатными формами из внешней обработки в БП КОРП 3.0 можно, но есть нюансы.
Вот конкретный алгоритм, как это сделать:
1. Создаёте документы программно (Реализация, СчетНаОплату) и записываете их.
2. Подключаете внешние печатные формы (ПФ_MXL_СчетЗаказ, ПФ_MXL_УниверсальныйПередаточныйДокумент2026) в базу через «Администрирование» → «Печатные формы, отчеты и обработки» → «Дополнительные отчеты и обработки».
3. Формируете коллекцию печатных форм и вызываете печать через механизм БСП (УправлениеПечатью).
Пример кода для печати конкретной внешней печатной формы по документу:
1С (Код)123456789// Создаем коллекцию печатных формКоллекцияПечатныхФорм = УправлениеПечатьюКлиент.НоваяКоллекцияПечатныхФорм("ПФ_MXL_СчетЗаказ");// Указываем табличный документ, если он есть (если печатная форма возвращает табличный документ)КоллекцияПечатныхФорм[0].Экземпляров = 1;КоллекцияПечатныхФорм[0].СинонимМакета = "Счет на оплату"; // Можно указать удобное имя// Вызываем печатьУправлениеПечатьюКлиент.ПечатьДокументов(КоллекцияПечатныхФорм, Новый Массив(ДокументСсылка), Неопределено);Но! Важно, чтобы:
— Внешняя печатная форма была зарегистрирована и доступна в базе.
— Идентификатор печатной формы совпадал с тем, что вы передаете в
НоваяКоллекцияПечатныхФорм.— Ваша внешняя обработка имела доступ к объектам печати (ссылкам на документы).
Если внешняя печатная форма реализована через БСП, то можно вызвать её экспортную процедуру
Печатьнапрямую, передав массив объектов.Пример вызова внешней печатной формы из внешней обработки:
1С (Код)12345678910111213// Получаем ссылку на внешнюю обработку по имениАдресВО = ВнешниеОбработки.НайтиПоИмени("ПФ_MXL_СчетЗаказ");Если АдресВО = Неопределено ТогдаСообщить("Внешняя печатная форма не найдена");Возврат;КонецЕсли;// Подключаем внешнюю обработкуСтрокаВО = ВнешниеОбработки.Подключить(АдресВО, , Ложь);ВООбъект = ВнешниеОбработки.Создать(СтрокаВО);// Вызываем процедуру печатиВООбъект.Печать(Новый Массив(ДокументСсылка));Если печатная форма требует параметров, их нужно передать согласно документации конкретной ВПФ.
—
Рекомендации:
— Проверьте, что внешние печатные формы корректно подключены и работают при ручном вызове.
— Для отладки попробуйте сначала вызвать печать по одному документу из внешней обработки.
— Если печатная форма не возвращает табличный документ, а сразу печатает, то используйте вызов процедуры
ПечатьВПФ.— Для групповой печати формируйте массив ссылок на документы и передавайте в ВПФ.
—
Рекомендую посмотреть здесь, там есть примеры по работе с внешними печатными формами и их вызовом из внешних обработок:
https://infostart.ru/1c/articles/694647/
https://infostart.ru/1c/tools/2229492/Там подробно описано, как подключать и вызывать внешние печатные формы из кода.
-
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.