Войти

Login to your account

Username *
Password *
Remember Me

Добавление команд печати в конфигурациях на базе БСП

Чтобы подключить механизм печати в документы, обработки в конфигурациях на базе БСП (Бухгалтерия 3.0, Управление торговлей 11, Документооборот и т.д.)
Необходимо сделать следующее:

1. Скопировать в модуль формы документа следующий код, при необходимости создать обработчик ПриСозданииНаСервере

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

	УправлениеПечатью.ПриСозданииНаСервере(ЭтаФорма)

КонецПроцедуры

&НаКлиенте
Процедура Подключаемый_ВыполнитьКомандуПечати(Команда)
	
	УправлениеПечатьюКлиент.ВыполнитьПодключаемуюКомандуПечати(Команда, ЭтаФорма, Объект)
	
КонецПроцедуры

2. Скопировать следующий код в Модуль менеджера:

Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт

	КомандаПечати = КомандыПечати.Добавить();
	КомандаПечати.Идентификатор = "ИмяМакета1";
	КомандаПечати.Представление = "Представление макета 1";
	КомандаПечати.Обработчик    = "УправлениеПечатьюБПКлиент.ВыполнитьКомандуПечати";
	КомандаПечати.СписокФорм    = "ФормаСписка,ФормаДокумента";

	//КомандаПечати = КомандыПечати.Добавить();
	//КомандаПечати.Идентификатор = "ИмяМакета2";
	//КомандаПечати.Представление = "Представление макета 2";
	//КомандаПечати.Обработчик    = "УправлениеПечатьюБПКлиент.ВыполнитьКомандуПечати";
	//КомандаПечати.СписокФорм    = "ФормаСписка,ФормаДокумента";

КонецПроцедуры

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

	ПараметрыВывода.ДоступнаПечатьПоКомплектно = Истина;

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

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

КонецПроцедуры

Функция   СформироватьТабДок1(МассивОбъектов)

	Ссылка = МассивОбъектов[0];
	ТабДокумент = Новый ТабличныйДокумент;
	// ...
 	// подготовка ТабДокумента
 	// ...
 	Возврат ТабДокумент;

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

В форме документа теперь программно будут добавляться кнопки печати. Чтобы они появились и в форме списка, необходимо проделать для нее пункт №1. Единственное отличие в третьем параметре функции ВыполнитьПодключаемуюКомандуПечати: вместо Объект нужно написать Элементы.Список. Также у этого списка обязательно должна быть колонка Ссылка, отображать ее не обязательно.

Метки: Управляемые формы, БСП