|
0
dim-mich
20.05.26
✎
19:48
|
Казалось бы, простой вопрос, но... Какой из трех вариантов кода 1С правильный с точки зрения 1С:Платформы 8 при обращении к элементам перечисления и как получить правильное название типа данных итератора в первом цикле "ВремяГода"?
для эксперимента имена значениям перечисления ВременаГода дал: Зима, Лето, Осень, Весна, а в синонима каждому прибавил (синоним), например: Зима (синоним). После этого выполнил вышеприведенный код, вот его результат:
&НаСервереБезКонтекста
Процедура ВыводПеречисленияВременаГодаНаСервере()
ВременаГода = Перечисления.ВременаГода;
Сообщить("1-й способ:");
Для каждого ВремяГода из ВременаГода Цикл
Сообщить(ВремяГода);
КонецЦикла;
Сообщить("2-й способ:");
ВременаГода = Метаданные.Перечисления.ВременаГода;
Для каждого ВремяГода из ВременаГода.ЗначенияПеречисления Цикл
Сообщить(ВремяГода.Синоним);
КонецЦикла;
Сообщить("3-й способ:");
ВременаГода = Метаданные.Перечисления.ВременаГода;
Для каждого ВремяГода из ВременаГода.ЗначенияПеречисления Цикл
Сообщить(Перечисления.ВременаГода[ВремяГода.Имя]);
КонецЦикла;
КонецПроцедуры
1-й способ:
Зима (синоним) Перечисление.ВременаГода
Зима (синоним) ВременаГода
Весна (синоним) Перечисление.ВременаГода
Весна (синоним) ВременаГода
Лето (синоним) Перечисление.ВременаГода
Лето (синоним) ВременаГода
Осень (синоним) Перечисление.ВременаГода
Осень (синоним) ВременаГода
2-й способ:
Зима (синоним) Строка
Весна (синоним) Строка
Лето (синоним) Строка
Осень (синоним) Строка
3-й способ:
Зима (синоним) ВременаГода
Весна (синоним) ВременаГода
Лето (синоним) ВременаГода
Осень (синоним) ВременаГода
В первом цикле итератор ВремяГода имеет в отладчике тип "ПеречислениеСсылка.ВременаГода", но получить это значения я не смог, как видно из кода, представленного выше.
Можете объяснить, что не так я делаю и чего я в платфоме не понимаю и ткнуть что покурить?
|
|