Вход | Регистрация
 

Настроить поиск по любой части в элементе с режимом выбора из списка доступных значений

Настроить поиск по любой части в элементе с режимом выбора из списка доступных значений
Я
   SeiOkami
 
25.07.19 - 16:23
Добрый день.

Есть элемент "КоррСчет", в котором выбирают банковский счет из заданного списка.
У элемента стоит "РежимВыбораИзСписка".
Список указан в "СписокВыбора".
Каждый элемент списка имеет значение - ссылка на счет, представление "Код - Наименование".

Стандартное поведение в такой ситуации - пользователь вводит код и видит список с подходящими элементами. Так делает платформа.
При этом, если пользователь вводит наименование счета, то никакой из элементов не подбирается. Потому что стандартный поиск у платформы - по началу строки. А в начале строки у нас Код.

Как сделать так, чтобы платформа искала по любой части строки? И подсвечивала эту часть (как стандартно делает при поиске).


Добавил обработчик события АвтоПодбор. И сделал такой механизм (ниже). Однако, в таком случае нет подсветки выделенной части. Думаю, не делаю ли велосипед. Может как-то подсказать платформе, что нужно искать именно по любой части строки в списке значений?


&НаКлиенте
Процедура КоррСчетАвтоПодбор(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, Ожидание, СтандартнаяОбработка)
    
    СтандартнаяОбработка = Ложь;
    
    ДанныеВыбора = ДанныеВыбораСчета(Элемент.СписокВыбора, Текст);
    
КонецПроцедуры

&НаСервереБезКонтекста
Функция ДанныеВыбораСчета(Знач ДоступныеСчета, СтрокаПоиска)
    
    ПараметрыПолучения = Новый Структура;
    ПараметрыПолучения.Вставить("СтрокаПоиска", СтрокаПоиска);
    ПараметрыПолучения.Вставить("СпособПоискаСтроки", СпособПоискаСтрокиПриВводеПоСтроке.ЛюбаяЧасть);
    ПараметрыПолучения.Вставить("Отбор", Новый Структура("Ссылка", ДоступныеСчета));
    
    НайденныеСчета    = ПолучитьДанныеВыбора(Тип("ПланСчетовСсылка.Бухгалтерский"), ПараметрыПолучения);
    Для Каждого НайденныйСчет Из НайденныеСчета Цикл
        ЗаполнитьЗначенияСвойств(НайденныйСчет, ДоступныеСчета.НайтиПоЗначению(НайденныйСчет.Значение));
    КонецЦикла;
    
    Возврат НайденныеСчета;
    
КонецФункции
 
 
   SeiOkami
 
1 - 25.07.19 - 16:40
ап
   SeiOkami
 
2 - 29.07.19 - 09:30
вверх

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.