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

14.03.18

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

См. также

БСП (Библиотека стандартных подсистем) Программист Стажер Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

В статье рассмотрим пошаговую инструкцию создания дополнительного отчета с фоновым формированием результата.

04.10.2024    905    MadRave    5    

16

БСП (Библиотека стандартных подсистем) Программист Стажер Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

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

10.09.2024    1214    MadRave    1    

15

БСП (Библиотека стандартных подсистем) Программист Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

А что, если долгожданная реализация Паузы в 1С смутно напоминает старую, проверенную? А?!

06.09.2024    970    n_mezentsev    10    

8

БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Добавим дополнительные свойства в новый документ средствами БСП

02.09.2024    3674    John_d    10    

52

БСП (Библиотека стандартных подсистем) Программист Платформа 1С v8.3 Бесплатно (free)

Всё больше организаций выбирает для серверов под 1С операционные системы Linux. Одним из отличий систем Windows и Linux является отсутствие COM объектов, которые зачастую использовались для формирования печатных форм офисных документов (Word). Конечно, можно выполнять печать и на клиенте, но есть риск импортозамещения. В работе у меня случались проблемы с зависанием процесса Word, поэтому я не люблю его использовать.

29.07.2024    4758    PROSTO-1C    12    

49

БСП (Библиотека стандартных подсистем) Программист Платформа 1С v8.3 1С:Розница 3.0 Россия Бесплатно (free)

Описание возможности печати произвольного QR-кода в текстовом (не фискальном) документе ККМ с помощью типовых функций БПО.

22.07.2024    731    KirillZ44    6    

9
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. TMV 14 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 7 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
Сообщение было скрыто модератором.
...
Оставьте свое сообщение