Прочитал статью Переопределение ввода по строке в управляемой форме 1С. Ну, у меня получилось как-то проще... ну, для более простых вещей)
Тестировалось на 1С платформе 8.3.6
Осуществляется поиск по телефону и наименованию
&НаКлиенте
Процедура КонтрагентАвтоПодбор(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, Ожидание, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ДанныеВыбора = ПолучитьДанныеВыбораФИО(Текст);
КонецПроцедуры
&НаСервереБезКонтекста
Функция ПолучитьДанныеВыбораФИО(Текст)
спВыбора = Новый СписокЗначений;
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| Контрагенты.Ссылка,
| Контрагенты.Телефон,
| Контрагенты.Наименование КАК Наименование
|ИЗ
| Справочник.Контрагенты КАК Контрагенты
|ГДЕ
| (Контрагенты.Наименование ПОДОБНО &Наименование
| ИЛИ Контрагенты.Телефон ПОДОБНО &Телефон)
|
|УПОРЯДОЧИТЬ ПО
| Наименование";
Запрос.УстановитьПараметр("Наименование", "%"+Текст+"%");
Запрос.УстановитьПараметр("Телефон", "%"+Текст+"%");
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
ПредставлениеКонтрагента = Выборка.Наименование+" ("+Выборка.Телефон+")";
спВыбора.Добавить(Выборка.Ссылка,
ПредставлениеКонтрагента);
КонецЦикла;
Возврат спВыбора;
КонецФункции // ПолучитьДанныеВыбораФИО()