Есть возможность сформировать список всех объектов метаданных и отметить нужные к замеру. Результат замера выводится в таблицу. Имеется возможность сортировки объектов по количеству записей и вывода результата в Excel. Обработка легко подключается к базе в качестве дополнительной глобальной обработки. Работает в небезопасном режиме (для чтения объектов метаданных без права администрирования).
Писалась для ERP 2.4.7.151, платформу 8.3.13.1644. Работает в ЗУП 3.1.9.159. По идее должна работать и в других конфигурациях на БСП.
&НаСервере
Процедура НачатьЗамерНаСервере()
УстановитьПривилегированныйРежим(Истина);
Для каждого ОбъектКЗамеру Из Объект.ВыбранныеОбъектыМетаданных Цикл
Если Не ОбъектКЗамеру.Отметка Тогда
Продолжить;
КонецЕсли;
ТипЗнчВыбранныйСтрокой = ОбъектКЗамеру.ПолноеИмяОбъектаМетаданных;
МетаданныеКЗамеру = Метаданные.НайтиПоПолномуИмени(ТипЗнчВыбранныйСтрокой);
Если СтрНайти(МетаданныеКЗамеру.ПолноеИмя(), "РегистрСведений") > 0 Тогда
Попытка
НаборЗаписей = РегистрыСведений[МетаданныеКЗамеру.Имя].СоздатьНаборЗаписей();
НаборЗаписей.Прочитать();
КоличествоЗаписей = НаборЗаписей.Количество();
Строка = Объект.Результат.Добавить();
Строка.ОбъектМетаданных = ОбъектКЗамеру.ПолноеИмяОбъектаМетаданных;
Строка.КоличествоЗаписей = КоличествоЗаписей;
Исключение
Сообщить("ОшибкаОбработкиОбъекта "+МетаданныеКЗамеру.ПолноеИмя()+" "+ОписаниеОшибки());
Продолжить;
КонецПопытки;
КонецЕсли;
Если СтрНайти(МетаданныеКЗамеру.ПолноеИмя(), "РегистрНакопления") > 0 Тогда
Попытка
НаборЗаписей = РегистрыНакопления[МетаданныеКЗамеру.Имя].СоздатьНаборЗаписей();
НаборЗаписей.Прочитать();
КоличествоЗаписей = НаборЗаписей.Количество();
Строка = Объект.Результат.Добавить();
Строка.ОбъектМетаданных = ОбъектКЗамеру.ПолноеИмяОбъектаМетаданных;
Строка.КоличествоЗаписей = КоличествоЗаписей;
Исключение
Сообщить("ОшибкаОбработкиОбъекта "+МетаданныеКЗамеру.ПолноеИмя()+" "+ОписаниеОшибки());
Продолжить;
КонецПопытки;
КонецЕсли;
Если СтрНайти(МетаданныеКЗамеру.ПолноеИмя(), "Документ") > 0 Тогда
Попытка
ВыборкаДокументов = Документы[МетаданныеКЗамеру.Имя].Выбрать();
КоличествоЗаписей = 0;
Пока ВыборкаДокументов.Следующий() Цикл
КоличествоЗаписей = КоличествоЗаписей + 1;
КонецЦикла;
Строка = Объект.Результат.Добавить();
Строка.ОбъектМетаданных = ОбъектКЗамеру.ПолноеИмяОбъектаМетаданных;
Строка.КоличествоЗаписей = КоличествоЗаписей;
Исключение
Сообщить("ОшибкаОбработкиОбъекта "+МетаданныеКЗамеру.ПолноеИмя()+" "+ОписаниеОшибки());
Продолжить;
КонецПопытки;
КонецЕсли;
Если СтрНайти(МетаданныеКЗамеру.ПолноеИмя(), "Справочник") > 0 Тогда
Попытка
ВыборкаСправочников = Справочники[МетаданныеКЗамеру.Имя].Выбрать();
КоличествоЗаписей = 0;
Пока ВыборкаСправочников.Следующий() Цикл
КоличествоЗаписей = КоличествоЗаписей + 1;
КонецЦикла;
Строка = Объект.Результат.Добавить();
Строка.ОбъектМетаданных = ОбъектКЗамеру.ПолноеИмяОбъектаМетаданных;
Строка.КоличествоЗаписей = КоличествоЗаписей;
Исключение
Сообщить("ОшибкаОбработкиОбъекта "+МетаданныеКЗамеру.ПолноеИмя()+" "+ОписаниеОшибки());
Продолжить;
КонецПопытки;
КонецЕсли;
КонецЦикла;
УстановитьПривилегированныйРежим(Ложь);
КонецПроцедуры