Имя: Пароль:
1C
 
Получение ссылки на элемент перечисления по его значению.
0 segun
 
03.12.10
19:23
Подскажите пожалуйста.
Есть перечисления ТипСклада. Имеющее 3 значения.

Оптовый,
НТТ,
Розничный.

Из обменной системы получаем строковое значение перечисления. Например "оптовый".

Подскажите пожалуйста. Как зная строковые значение перечисления "Оптовый" получить ссылку на его конкретное значение Перечисления.ТипСклада.Оптовый.

Есть вариант с тремя условиями, и обходом в цикле коллекции метаданных. Но наверняка есть менее варварский способ.
1 asady
 
03.12.10
19:29
(0) запросом
2 ILM
 
гуру
03.12.10
19:31
При открытии формы запиши один раз ссылки в соответствие. Потом просто бери по ключу значение.
3 segun
 
03.12.10
19:35
(2) К сожалению формы в данном механизме не участвуют, да и надо как то записать соответствие. А здесь смотри вопрос (0)
4 segun
 
03.12.10
19:35
(1) А Как запросом?
5 Рэйв
 
03.12.10
19:38
Не путайте человека запросами...

(4)
Пример:

Метаданные.Перечисления.Важность.ЗначенияПеречисления["Высокая"]
6 Рэйв
 
03.12.10
19:39
в твоем варианте:
Метаданные.Перечисления.ТипСклада.ЗначенияПеречисления["Оптопый"]
7 Рэйв
 
03.12.10
19:41
хотя наверное это все таки не ссылка.
8 Рэйв
 
03.12.10
19:41
сейчас посмотрю точно
9 le_
 
03.12.10
19:43
Можно так:

Оптовый = Метаданные.Перечисления.ТипСклада.ЗначенияПеречисления.Найти("Оптопый");
10 le_
 
03.12.10
19:44
* Оптовый = Метаданные.Перечисления.ТипСклада.ЗначенияПеречисления.Найти("Оптовый");
11 Aprobator
 
03.12.10
19:49
из обменной системы - конверташка что ли? при указанном типе приемника достаточно указать имя значения "Оптовый" или "НТТ"
12 Рэйв
 
03.12.10
19:51
(10)У всего этого тип= "ОбъектМетаданных". Сомнения есть пойдет ли как ссылка
13 Aprobator
 
03.12.10
19:53
+(11) в событии перед загрузкой в ПКС просто пишешь Значение = "Оптовый". Или в зависимости от того какой источник можно тупо в правиле настроить соответствие значений.
14 Рэйв
 
03.12.10
19:54
итиский конь:) Все простых путей то не ищем!:))

вот так:
Перечисления.ТипСклада["Оптовый"]

дает ссылку
15 Aprobator
 
03.12.10
19:57
попробуй тупо Перечисления.ТипСклада["Оптовый"] если это не обмен через xml.
16 Рэйв
 
03.12.10
19:59
(15)Тупо не тупо, но (14)  запомнить надо:-)..чтоб потом не ходить так же в трех соснах.

а обмену через xml кстати совершенно пофигу, оно само все к строке приводит
17 Aprobator
 
03.12.10
20:04
(16) помнится делал это, но было давно. Был сильно удивлен, поскольку в СП прописано только про индекс значения. Но у меня манера такая - все пробовать )
18 Рэйв
 
03.12.10
20:06
(17)вот вот...Тоже бывает, пока во все подворотни не ткнешься- парадного входа и не увидишь:)
19 segun
 
03.12.10
20:38
Рэйв Aprobator Спасибо большое. Вариант (14) отработал.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший