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


Автоподбор текста

Автоподбор текста
Я
   SRM1C
 
12.12.17 - 09:32
День добрый!
Хочу найти контрагента по ФИО/ЭП/телефону.
Сделал событие Автоподбор.

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


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

мСписокВыбора = КлиентАвтоПодборНаСервере(Текст);
ДанныеВыбора = мСписокВыбора;
КонецПроцедуры


после срабатывания события, очищается строка ввода, как оставить введенный тест не нашел не в СП и подобных темах.
 
 
   nordbox
 
1 - 12.12.17 - 09:38
ИМХО ну надо что бы этот Текст где то запоминался,
опять же, а как он подбор начинать будет,
например искал ООО текст запомнил,
а потом тебе надо найти ОАО ты первую букву жмешь, а тебе стразу набирается ООО
   НЕА123
 
2 - 12.12.17 - 09:40
неужто там один параметр?
   SRM1C
 
3 - 12.12.17 - 10:01
Нужно как стандартный автоподбор работает сделать, но поиск по моим полям поиска производить.
В стандартном же не он показывает совпадение без очистки строки. (1) У меня выпадающий список, который должен сужаться с написанием строки, а он очищает.
   nordbox
 
4 - 12.12.17 - 10:06
имхо мне кажется где то этот текст запомнить, а когда повторный поиск начинаешь, то параметром текст для поиска передавать текст от начала строки поиска до курсора не используя буквы после курсора
на счет очистки ничего не скажу
   catena
 
5 - 12.12.17 - 10:28
   SRM1C
 
6 - 12.12.17 - 12:56
Переделывать типовой механизм не вариант. в другой базе аналогичный код почему-то работает без очистки.
Может есть у кого еще варианты ?

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