7.7 Перечисления

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем Peroman, 28 сен 2010.

  1. TopicStarter Overlay
    Peroman
    Offline

    Peroman Опытный в 1С

    Регистрация:
    26 май 2009
    Сообщения:
    879
    Симпатии:
    13
    Баллы:
    29
    Всем доброго времени суток.
    Народ подскажите как мне вывести список всех имеющихся(в конфигураторе) перечислений с их значениями?
  2. Itsys
    Offline

    Itsys Опытный в 1С

    Регистрация:
    3 янв 2010
    Сообщения:
    1.394
    Симпатии:
    0
    Баллы:
    26
    Через Метаданные.Перечисление.
  3. TopicStarter Overlay
    Peroman
    Offline

    Peroman Опытный в 1С

    Регистрация:
    26 май 2009
    Сообщения:
    879
    Симпатии:
    13
    Баллы:
    29
    Делаю так:
    Код:
    Пока Метаданные.Перечисление.Выбран() = 1 Цикл
    
    
    Выдает ошибку:

    Пока Метаданные.Перечисление.Выбран() = 1 Цикл
    {C:\DOCUMENTS AND SETTINGS\PETUHOV1226\DESKTOP\123.ERT(5)}: Поле агрегатного объекта не обнаружено (Перечисление)
  4. WaRDeR
    Offline

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

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    Этот момент в ЖКК слабо описан (хотя все равно нужно ознакомиться).

    Может еще это поможет?

    Вложения:

    • meta.rar
      Размер файла:
      26,1 КБ
      Просмотров:
      42
  5. TopicStarter Overlay
    Peroman
    Offline

    Peroman Опытный в 1С

    Регистрация:
    26 май 2009
    Сообщения:
    879
    Симпатии:
    13
    Баллы:
    29
    Разобрался
    Делаю так:
    Код:
    Процедура Сформировать()
    ТЗ.НоваяКолонка("Наименование");
    Для Сч=1 По Метаданные.Перечисление() Цикл
    ИдентПер = Метаданные.Перечисление(Сч).Идентификатор;
    Если Метаданные.Перечисление(Сч).Выбран()=1 Тогда
    ТЗ.НоваяСтрока();
    ТЗ.Наименование=Метаданные.Перечисление(Сч).Идентификатор;
    КонецЕсли;
    КонецЦикла;
    КонецПроцедуры
    
    
    и всё работает :angry:
    Всем спасибо
  6. Jivchic
    Offline

    Jivchic Опытный в 1С

    Регистрация:
    4 фев 2008
    Сообщения:
    54
    Симпатии:
    0
    Баллы:
    26
    Подниму темку,

    Нужно получить элемент перечисления из объекта метаданных, т.е. :

    Код:
    ИмяПереч = "Булево";
    Для н = 1 По Метаданные.Перечисление(ИмяПереч).Значение() Цикл
    текПер = Метаданные.Перечисление(ИмяПереч).Значение(н);
    //при проверке на тип: ТипЗначенияСтр(текПер) = "Метаданные"
    //а мне нужно получить сам элемент перечисления, т.е. как будто я сделал:
    Реквизит1 = Перечисление.Булево.Истина;
    
    //а у меня есть Метаданные.Перечисление(ИмяПереч).Значение(н)
    
    КонецЦикла;
    подскажите пожалуйста, как это сделать?
  7. GlukAl
    Offline

    GlukAl Опытный в 1С

    Регистрация:
    4 окт 2012
    Сообщения:
    187
    Симпатии:
    7
    Баллы:
    29
    Код:
    Перечисление.ПолучитьАтрибут("Булево").ЗначениеПоИдентификатору("Да")
    Или
    Код:
    Перечисление.Булево.Да
  8. Requin
    Offline

    Requin Опытный в 1С

    Регистрация:
    10 май 2010
    Сообщения:
    1.911
    Симпатии:
    2
    Баллы:
    29
    Или перебор значений перечисления в цикле:
    [CODE1C]ТекПереч = Перечисление.ПолучитьАтрибут("Булево");
    Для Сч = 1 По ТекПереч.КоличествоЗначений() Цикл
    ТекЗнач = ТекПереч.ЗначениеПоНомеру(Сч);
    КонецЦикла;[/CODE1C]

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