Имя: Пароль:
1C
 
Как получить имя значения перечисления?
0 чувак
 
26.04.11
15:01
Этот код дает синоним значения перечисления:

Документы.ПоступлениеТоваровУслуг.НайтиПоНомеру("ЦНТ00000001",Дата('20100106')).ВидОперации= "Покупка, комисия"

А как получить имя значения перечисления в конфе, т.е "ПокупкаКомиссия" ?
1 Axel2009
 
26.04.11
15:02
найти по синониму
2 zbv
 
26.04.11
15:04
XMLСтрока(...)
3 чувак
 
26.04.11
15:06
(2) Спасибо
4 mikecool
 
26.04.11
15:10
Документы.ПоступлениеТоваровУслуг.НайтиПоНомеру("ЦНТ00000001",Дата('20100106')).ВидОперации.Метаданные().Имя ?
5 чувак
 
26.04.11
15:14
(4) не канает
6 СвинТуз
 
26.04.11
15:23
Документы.ПоступлениеТоваровУслуг.НайтиПоНомеру("ЦНТ00000001",Дата('20100106')).ВидОперации=Перечисления.ВидыОперации.ПокупкаКомиссия;
7 чувак
 
26.04.11
15:28
(6) Хахаха!
8 comp2006
 
26.04.11
15:30
В (4) правильно
9 Рэйв
 
26.04.11
15:31
(8)даст имя перечисления
10 comp2006
 
26.04.11
15:34
(9) Так автор это и хочет!
11 Живой Ископаемый
 
26.04.11
15:34
2(8) серьезно?
http://screencast.com/t/fFn62o5ll
12 Живой Ископаемый
 
26.04.11
15:34
2(10) нет, он хочет имя ЗНАЧЕНИЯ перечисления
13 Рэйв
 
26.04.11
15:35
(10)Он хочет имя значения перечисления как оно задано в конфе
14 comp2006
 
26.04.11
15:38
Признаюсь. Не прав!
15 Рэйв
 
26.04.11
15:38
(0)Вот как примерно  у расходной

Метаданные.Перечисления.ВидыОперацийРеализацияТоваров.ЗначенияПеречисления[Перечисления.ВидыОперацийРеализацияТоваров.Индекс(Док.ВидОперации)].Имя
16 comp2006
 
26.04.11
15:39
СсылкаНаЗначениеПеречисления.Метаданные().ЗначенияПеречисления.Получить(Перечисления.ВидыОперацийРеализацияТоваров.Индекс(СсылкаНаЗначениеПеречисления)).Имя
17 Рэйв
 
26.04.11
15:40
(16)У меня короче:-))
18 Mitriy
 
26.04.11
15:40
(17) сделай короче (2) ))
19 comp2006
 
26.04.11
15:42
СНЗП.Метаданные().ЗначенияПеречисления.Получить(Перечисления.ВидыОперацийРеализацияТоваров.Индекс(СНЗПия)).Имя
20 comp2006
 
26.04.11
15:42
)))
21 Рэйв
 
26.04.11
15:43
(20)Хитрый какой!:)
22 чувак
 
26.04.11
15:53
Короче сделал через индекс, все получилось
23 Живой Ископаемый
 
26.04.11
15:54
2(22) так а почему не через ХМЛстрока? даже интересно...
24 чувак
 
26.04.11
15:56
(23) Квадратные скобки например "ПокупкаКомиссия" не признает
25 Живой Ископаемый
 
26.04.11
15:58
чего-чего?
вы посмотрели (11), третью строчку кода?
26 чувак
 
26.04.11
16:01
(25)Сам проверь, увидишь
27 Живой Ископаемый
 
26.04.11
16:01
что проверить?
в (11) рабочий код
28 чувак
 
26.04.11
16:03
ПеречислениеСсылка.ВидыОперацийРеализацияТоваров[XMLСтрока(Документы.ПоступлениеТоваровУслуг.НайтиПоНомеру("ЦНТ00000001",Дата('20100106')).ВидОперации=)]

выдает ошибку
29 чувак
 
26.04.11
16:04
т.е

ПеречислениеСсылка.ВидыОперацийРеализацияТоваров[XMLСтрока(Документы.ПоступлениеТоваровУслуг.НайтиПоНомеру("ЦНТ00000001",Дата('20100106')).ВидОперации)]
30 Живой Ископаемый
 
26.04.11
16:10
а причина одна - безблагадотаность(с)
http://screencast.com/t/EY42mrIiPc
31 Живой Ископаемый
 
26.04.11
16:14
Это чтобы копировать было легче:
=====
Сообщить(XMLСтрока(СтрокаРезультата.ССылка.ВидОперации));
Сообщить(Перечисления.ВидыОперацийПоступлениеБезналичныхДенежныхСредств[XMLСтрока(СтрокаРезультата.ССылка.ВидОперации)]);
Сообщить(XMLТипЗнч(Перечисления.ВидыОперацийПоступлениеБезналичныхДенежныхСредств[XMLСтрока(СтрокаРезультата.ССылка.ВидОперации)]).ИмяТипа);
Сообщить(Перечисления["ВидыОперацийПоступлениеБезналичныхДенежныхСредств"][XMLСтрока(СтрокаРезультата.ССылка.ВидОперации)]);
32 СвинТуз
 
26.04.11
16:23
(31)
просто гениально ...

а есть и простые системные функции
33 Mitriy
 
26.04.11
16:25
(32) эммм... можно развернуть?
для тех, кто в танке?
34 Axel2009
 
26.04.11
16:55
(32) и какая же "простая" !системная! функция вернет имя перечисления?
35 СвинТуз
 
26.04.11
17:20
в 8.2 точно есть
36 mikecool
 
26.04.11
17:23
(35) не томи
37 Живой Ископаемый
 
26.04.11
17:25
что такое "системные функции"?
38 Axel2009
 
26.04.11
17:26
(37) которая есть в СП
39 Mort
 
26.04.11
17:28
Нафига в программе получать имя перечисления?
40 Axel2009
 
26.04.11
17:31
(39) обычно надо когда копируешь куданить данные.. =)
41 Живой Ископаемый
 
26.04.11
17:31
2(39) ну... тут вообще все покрыто мраком.
например почему-то не устроило само значение которое возвращается "XMLСтрока(Документы.ПоступлениеТоваровУслуг.НайтиПоНомеру("ЦНТ00000001",Дата('20100106')).ВидОперации)"
понадобилось зачем-то получить туже ссылку из самого перечисления:
ПеречислениеСсылка.ВидыОперацийРеализацияТоваров[XMLСтрока(Документы.ПоступлениеТоваровУслуг.НайтиПоНомеру("ЦНТ00000001",Дата('20100106')).ВидОперации=)]

чем второе каноничнее первого - непонятно
2 + 2 = 3.9999999999999999999999999999999...