Итак, что делает обработка. Обработка собирает из текущей конфигурации перечень объектов метаданных. Причем делает она это нестандартно, используя функцию ПолучитьСтруктуруХраненияБазыДанных(). Обычно структуру метаданных собирают циклами по списку документов, справочников, и т.д. Способ не факт, что быстрее, но для учебных целей он может быть интересен.
Далее, часто задают вопрос, а как сделать автоподбор при вводе символов в поле ввода. 1С говорит, что с заходом на сервер этого делать нельзя. На самом деле, если немного обмануть систему, то можно. Делается это в процедуре автоподбора через грязный хак:
&НаКлиенте
Процедура ОбъектМетаданныхАвтоПодбор(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, Ожидание, СтандартнаяОбработка)
Если Не ПустаяСтрока(Текст) Тогда
СтандартнаяОбработка = Ложь;
ОбъектМетаданных = Текст;
ДанныеВыбора = ПолучитьПереченьОбъектов(Текст);
КонецЕсли;
КонецПроцедуры
Смысл в том, чтобы присвоить набранное значение в реквизит, к которому привязано поле формы, а затем уже уходить на сервер. Есть правда минус, поле начинает некорректно отображать курсор. То-есть сам курсор ввода остаётся на своем месте, но поле показывает его в начале строки.
И да. Не рекомендую это решение в продакшн на продажу. Вдруг 1С закроет эту багофичу?
На смешении этих двух идей в обработке построен инкрементальный поиск в таблице значений. При открытии подбора метаданного из таблицы значений можно отфильтровать отдельно как по типу метаданного, так и по части строки имени метаданного.