Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Метаданные
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование обычных форм 1С 8.2 и не интерфейсной логики
vadim007
Всем привет!
Можно-ли получить список всех типов объектов метаданных (т.е. Справочники, Документы, Константы, Журналы и т.д., без детализации) конфигурации программным путем?
Если ДА, то как?
Petre
СписокВсехТипов = Новый СписокЗначений;
Для Каждого ТекОбъект Из Метаданные.Справочники Цикл
    СписокВсехТипов.Добавить(ТекОбъект.Имя);
КонецЦикла;
Для Каждого ТекОбъект Из Метаданные.Документы Цикл
    СписокВсехТипов.Добавить(ТекОбъект.Имя);
КонецЦикла;
//* . . .
TipsyKID
Единственное решение ( уже давно гуляет по интернету )
 
    МассивКлассовМетаданных = Новый Массив;
    МассивКлассовМетаданных.Добавить("Справочники");
    МассивКлассовМетаданных.Добавить("Документы");
    МассивКлассовМетаданных.Добавить("Отчеты");
    МассивКлассовМетаданных.Добавить("Обработки");
    
    Для каждого КлассМетаданных Из МассивКлассовМетаданных Цикл
        
        Для Каждого ОбъектМетаданных Из Метаданные[КлассМетаданных] Цикл
            
            Сообщить(ОбъектМетаданных.Имя);
        КонецЦикла;
    КонецЦикла;
vadim007
Только так?
А наподобие следующего нельзя?
Мета = Новый Структура();
Для Каждого ТекТипМД Из Метаданные Цикл
   Если Не ПустоеЗначение(ТекТипМД) Тогда // Есть метаданные текущего типа
      спТекМета = Новый СписокЗначений();
      Для Каждого ТекМД из Метаданные(ТекТипМД) Цикл
          спТекМета.Добавить(ТекМД);
      КонецЦикла;
      Мета.Вставить(ТекТипМД, спТекМета);
   КонецЕсли;
КонецЦикла;
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.