МассивИменМетаданных = Новый Массив;
ТипыМетаданных = Новый Массив;
ТипыМетаданных.Добавить("Константы");
ТипыМетаданных.Добавить("Справочники");
ТипыМетаданных.Добавить("Документы");
ТипыМетаданных.Добавить("ЖурналыДокументов");
ТипыМетаданных.Добавить("ПланыВидовХарактеристик");
ТипыМетаданных.Добавить("ПланыСчетов");
ТипыМетаданных.Добавить("ПланыВидовРасчета");
ТипыМетаданных.Добавить("РегистрыСведений");
ТипыМетаданных.Добавить("РегистрыНакопления");
ТипыМетаданных.Добавить("РегистрыБухгалтерии");
ТипыМетаданных.Добавить("РегистрыРасчета");
ТипыМетаданных.Добавить("ПланыОбмена");
ТипыМетаданных.Добавить("БизнесПроцессы");
ТипыМетаданных.Добавить("Задачи");
ТипыМетаданных.Добавить("ВнешниеИсточникиДанных");
Для Каждого ТипМетаданных Из ТипыМетаданных Цикл
Для Каждого ОбъектМетаданных Из Метаданные[ТипМетаданных] Цикл
ИмяМетаданных = ОбъектМетаданных.ПолноеИмя();
Если СтрНайти(ТекстЗапроса, ИмяМетаданных) <> 0 Тогда
Если ТипМетаданных = "ВнешниеИсточникиДанных" Тогда
//Найдем имя конечной таблицы внешнего источника данных
Для Каждого ТаблицаВнешнегоИсточника Из Метаданные.ВнешниеИсточникиДанных[ОбъектМетаданных.Имя].Таблицы Цикл
КонечноеИмяТаблицыВИД = ИмяМетаданных + ".Таблица." +ТаблицаВнешнегоИсточника.Имя;
Если СтрНайти(ТекстЗапроса, КонечноеИмяТаблицыВИД) <> 0 Тогда
МассивИменМетаданных.Добавить(КонечноеИмяТаблицыВИД);
КонецЕсли;
Конеццикла;
Иначе
МассивИменМетаданных .Добавить(ИмяМетаданных);
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЦикла;
СписокМетаданныхЗапроса = СтрСоединить(МассивИменМетаданных, Символы.ПС);