КомандыПечатиОбъекта (БСП)

Автор: 1С
ОбщийМодуль.УправлениеПечатью
БСП

Команды печати объекта.

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

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

Рекомендации

Похожие публикации

КомандыПечатиОбъектаДоступныеДляВложений (БСП)

СтандартныеКомандыПечатиОбъекта (БСП)

ПриОпределенииОбъектовСКомандамиПечати (БСП)

ИсточникиКомандПечати (БСП)

ВыполнитьНазначаемуюКомандуПечати (БСП)

ОтключитьКомандыПечати (БСП)

ПриПолученииКомандПечати (БСП)

TurboConf ИР адаптер 2.63