Галка "Подпись и печать" в свою внешнюю печатную форму

Baiji 14 1

Рабочий код для БП 3 В макет "ПФ_MXL_Макет" копируем нужные рисунки (...факсимиле) из любой типовой формы

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

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

	ПараметрыПечати = Новый Структура;
	ПараметрыПечати.Вставить("ДополнитьКомплектВнешнимиПечатнымиФормами", Ложь);
	
	ТабличныйДокумент = Новый ТабличныйДокумент;
	ТабличныйДокумент.АвтоМасштаб			= Истина;
	ТабличныйДокумент.ОриентацияСтраницы	= ОриентацияСтраницы.Портрет;
	ТабличныйДокумент.КлючПараметровПечати	= "ПАРАМЕТРЫ_ПЕЧАТИ_ВПФ_123";
	
	ПервыйДокумент = Истина;
	Для каждого Объект Из МассивОбъектов Цикл
	
		Если НЕ ПервыйДокумент Тогда
			ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
		КонецЕсли;
		
		ПервыйДокумент = Ложь;
		
		// Запомним номер строки, с которой начали выводить текущий документ.
		НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1;
		
		ТабличныйДокумент.Вывести(ПечатьОдногоОбъекта(Объект));
		
		ЗапросШапка = Новый Запрос("ВЫБРАТЬ
		                           |	РеализацияТоваровУслуг.Ссылка КАК Документ,
		                           |	РеализацияТоваровУслуг.Организация КАК Организация,
		                           |	РеализацияТоваровУслуг.Руководитель КАК Руководитель,
		                           |	РеализацияТоваровУслуг.ГлавныйБухгалтер КАК ГлавныйБухгалтер,
		                           |	РеализацияТоваровУслуг.ОтветственныйЗаОформление КАК ОтветственныйЗаОформление
		                           |ИЗ
		                           |	Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
		                           |ГДЕ
		                           |	РеализацияТоваровУслуг.Ссылка = &Ссылка");
		
		ЗапросШапка.УстановитьПараметр("Ссылка", Объект); 
		
		ВыборкаШапка = ЗапросШапка.Выполнить().Выбрать();
		ВыборкаШапка.Следующий();
		
		// В табличном документе зададим имя области, в которую был 
		// выведен объект. Нужно для возможности печати покомплектно.
		УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, НомерСтрокиНачало, ОбъектыПечати, ВыборкаШапка.Документ);

		УправлениеПечатьюБП.ДополнитьДокументПодписьюИПечатью(ТабличныйДокумент, ВыборкаШапка, ОбъектыПечати, ПараметрыПечати);
		
	КонецЦикла;
		
	Возврат ТабличныйДокумент;

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

Функция ПечатьОдногоОбъекта(СсылкаНаОбъект)
	
	Макет = ПолучитьМакет("ПФ_MXL_Макет");
	ТабДокумент = Новый ТабличныйДокумент;
	ТекущаяОбласть = Макет.ПолучитьОбласть("Шапка");
	ТекущаяОбласть.Параметры.Заполнить(СсылкаНаОбъект);

	Возврат ТабДокумент;

КонецФункции // Печать
0
Орфографическая ошибка в покомплектно: покомплектно

См. также

Печать своей печатной формы (без использования команды)

ПечатьПоВнешнемуИсточнику (БСП)

Сведения о внешней обработке - Печать

Шаблон внешней печатной формы

ЭтоПодписьИлиПечать (БСП)

Шаблон внешней печатной формы

Пример формирования внешней печатной формы из макета Word. БСП

ДобавитьПодписьИПечать (БСП)

Модератору