|
Получить Имя перечисления по его значению? | ☑ | ||
|---|---|---|---|---|
|
0
Point
14.10.08
✎
10:09
|
Собственно все в теме, как можно получить Имя перечисления по его значению?
|
|||
|
1
butterbean
14.10.08
✎
10:10
|
(0)
.Метаданные().Имя |
|||
|
2
Point
14.10.08
✎
10:18
|
(1) может я не много не правильно написал...
Есть значение конкретного перечисления, например Перечисление.ИмяПеречисления: 1.ИмяЗн1 - Значение1 2.ИмяЗн2 - Значение2 3.ИмяЗн3 - Значение3 и т.д. Так вот нужно получить, например ИмяЗн1 по его Значение1. |
|||
|
3
butterbean
14.10.08
✎
10:21
|
(2) имя по синониму что-ли???
|
|||
|
4
Krom
14.10.08
✎
10:23
|
(2), это же перечисление! ИмяЗн1 и Значение1 одно и то же!
|
|||
|
5
Point
14.10.08
✎
10:23
|
(3) Да.
|
|||
|
6
ДенисЧ
14.10.08
✎
10:24
|
зн = Перечисления.Происхождение.Закупка;
Сообщить(зн.Метаданные().Имя); |
|||
|
7
Ursus maritimus
14.10.08
✎
10:26
|
(6) Пробовал?
|
|||
|
8
Point
14.10.08
✎
10:26
|
(6) вот как раз "Закупка" и нужно получить.
|
|||
|
9
ДенисЧ
14.10.08
✎
10:26
|
Сообщить(Строка(зн))
|
|||
|
10
asady
14.10.08
✎
10:27
|
||||
|
11
butterbean
14.10.08
✎
10:27
|
(5) видимо только перебором
Метаданные.Перечисления.ИмяПеречисления.ЗначенияПеречисления) |
|||
|
12
Долорес И
14.10.08
✎
10:29
|
вот так, например:
ИмяЗначенияПеречисления = XMLСтрока(ПеречислениеСсылка); |
|||
|
13
Point
14.10.08
✎
10:29
|
(9) Данные которые есть:
1. Перечисление.Происхождение 2. СинонимЗакупка Данные которые нужно получить; 1.Закупка |
|||
|
14
ДенисЧ
14.10.08
✎
10:31
|
тады перебор.
|
|||
|
15
Долорес И
14.10.08
✎
10:32
|
или во:
Период_ = ссылканазначение.Метаданные().ЗначенияПеречисления.Получить( Перечисления.имяперечисления.Индекс(ссылканазначение)).Имя; |
|||
|
16
Ursus maritimus
14.10.08
✎
10:33
|
Метаданные.Перечисления.ABCКлассификация.ЗначенияПеречисления[Перечисления.ABCКлассификация.Индекс(Перечисления.ABCКлассификация.AКласс)].Имя
ABCКлассификация - Заменить на имя перечисления AКласс - заменить на имя значения |
|||
|
17
ДенисЧ
14.10.08
✎
10:34
|
(16) У него нет, как я понял имени значения. У него есть строка со значением
Надо что-то вроде зн - Перечисление.ПолучитАтрибут("Происхождение").ЗначениеПоИдентификатору("Закупка") |
|||
|
18
Point
14.10.08
✎
10:37
|
(10) спасибо.
Есть ссылкаНаПеречисление - т.е. Синоним- Тип Ссылка Индекс = Перечисления[ИмяПеречисления].Индекс(СсылкаНаПеречисление); Метаданные.Перечисления[ИмяПеречисления].ЗначенияПеречисления[Индекс].Имя; |
|||
|
19
Hitcher
14.10.08
✎
10:43
|
Все придумано до нас. В типовых конфигурациях, во всяком случае.
// Предназначена для получения имени элемента перечисления по значению. // // Параметры: // Элемент перечисления. // // Возвращаемое значение: // Строка - имя элемента перечисления в метаданных. // Функция ПолучитьИмяЭлементаПеречисленияПоЗначению(ЗначениеПеречисления) Экспорт ИмяЭлемента = Строка(ЗначениеПеречисления); Для каждого ЭлементПеречисления Из Метаданные.Перечисления[ЗначениеПеречисления.Метаданные().Имя].ЗначенияПеречисления Цикл Если ЭлементПеречисления.Синоним = Строка(ЗначениеПеречисления) Тогда ИмяЭлемента = ЭлементПеречисления.Имя; Прервать; КонецЕсли; КонецЦикла; Возврат ИмяЭлемента; КонецФункции // ПолучитьПериодичностьДляЗапросаПоЗначениюПеречисления() |
|||
|
20
Point
14.10.08
✎
10:51
|
(15) рулит, сразу не заметил )
|
|||
|
21
Ursus maritimus
14.10.08
✎
10:59
|
(19) Мегалажа. Если два значения перечисления с одинаковыми синонимами будут, все пропало...
|
|||
|
22
Долорес И
14.10.08
✎
11:03
|
(20)угу. (12) по идее тоже должно работать
|
|||
|
23
Point
14.10.08
✎
16:56
|
(21) а кто это интересно будет вносить в перечисления два одинаковых значения, как мне кажется Перечисление, как объект конфигурации -это набор значений для одного вида....(как-то типа так)
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |