|
Подскажите пожалуйста, как получить имя значения перечисления? | ☑ | ||
---|---|---|---|---|
0
batmansoft
10.03.14
✎
16:39
|
Тоесть, существует какое то значение, например, ВидыОперацийПоступлениеТоваровУслуг.ПокупкаКомиссия.
Точнее, переменная, имеющая данное значение. Понятно как получить его индекс. А как имя в виде строки? И как по этому имени потом получить значение из менеджера перечисления? Дело в том, что я выгружаю данные из БП 2.0 в БП 3.0. Делаю так: удПеречисление=АБаза.Перечисления[АОбъект.Метаданные().Имя]; лПеречисление=Перечисления[АОбъект.Метаданные().Имя]; лИндекс=лПеречисление.Индекс(АОбъект); удЗначение=удПеречисление.Получить(лИндекс); но это не прокатывает, потому что в БП 2.0 и 3.0 разный порядок значений. Надо по сопоставлять по имени. Подскажите пожалуйста, как? |
|||
1
Добрый хачик
10.03.14
✎
16:48
|
Перечисления.важность.Высокая.Метаданные().Имя
|
|||
2
zak555
10.03.14
✎
16:50
|
обмен через правила ?
|
|||
3
batmansoft
10.03.14
✎
16:55
|
(2) нет
|
|||
4
Torquader
10.03.14
✎
16:56
|
Порядок, насколько я помню, не меняется, то есть можно по метаданным получить имя через индекс значения.
лчИндекс=Перечисление.ИмяПеречисления.Индекс(лпрчЗначениеПеречисления); лстрИмяЗначения=Метаданные.Перечисления["ИмяПеречисления"].Значения[лчИндекс].Имя; |
|||
5
batmansoft
10.03.14
✎
17:01
|
АОбъект.Метаданные().Имя в отладчике равен "ВидыОперацийПоступлениеТоваровУслуг"
а сам АОбъект равен "Покупка, комиссия" тип ПеречислениеСсылка.ВидыОперацийПоступлениеТоваровУслуг И как быть? |
|||
6
batmansoft
10.03.14
✎
17:02
|
(4) Это разные конфигурации, там порядок другой. Но вот имена практически везде совпадают.
|
|||
7
Mitriy
10.03.14
✎
17:05
|
XMLСтрока(ЗначениеПеречисления)
|
|||
8
zak555
10.03.14
✎
17:07
|
(3) а как ?
|
|||
9
Torquader
10.03.14
✎
17:07
|
(6) Порядок метаданных в конфигурации совпадает с порядком значений - и можно получить значение через метаданные по индексу (собственно, что я и написал).
|
|||
10
zak555
10.03.14
✎
17:07
|
в 2.0 ВидыОперацийПоступлениеТоваровУслуг нет у ртиу
заполняй на стороне бп3 |
|||
11
batmansoft
10.03.14
✎
17:17
|
(9) Дык к БП 2.0 один порядок, в 3.0 другой. Если я буду искать по индексу, значения путаются
|
|||
12
batmansoft
10.03.14
✎
17:17
|
(8) Через ОЛЕ
|
|||
13
batmansoft
10.03.14
✎
17:18
|
(7) Спасибо, XMLСтрока(АОбъект) действительно дает "ПокупкаКомиссия"
|
|||
14
batmansoft
10.03.14
✎
17:31
|
(13) PS. Вот такой код работает:
удПеречисление=АБаза.Перечисления[АОбъект.Метаданные().Имя]; лПеречисление=Перечисления[АОбъект.Метаданные().Имя]; //лИндекс=лПеречисление.Индекс(АОбъект); //удЗначение=удПеречисление.Получить(лИндекс); удЗначение=удПеречисление[XMLСтрока(АОбъект)]; возврат удЗначение; |
|||
15
zak555
10.03.14
✎
21:26
|
(14) можно было через соответствие
|
|||
16
batmansoft
10.03.14
✎
23:22
|
(15) Это как?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |