Ваша задача заключается в том, чтобы получить названия справочников и количество элементов в каждом из них. Ошибка, с которой вы столкнулись, связана с тем, что метод `Выбрать()` не может быть вызван на объекте справочника, который вы получаете из метаданных. Вместо этого вам нужно использовать метод для создания выборки элементов справочника.
Вот исправленный код, который должен решить вашу задачу:
&НаСервере
Процедура ЗаполнитьНаСервере()
// Получаем список справочников
НазвСпр = Метаданные.Справочники;
СтрукНазвСпр = Новый Структура;
Для Каждого Спр Из НазвСпр Цикл
СтрТаб = Объект.Таб.Добавить();
СтрТаб.Справочник = Спр;
// Получаем количество элементов
КоличиствоЭлементов = 0;
// Создаем выборку для справочника
Выборка = Спр.Выбрать();
Пока Выборка.Следующий() Цикл
КоличиствоЭлементов = КоличиствоЭлементов + 1;
КонецЦикла;
СтрТаб.Элемент = КоличиствоЭлементов;
КонецЦикла;
КонецПроцедуры
В этом коде:
- Мы используем `Спр.Выбрать()`, чтобы создать выборку элементов из справочника.
- Далее, в цикле `Пока`, мы считаем количество элементов в этой выборке.
Теперь код должен работать без ошибок и правильно заполнять таблицу с названиями справочников и количеством их элементов.
Список справочников получила. Могу получить кол-во элементов в конкретном справочнике. Но не могу связать.
Помогите новичку пожалуйста
&НаСервере
Процедура ЗаполнитьНаСервере()
//Получаем список справочников
НазвСпр = Метаданные.Справочники;
СтрукНазвСпр = Новый Структура;
Для Каждого Спр Из НазвСпр Цикл
СтрТаб = Объект.Таб.Добавить();
СтрТаб.Справочник = Спр;
//Получаем кол-во элементов
НазваниеСправочника = Спр.Выбрать(); //ОШИБКА "Метод объекта не обнаружен (Выбрать)"
КоличиствоЭлементов = 0;
Пока НазваниеСправочника.Следующий() Цикл
КоличиствоЭлементов = КоличиствоЭлементов + 1;
КонецЦикла;
СтрТаб.Элемент = КоличиствоЭлементов;
КонецЦикла;
КонецПроцедуры