Значение перечисления по синониму

Lega 6 1

Получаем значение перечисления по синониму

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

См. также

Имя перечисления по значению

ИмяЗначенияПеречисления (БСП)

СписокФорматов (БСП)

СловарьВидыДополнительныхОтчетовИОбработок (БСП)

ТипКонтактнойИнформации (БСП)

ТипВидаКонтактнойИнформации (БСП)

СловарьСпособыВызоваДополнительныхОтчетовИОбработок (БСП)

СинонимыДопПараметровМетодов (БСП)

ВсеРоли (БСП)

Модератору