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