|
v7: Перечисление | ☑ | ||
---|---|---|---|---|
0
aptomilov
13.09.11
✎
14:41
|
Господа, вот такая проблема, имею в наличии значение некоего перечисления, есть необходимость получить объект перечисления, который содержит искомое значение. Как это сделать не могу сообразить, видимо конец рабочего дня.
|
|||
1
Grusswelle
13.09.11
✎
14:43
|
Запросом.
|
|||
2
Шапокляк
13.09.11
✎
14:43
|
Т.е. имеется некое слово, например, "электронно", и нужно понять, какого перечисления это значение?
|
|||
3
Ёпрст
13.09.11
✎
14:44
|
(0) через перебор метаданных.
|
|||
4
1Сергей
13.09.11
✎
14:45
|
Перечисление.ПолучитьАтрибут(ЗначениеПеречисления.Вид());
|
|||
5
Irbis
13.09.11
✎
14:45
|
Вид()
Синтаксис: Вид() Назначение: Возвращает строку с названием вида перечисления. |
|||
6
Irbis
13.09.11
✎
14:45
|
Метод значения перечисления
|
|||
7
aptomilov
13.09.11
✎
14:47
|
1Сергей, не то , в наличии значение
|
|||
8
МастерВопросов
13.09.11
✎
14:47
|
Для Номер = 1 По Метаданные.Перечисление(ИдПеречисления).Значение() Цикл
Список.ДобавитьЗначение(Перечисление.ПолучитьАтрибут(ИдПеречисления).ЗначениеПоНомеру(Номер)); КонецЦикла; |
|||
9
МастерВопросов
13.09.11
✎
14:49
|
в ТиС-е даже есть такая функция:
Функция глСоздатьСписокЗначПеречисления(ИдПеречисления, СписокИдЗначений = "") Экспорт |
|||
10
1Сергей
13.09.11
✎
14:49
|
(7) а по-моему то. Я как раз использовал значение перечисления
|
|||
11
Irbis
13.09.11
✎
14:50
|
(7) Все зависит от того что у тебя есть. Само значение перечисления или его идентификатор. Во втором случае задача вообще может иметь несколько решений.
|
|||
12
Жан Пердежон
13.09.11
✎
15:03
|
ТипЗнч()
|
|||
13
aptomilov
13.09.11
✎
15:05
|
У меня первый случай, в наличии только само значение
|
|||
14
1Сергей
13.09.11
✎
15:06
|
(13) ты (4) попробовал?
|
|||
15
Irbis
13.09.11
✎
15:07
|
ПеречислениеОбъект=СоздатьОбъект("Перечисление."+ТвоеЗначение.Вид());
|
|||
16
viktor_vv
13.09.11
✎
15:07
|
(13) Тогда (4) самое то.
|
|||
17
aptomilov
14.09.11
✎
12:03
|
все решилось вот так:
ВидМат=Лист.Cells(Ряд,8).Value; Пр=Перечисление.Видыматериалов; Для Ин=1 по Пр.КоличествоЗначений() цикл Если Найти(Пр.ЗначениеПоНомеру(Ин),СокрЛП(ВидМат))<>0 Тогда Сообщить("НашОЛся"+ВидМат); ВидМатОбъект=Пр.ЗначениеПоНомеру(Ин); КонецЕсли; КонецЦикла; Тему закрываем всем спасибо |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |