Потребовалось получить имя переданного значения перечисления, но ни с первой, ни со второй попытки получить желаемое не удалось.
Поиски в интрнетах привели в раздел методической поддержки ИТС, и на самом деле решение не такое простое:
ЗначениеПеречисления = Перечисления.ВидыКонтрагентов.Организация; ИмяПеречисления = ЗначениеПеречисления.Метаданные().Имя; ИндексЗначенияПеречисления = Перечисления[ИмяПеречисления].Индекс(ЗначениеПеречисления); ИмяЗначенияПеречисления = Метаданные.Перечисления[ИмяПеречисления].ЗначенияПеречисления[ИндексЗначенияПеречисления].Имя;
Для использования создадим свою функцию, так же объединим весь код из примера в однострочник не хуже Perl’овского
Функция ПолучитьИмяЗначенияПеречисления(ЗначениеПеречисления) Экспорт Если Не ЗначениеЗаполнено(ЗначениеПеречисления) Тогда Возврат Неопределено; КонецЕсли; Возврат Метаданные.Перечисления[ЗначениеПеречисления.Метаданные().Имя].ЗначенияПеречисления[Перечисления[ЗначениеПеречисления.Метаданные().Имя].Индекс(ЗначениеПеречисления)].Имя КонецФункции
В комментариях, предложили еще один вариант, через метод XMLСтрока()
ИмяЗначенияПеречисления = XMLстрока(СсылкаНаПеречисление);
ИмяЗначенияПеречисления = XMLстрока(СсылкаНаПеречисление);
Меркалов, тоже варинат! Добавил в статью, спасибо!