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

14.03.18

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

См. также

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

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

1800 руб.

21.11.2024    3962    16    15    

19

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

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

27.12.2024    4004    PROSTO-1C    15    

47

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

Синтакс-помощник БСП - справочник по Библиотеке Стандартных Подсистем, профессиональный инструмент разработчика с интуитивно понятным интерфейсом. Читайте в статье как использовать все возможности справочника и сделать работу с БСП более комфортной и эффективной.

11.12.2024    4144    gorenski    0    

8

БСП (Библиотека стандартных подсистем) Менеджеры внешних отчетов Программист Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление холдингом Абонемент ($m)

За последние лет 5 несколько раз сталкиваюсь с проблемой на разных проектах (в конфигурациях 1С:ERP, 1С:ERP УХ и многих других, основанных на БСП), когда много пользователей (около 30 тысяч) в информационной базе, время добавления доступа для пользователей занимает значительное время. Открытие списка занимает от 10 до 15 секунд, и каждое изменение списка еще примерно столько же.

1 стартмани

10.12.2024    1113    Iaskeliainen    2    

7

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

Некоторые нюансы, если вы захотите создавать свои расширения. Доработка отчета "Связанные документы" для отражения документов расширения. Печатные формы с шаблоном Word.

20.11.2024    3632    milkers    3    

12

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

В статье описан алгоритм для включения документа или справочника в систему БСП. Будет полезно программистам 1С, начинающим работать с БСП.

24.10.2024    1887    PROSTO-1C    0    

19

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

В материале описан универсальный механизм работы с добавленными элементами на общую форму «ФормаОтчета». Думаю, облегчит работу многим разработчикам.

08.10.2024    1465    PROSTO-1C    4    

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