2

Есть Перечисление:

Имя | Синоним
—————————————
М   | мужской
Ж   | женский

Как в СКД вывести в отчёт не Синоним, а Имя перечисления?

(Перечисление просто для примера, в реальной задаче оно содержит около 50 элементов).

ReinRaus
  • 17,873
  • 3
  • 47
  • 86
  • @mikhail взгляните, пожалуйста, на мой новый вопрос https://ru.stackoverflow.com/questions/727419/1С-СКД-Повторение-шапки-отчета-на-каждой-странице – ReinRaus Oct 06 '17 at 09:43

1 Answers1

2

Возвращайте через функцию общего модуля следующую конструкцию (<Значение> - это значение вашего перечисления, которое вы подаёте в функцию):

МетаданныеПеречисления = <Значение>.Метаданные();
ИндексЗначения = Перечисления[МетаданныеПеречисления.Имя].Индекс(<Значение>);

ИмяЗначения = МетаданныеПеречисления.ЗначенияПеречисления[ИндексЗначения].Имя;
  • По идее это правильный ответ, но он не работает у меня. Почему такая ерунда получается: в вычисляемом поле указано полКратко( полЖертвы ) в итоге в функцию приходит к примеру Перечисления.Пол.женский, но полЖертвы.Метаданные().Имя равно Пол. ПолноеИмя равно Перечисления.Пол – ReinRaus Sep 27 '17 at 06:19
  • Исправил код, конструкция получилась чуть сложнее :) но точно работает. – Mikhail Sibirev Sep 27 '17 at 08:00
  • Спасибо большое – ReinRaus Sep 27 '17 at 08:25