Команды печати объекта.
Функция КомандыПечатиОбъекта(ОбъектМетаданных) Экспорт
КомандыПечати = СоздатьКоллекциюКомандПечати();
Если ТипЗнч(ОбъектМетаданных) <> Тип("ОбъектМетаданных") Тогда
Возврат КомандыПечати;
КонецЕсли;
Источники = ПодключаемыеКоманды.ДеревоИсточниковКоманд();
Настройки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
///////////////////////////////////////////////////////////////////////////////////////////////////////
КомандыПечатиОбъектаДоступныеДляВложений (БСП)
СтандартныеКомандыПечатиОбъекта (БСП)
ПриОпределенииОбъектовСКомандамиПечати (БСП)
Канал FastCode 1C в Телеграм! Шаблоны кода, статьи, полезные советы, курсы по 1С (8К участников)