| 
    
        
     
     | 
    
  | 
Подскажите пожалуйста, как получить имя значения перечисления? | ☑ | ||
|---|---|---|---|---|
| 
    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) Это как?     
         | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |