ОпределитьПредметыШаблонов (БСП)

Автор: 1С
ОбщийМодуль.ШаблоныСообщенийСлужебный
БСП

Определить предметы шаблонов. Настройки

// Настройки

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

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

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

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

ОбъектЯвляетсяПредметомШаблона (БСП)

СформироватьСообщение (БСП)

СформироватьСообщениеИОтправить (БСП)

ПодготовитьСообщениеПоШаблону (БСП)

ПредметыВзаимодействий (БСП)

ТекстНеОпределено (БСП)

Определить это Linux или Windows

ОткрытьПредметЗадачи (БСП)

Синтакс-помощник БСП