Имя: Пароль:
1C
1С v8
Поиск значеня перечисления по синониму
0 olo_lo1
 
02.05.13
18:47
Подскажите есть ли более красивый способ найти значение перечисления без перебора в цикле

ВыбраннаяУслугаДляПоиска = Перечисления.ВидыУслуг.ПустаяСсылка();
   
   Для й=0 По Перечисления.ВидыУслуг.Количество()-1 Цикл
       Если Строка(Перечисления.ВидыУслуг.Получить(й))=СтрЗаменить(ВыбраннаяУслуга," ","") Тогда
            ВыбраннаяУслугаДляПоиска = Перечисления.ВидыУслуг.Получить(й);
            Прервать;
       КонецЕсли;
   КонецЦикла;
1 Aleksey
 
02.05.13
18:57
через кэш чем не нравится?
2 olo_lo1
 
02.05.13
19:32
(1) подскажи, это как ))
3 Aleksey
 
02.05.13
20:54
(1) заполнить в соответствие
Кэш =новый соответствие;
Для й=0 По Перечисления.ВидыУслуг.Количество()-1 Цикл
Кэш.Добавить(Строка(Перечисления.ВидыУслуг.Получить(й)),Перечисления.ВидыУслуг.Получить(й));
КонецЦикла;

ВыбраннаяУслугаДляПоиска  = Кэш[ВыбраннаяУслуга];
4 DirecTwiX
 
02.05.13
21:00
Метаданные разве не позволяют такое реализовать?
5 Aleksey
 
02.05.13
21:49
(4) По представлению - нет
6 olo_lo1
 
02.05.13
21:58
(3) Спасибо, это хороший вариант!
Независимо от того, куда вы едете — это в гору и против ветра!