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