Внешняя печатная форма с несколькими макетами для конфигураций на БСП (1С:Предприятие 8.2/8.3)

14.03.18

Разработка - БСП (Библиотека стандартных подсистем)

Один файл внешней печатной формы и несколько команд печати на конфигурациях с БСП (УТ 11, БП 3.х и т.д.)

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

Но чтобы не плодить сущности, логично было бы на основе одного и того же запроса выдавать разные табличные документы.

Живой пример: для отправки товара на комиссию в крупные  интернет-магазины требуется сопроводить товар файлом-спецификацией. В спецификации указан артикул, наименование, цена товара, баркод и куча дополнительных реквизитов. У каждого магазина свой формат. 

Сначала в функцию СведенияОВнешнейОбработке добавляем наши команды:

    ДобавитьКоманду(ТаблицаКоманд, "Спецификация Стильвер", "СпецификацияСтильвер", "ВызовСерверногоМетода", Истина, "ПечатьMXL");
	ДобавитьКоманду(ТаблицаКоманд, "Спецификация Вайлдберриз", "СпецификацияВайлдберриз", "ВызовСерверногоМетода", Истина, "ПечатьMXL");

Потом меняем процедуру Печать:

Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
		
	
	Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "СпецификацияСтильвер") Тогда

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

	УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
			КоллекцияПечатныхФорм,
			"СпецификацияВайлдберриз",
			"Спецификация Вайлдберриз",
			ПечатьФормы(МассивОбъектов, "ПФ_MXL_СпецификацияВайлдберриз"));
	КонецЕсли;			
			
КонецПроцедуры

В функцию Печатьформы добавляем входной параметр ИмяМакета, и в зависимости от его значения переписываем формирование табличного документа.

Функция ПечатьФормы(МассивОбъектов, ИмяМакета) Экспорт
	ТабличныйДокумент = новый ТабличныйДокумент;
	
	Макет = ПолучитьМакет(ИмяМакета);

....
КонецФункции

 

Вступайте в нашу телеграмм-группу Инфостарт

См. также

БСП (Библиотека стандартных подсистем) Программист Платные (руб)

Синтакс-помощник БСП - cправочник по библиотекам стандартных подсистем и электронных документов. В состав справочника входит описание экспортных процедур и функций, размещенных в областях кода ПрограммныйИнтерфейс БСП и БЭД.

3254 руб.

21.11.2024    12591    46    24    

52

БСП (Библиотека стандартных подсистем) Универсальные функции Программист 1С 8.3 1С:Библиотека стандартных подсистем Бесплатно (free)

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

06.02.2026    6966    manul1c    6    

21

Рефакторинг и качество кода БСП (Библиотека стандартных подсистем) Механизмы платформы 1С Программист 1С:Предприятие 8 1С:Библиотека стандартных подсистем Бесплатно (free)

Использование Библиотеки стандартных подсистем позволяет разработчикам 1С значительно ускорить процесс создания решений за счет готового универсального кода, поддерживаемого и обновляемого официальным вендором. В статье рассказывается про роль и применение «Библиотеки стандартных подсистем» (БСП), примеры интеграции и подключения подсистем.

23.09.2025    11695    AlexeyPROSTO_1C    1    

18

БСП (Библиотека стандартных подсистем) Программист 1С:Предприятие 8 1С:Библиотека стандартных подсистем Бесплатно (free)

Уже заезженная тема с выводом в Word макетов при помощи БСП, но некоторые коллеги все равно спрашивают. Поэтому размещаю тут материал, как это сделать за три простых шага. Решение, которым я успешно пользуюсь в случаях, когда не нужна универсальность подключаемых внешних печатных форм.

16.09.2025    5953    _seerco2002    0    

34

Нейросети БСП (Библиотека стандартных подсистем) Инструментарий разработчика Программист 1С:Предприятие 8 1С:Библиотека стандартных подсистем Бесплатно (free)

Telegram-бот для разработчиков 1С, работающих с БСП. Если не знаете нужный под задачу метод или не помните название, то опишите боту задачу и получите список подходящих экспортных методов из общих модулей БСП.

02.09.2025    7180    krasnov322    24    

43

Анализ учета БСП (Библиотека стандартных подсистем) 1С:Предприятие 8 1С:Библиотека стандартных подсистем Бесплатно (free)

Расширение для конфигураций на базе БСП 3.х. Позволяет создавать новые отчеты путем соединения или объединения других отчетов.

22.05.2025    5640    238    seperblunt    9    

30
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. TMV 2 15.03.18 08:23 Сейчас в теме
Скопировали строку - вуаля, статья на ИС готова!
jif; A_Max; +2 Ответить
2. Garstag 80 21.03.18 11:22 Сейчас в теме
Больше статей, хороших и разных!
:-)
3. qixis 22.10.20 21:21 Сейчас в теме
ну и норм, зашёл, глянул, скопировал, готово
4. dehro 13 23.10.20 16:47 Сейчас в теме
"Когда несколько печатных форм используют одни и те же данные, но отличаются макетом, самое простое решение - создать для каждого макета свою внешнюю печатную форму."

Да даже и разные данные содержат: что мешает запихнуть в одну внешнюю обработку?
Главное, чтобы массив назначений совпадал.
5. mariya.mary.00 07.12.21 16:23 Сейчас в теме
Добрый день!
А можно как-то выводить несколько макетов одновременно, в зависимости от условия?
Например, если покупатель такой-то - то выводим макеты 1 и 2, если другой - то 3.
В описанном примере, я так понимаю, пользователь сам выбирает какой макет распечатать.
6. пользователь 26.09.23 15:11
Сообщение было скрыто модератором.
...
7. пользователь 26.09.23 15:12
Сообщение было скрыто модератором.
...
Для отправки сообщения требуется регистрация/авторизация