Имя: Пароль:
1C
1С v8
Как можно сделать семерошный поиск в УФ
,
0 IUnknown777
 
06.02.14
20:49
Пользователи хотят при вводе строки позиционироваться сразу  в списке номенклатуры по первым введенным символам, и при этом чтобы не было возможности ввести неверные символы,
Продавцы помнят наизусть артикулы товаров, вводят в подборе их, но если случайно нажали несколько раз подряд не ту цифру 7-ка не дает ввести неверный артикул при поиске, ввод останавливается на последнем правильном символе.
1 IUnknown777
 
06.02.14
20:50
при вводе строки в поле ввода можно позиционироваться в динамическом списке, но при этом пропадает фокус с поля ввода, содержимое становится выделенным.
сбросить выделение никак не получается

ВыделенныйТекст не работает
УстановитьГраницыВыделения не работает
2 Wobland
 
06.02.14
20:52
а ты понимаешь, что ДС не показывает тебе _все_ данные?
3 IUnknown777
 
06.02.14
20:54
(2)и что?
4 Мимохожий Однако
 
06.02.14
20:56
Пусть учатся набирать правильно и вслепую...Ctrl-F позволяет корректировать строку поиска перед нажатием. Потерпи, привыкнут.
5 IUnknown777
 
06.02.14
20:56
я выбираю первые 1 из данных в ДС
выполняется достаточно быстро
проблема с полем ввода
6 IUnknown777
 
06.02.14
20:57
(4)Ctrl+F это дебильный поиск
7 Мимохожий Однако
 
06.02.14
20:57
(6)добавь ИМХО
8 H A D G E H O G s
 
06.02.14
20:58
(6) Такая же фигня есть в Толстом клиенте.
Оптимизация.
9 Art igloo
 
06.02.14
20:58
(6) Дебильно - это мыслить категориями жигулей, сев за мерседес. Ctrl+F гениальный поиск.
10 Мимохожий Однако
 
06.02.14
20:58
Пожалуйся в ООН
11 H A D G E H O G s
 
06.02.14
20:59
Поиск выполняется запросом в ПриОкончанииВвода, а не в ПриНажатииКлавиши
12 IUnknown777
 
06.02.14
20:59
(9)что в нем гениального?
мне нужен не отбор
мне нужен поиск по первым символам по мере ввода текста
13 H A D G E H O G s
 
06.02.14
21:00
Искать в найденном немного раздражало мою психику, но потом я с ней помирился.
14 IUnknown777
 
06.02.14
21:00
(11)автоподбор есть
15 H A D G E H O G s
 
06.02.14
21:00
(14) че это?
16 IUnknown777
 
06.02.14
21:01
(9)при 100 000 элементов он постоянно говорит что найдено больше 50 эжлементов уточните поиск пока не введешь полный артикул
"а в 7-ке все работает"
17 IUnknown777
 
06.02.14
21:01
(15)событие
18 Мимохожий Однако
 
06.02.14
21:03
Чтобы зря не трясти базу семерочный подход к поиску убрали
19 IUnknown777
 
06.02.14
21:03
у меня так,
пользователь нажимает стрл+1
активировалось поле ввода
вводит символ
срабатывает событие автоподбор
я нахожу первую ссылку
позиционируюсь в списке
все делается быстро
осталась одна проблема
вернуться на поле ввода без выделения всей строки
об этом сабж
20 H A D G E H O G s
 
06.02.14
21:03
У автора всегда есть возможность написать письмо в 1С
21 Art igloo
 
06.02.14
21:03
(16) У меня при 120 000 не говорит. Артикул - текстовое поле, можешь хоть один симпол ввести, и ничего уточнять не надо.
22 Мимохожий Однако
 
06.02.14
21:04
База файловая? На веб-клиенте попробуй
23 IUnknown777
 
06.02.14
21:05
(21)по наименованию они ищут, наименования отличаются последними символами, этот поиск не подходит
24 IUnknown777
 
06.02.14
21:05
(22) клиент-серверная
25 IUnknown777
 
06.02.14
21:07
(19)вернее так
если не нашелся элемент обрезается строка Поиска на один символ и опять ищется и если нашелся позиционируюсь
и вот тут происходит выделение всей строки
26 Art igloo
 
06.02.14
21:07
(19) А если по нормальному?

Встал в колонку артикул
Набрал артикул
Ввод
Все...профит
27 Art igloo
 
06.02.14
21:10
(23) И что? Какая-то разница по артикулу или наименованию?
После ввода в ДС получишь все наименования, которые содержат то, что введено до нажатия ввода.
28 H A D G E H O G s
 
06.02.14
21:10
Это вы забавные вещи делаете, ребята.

Все, новая платформа, Тонкий клиент.
Теперь, товарищи пользователи, ищем так. (ctrl+f)
29 Art igloo
 
06.02.14
21:11
(28) Нет, надо семерошной логикой задр.. базу досмерти, чтобы потом кричать 1с тормозит, уф гомно.
30 zavrik
 
06.02.14
21:12
(29) Внешняя компонента. База жива. Пользователи довольны.
31 IUnknown777
 
06.02.14
21:14
(28)"задр.. базу досмерти" поиском это конечно сильно.
32 GANR
 
06.02.14
21:14
(0) Мало ли чего они там хотят? Всякие хотелки, если они ведут к появлению неверных данных в базах, надо отбивать напрочь.
33 IUnknown777
 
06.02.14
21:14
(27)нет разницы, не подходит
34 IUnknown777
 
06.02.14
21:15
(32)какие неверные данные могут появиться из-за поиска по первым символам а не с ипользованием отбора или полнотекстового поиска?
35 IUnknown777
 
06.02.14
21:16
я не могу говорить пользователям, что если сделать поиск по первым символам, то база умрет.
это все левые отмазки
36 IUnknown777
 
06.02.14
21:17
(30)какая внешняя компонента?
37 IUnknown777
 
06.02.14
21:18
(28)это означает, что упадет скорость работы продавцов в результате внедрения новой программы
38 EvgeniuXP
 
06.02.14
21:18
оставайтесь на 7.7 :)
39 Art igloo
 
06.02.14
21:20
(34) Идеология 8 - нет больше поиска, есть только отбор. Во всех формах во всех алгоритмах будешь переделывать как было в 7.7 при каждом чихе пользователей "а вот в 7.7. было..." ?
40 IUnknown777
 
06.02.14
21:21
(39)нет только помощник продаж
41 IUnknown777
 
06.02.14
21:41
ну кто-то же сделал нормальный поиск, поделитесь, плиз)
42 Kalambur
 
06.02.14
21:52
(41) у меня свой запрос в общем модуле
43 IUnknown777
 
06.02.14
21:55
как реализован поиск на форме?
44 IUnknown777
 
06.02.14
21:56
(43)->(42)
45 Kalambur
 
06.02.14
21:59
Список значений
46 IUnknown777
 
06.02.14
22:02
(45)а подробнее можно?)
47 IUnknown777
 
06.02.14
22:52
(30)можете выложить компоненту для быстрого поиска куда-нить?
48 IUnknown777
 
06.02.14
23:02
(30)компонента называется ExtEventsFrm?
49 IamAlexy
 
06.02.14
23:05
свою окошку с событием при изменении и установкой отбора на вхождение уже предлагали сделать ?

делов то на 2 минуты..

благо функции отбора по динспискам в типовых есть давно - бери ипользуйся..
50 IamAlexy
 
06.02.14
23:14
а вообще, автору надо подождать месяцок и насладиться идеальным поиском: http://v8.1c.ru/o7/201401ls/index.htm
51 IUnknown777
 
06.02.14
23:19
(49) это давно пройденный этап
(5) на картинке красиво, но мне пока страшно ставить 8.3
52 IUnknown777
 
06.02.14
23:20
(51)->(50)
53 IamAlexy
 
06.02.14
23:23
(51)  ну ради поиска  то - почему бы не поставить..

тем более что это будет только в 8.3.5 а значит там в довесок будет тонна всякого счастья и прочих забав..
54 Eugeneer
 
06.02.14
23:26
(50) у меня стырили. Я это сделал полгода назад а то и больше запросами 1С и обработчиками.
как инновационный механизм.
Полностью все что у меня.
55 IamAlexy
 
06.02.14
23:29
(54) я не сомневался ни секунды..

конечно у тебя..
56 zladenuw
 
06.02.14
23:30
(55) та да :)
57 Eugeneer
 
06.02.14
23:31
(55) конечно у меня.)
58 lanc2233
 
06.02.14
23:58
(50) это будет только для такси или для УФ тоже?
59 orefkov
 
07.02.14
00:51
(50)
да, видать не зря в 1С демку снегопата скачивали, оценили удобство фильтрующего поиска...
60 Eugeneer
 
07.02.14
00:53
(59) Я думаю (50) не взлетит.
Одно дело в конфигураторе искать.

Другое дело когда будет справочник в 100 тысяч элементов и этот фильтрующий поиск просто будем замирать на пять минут.
61 Eugeneer
 
07.02.14
00:55
И вообще в (50 ничего особого))
Любые слоги любых полей это всего лишь комбинация из запроса с ПОДОБНО.
Далее массив, этот массив в отбор.

Для того чтобы в момент набора фильтровалось есть соответствующий обработчик.
62 orefkov
 
07.02.14
02:05
(60)
Не, я про то, что вообще саму идею так искать в списках (по вхождению частей слов) - они невозбранно подсмотрели в снегопатовских скриптах. Хотя такой поиск еще в семерочном телепате применялся, лет так с восемь назад...
63 Eugeneer
 
07.02.14
02:10
(62) этот поиск ничего особого из себя не представляет.
Я конечно не знаю что там в снегопаде и так далее.
Ведь тут описана предметная задача поиска среди данных, а не метаданных.


Точно в (50) любой школьник должен знать.
Что особого то?

Набрал человек несколько слогов через пробел в строке.
Эту строку разбираем на отдельные слоги в массиве.

Делаем запрос с ПОДОБНО для каждого слова по куче полей.
Все внутренние соединения по всем совпадениям результатов слогов ссылки в массив. Отбор по массиву..

Тьфу... а не задача. Я уж не знаю куда проще.
И вроде то и сообразить легко.
64 Eugeneer
 
07.02.14
02:14
А сделал это первый я. Для предметной задачи.

http://infostart.ru/upload/iblock/11b/consol_saler_ut11_3.png

В том или позапрошлом году. Могу посмотреть точную дату. Обработке уже 3 года. У меня сразу стояла такая задача сделать в подборе.

Как раз по теме автора с подбором номенклатуры все реализовано. На управляемых формах.
65 rphosts
 
07.02.14
04:32
(0) не устраивает типовой - пиши свой, сделай например так: по окончании ввода текста пауза в 2 сек перед началом отбора. Естественно поле артикул для скорости должно быть индексировано.
66 rphosts
 
07.02.14
04:33
(64) я не знаю кто сделал это первый, но уж точно не ты и даже не я.
2 + 2 = 3.9999999999999999999999999999999...