Получение значения перечисления в COM-соединении
Код жуткий — для получения значения используется перебор.
Понадобилось в обновляторе, а там COM-соединение… Жуть…
А все потому что ни в менеджере перечислений ни в менеджере перечислений нет функции получения по имени, а квадратные скобки в COM не работают.
Проще никак?
Функция ЗначениеПеречисленияПоИмени(ИмяПеречисления, Имя) Сч = 0; Для каждого ЭлементПеречисления Из Корень1С("Метаданные").Перечисления.Найти(ИмяПеречисления).ЗначенияПеречисления Цикл Если ЭлементПеречисления.Имя = Имя Тогда //https://helpf.pro/help/view/7666.html МДМенеджера = Корень1С("Метаданные").Перечисления.Найти(ИмяПеречисления); ИндМ = Корень1С("Метаданные").Перечисления.Индекс(МДМенеджера); СчМ = 0; Для Каждого МенеджерПеречисления ИЗ Корень1С("Перечисления") Цикл Если СчМ = ИндМ Тогда Прервать; КонецЕсли; СчМ = СчМ + 1; КонецЦикла; Возврат МенеджерПеречисления.Получить(Сч); Прервать; КонецЕсли; Сч = Сч + 1; КонецЦикла; КонецФункции

Соединение.ПредопределенноеЗначение(СтрШаблон(«Перечисление.%1.%2»,ИмяПеречисления,ИмяЗначения))
Надо попробовать. Спасибо. Если только ПредопределенноеЗначение досупно во внешнем соединении.