8.х Как получить имя перечисления?

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем WWW123, 26 авг 2009.

  1. TopicStarter Overlay
    WWW123
    Offline

    WWW123 Опытный в 1С

    Регистрация:
    23 фев 2009
    Сообщения:
    181
    Симпатии:
    0
    Баллы:
    26
    В форме есть поле «ФормаДоговора»: тип значения – пречислениСсылка.ФормыДоговоров
    Если написать Сообщить(ФормаДоговора);
    То , сообщится синоним, м не нужно имя элемента
    Скажите пожалуйста как это сделать?
  2. mialord
    Offline

    mialord Модераторы Команда форума Модератор

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Здраствуйте!

    Код:
    Сообщить(ФормаДоговора.Метаданные().Имя);
    
    
    Вам нужно обратиться непосредственно к метаданным объекта по его ссылке.
    Ссылка подобных данных с собой не таскает.

    Вложения:

  3. ASh
    Offline

    ASh Опытный в 1С

    Регистрация:
    10 сен 2008
    Сообщения:
    568
    Симпатии:
    0
    Баллы:
    26
    Это вернет имя перечисления, а не значения. Нужно через индекс имя дергать
    Код:
    ИндексЗначения = Перечисления[ФормаДоговора.Метаданные().Имя].Индекс(ФормаДоговора);
    Сообщить(ФормаДоговора.Метаданные().ЗначенияПеречисления.Получить(ИндексЗначения).Имя);
    
    
  4. mialord
    Offline

    mialord Модераторы Команда форума Модератор

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    А нужно имя перечисления или имя значения перечисления?

    В заголовке написано имя перечисления.
  5. TopicStarter Overlay
    WWW123
    Offline

    WWW123 Опытный в 1С

    Регистрация:
    23 фев 2009
    Сообщения:
    181
    Симпатии:
    0
    Баллы:
    26
    Значения (элемента)

    Предположим:
    Перечисления.ФормаДоговора.Бюджет

    Нужно паолучить слово БЮДЖЕТ
  6. TopicStarter Overlay
    WWW123
    Offline

    WWW123 Опытный в 1С

    Регистрация:
    23 фев 2009
    Сообщения:
    181
    Симпатии:
    0
    Баллы:
    26
    Если делать
    Форма= Перечисления.ФомаДоговора.Индекс(ФормаДоговора);
    Сообщить(форма);

    то получается порядковый номер перечисления
  7. mialord
    Offline

    mialord Модераторы Команда форума Модератор

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Ну тогда после получения индекса напиши

    Код:
    СсылкаПеречисление.Метаданные().ЗначенияПеречисления[Индекс].Имя
    
    
  8. TopicStarter Overlay
    WWW123
    Offline

    WWW123 Опытный в 1С

    Регистрация:
    23 фев 2009
    Сообщения:
    181
    Симпатии:
    0
    Баллы:
    26
    Спасибо всем, вообщем получилось так:

    Индекс = Перечисления.ФомаДоговора.Индекс(ФормаДоговора);
    Док = ФормаДоговора.Метаданные().ЗначенияПеречисления[индекс].Имя;
    Сообщить(док);
  9. lakzn
    Offline

    lakzn

    Регистрация:
    11 ноя 2009
    Сообщения:
    5
    Симпатии:
    0
    Баллы:
    1
    Специально зарегистрировалась, чтобы сказать спасибо! Тоже полдня сегодня промучилась с этой проблемой ))

Поделиться этой страницей