|
Автоподбор текста | ☑ | ||
---|---|---|---|---|
0
SRM1C
12.12.17
✎
09:32
|
День добрый!
Хочу найти контрагента по ФИО/ЭП/телефону. Сделал событие Автоподбор. &НаСервере Функция КлиентАвтоПодборНаСервере(Текст) мСписокВыбора = Новый СписокЗначений; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | КонтрагентыКонтактнаяИнформация.НомерТелефона, | КонтрагентыКонтактнаяИнформация.Ссылка.Наименование КАК Наименование, | КонтрагентыКонтактнаяИнформация.Ссылка.НаименованиеПолное КАК НаименованиеПолное, | КонтрагентыКонтактнаяИнформация.Ссылка.Ссылка КАК Ссылка, | ВложенныйЗапрос.АдресЭП КАК АдресЭП |ИЗ | Справочник.Контрагенты.КонтактнаяИнформация КАК КонтрагентыКонтактнаяИнформация | ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | КонтрагентыКонтактнаяИнформация.Ссылка КАК Ссылка, | КонтрагентыКонтактнаяИнформация.АдресЭП КАК АдресЭП | ИЗ | Справочник.Контрагенты.КонтактнаяИнформация КАК КонтрагентыКонтактнаяИнформация | ГДЕ | КонтрагентыКонтактнаяИнформация.ВидДляСписка = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.EmailКонтрагента)) КАК ВложенныйЗапрос | ПО КонтрагентыКонтактнаяИнформация.Ссылка = ВложенныйЗапрос.Ссылка |ГДЕ | (КонтрагентыКонтактнаяИнформация.АдресЭП ПОДОБНО &СтрокаПоиска | ИЛИ КонтрагентыКонтактнаяИнформация.НомерТелефона ПОДОБНО &СтрокаПоиска | ИЛИ КонтрагентыКонтактнаяИнформация.Ссылка.Наименование ПОДОБНО &СтрокаПоиска | ИЛИ КонтрагентыКонтактнаяИнформация.Ссылка.НаименованиеПолное ПОДОБНО &СтрокаПоиска | ИЛИ ВложенныйЗапрос.АдресЭП ПОДОБНО &СтрокаПоиска) | И КонтрагентыКонтактнаяИнформация.ВидДляСписка = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ТелефонКонтрагента)"; Запрос.УстановитьПараметр("СтрокаПоиска", "%" + Текст + "%"); Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл мСписокВыбора.Добавить(Выборка.Ссылка, Строка(Выборка.ссылка)+ " " +Выборка.НомерТелефона+" "+ Выборка.АдресЭП); КонецЦикла; Возврат мСписокВыбора; КонецФункции &НаКлиенте Процедура КлиентАвтоПодбор(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, Ожидание, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; Если СтрДлина(Текст)<2 Тогда Возврат; КонецЕсли; мСписокВыбора = КлиентАвтоПодборНаСервере(Текст); ДанныеВыбора = мСписокВыбора; КонецПроцедуры после срабатывания события, очищается строка ввода, как оставить введенный тест не нашел не в СП и подобных темах. |
|||
1
nordbox
12.12.17
✎
09:38
|
ИМХО ну надо что бы этот Текст где то запоминался,
опять же, а как он подбор начинать будет, например искал ООО текст запомнил, а потом тебе надо найти ОАО ты первую букву жмешь, а тебе стразу набирается ООО |
|||
2
НЕА123
12.12.17
✎
09:40
|
неужто там один параметр?
|
|||
3
SRM1C
12.12.17
✎
10:01
|
Нужно как стандартный автоподбор работает сделать, но поиск по моим полям поиска производить.
В стандартном же не он показывает совпадение без очистки строки. (1) У меня выпадающий список, который должен сужаться с написанием строки, а он очищает. |
|||
4
nordbox
12.12.17
✎
10:06
|
имхо мне кажется где то этот текст запомнить, а когда повторный поиск начинаешь, то параметром текст для поиска передавать текст от начала строки поиска до курсора не используя буквы после курсора
на счет очистки ничего не скажу |
|||
5
catena
12.12.17
✎
10:28
|
||||
6
SRM1C
12.12.17
✎
12:56
|
Переделывать типовой механизм не вариант. в другой базе аналогичный код почему-то работает без очистки.
Может есть у кого еще варианты ? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |