|
Подскажите алгоритм поиска | ☑ | ||
---|---|---|---|---|
0
lanc2233
26.06.12
✎
14:06
|
Есть строка "АА ББ ВВ" (или массив строк "АА","ББ","ВВ")
Нужно найти все элементы справочника, в названии которого есть "АА","ББ" и "ВВ" именно в этом порядке. тоесть "1АА24ББ3ВВ" - подходит "1ББ24АА3ВВ" - не подходит Как можно реализовать такой фильтр? |
|||
1
mikecool
26.06.12
✎
14:07
|
like "%АА%ББ%ВВ%"
|
|||
2
Ненавижу 1С
гуру
26.06.12
✎
14:08
|
Склеить массив в виде "%"+Массив[0]+"%"+Массив[1]+"%"+Массив[2]+"%"
и передать параметром в условие запроса Наименование ПОДОБНО &ПараметрПоиска |
|||
3
andrewks
26.06.12
✎
14:09
|
или regexp
|
|||
4
aleks-id
26.06.12
✎
14:10
|
подобно в запросах тормозит не по детски
|
|||
5
andrewks
26.06.12
✎
14:11
|
3 Найти + 2 Сред
|
|||
6
_Atilla
26.06.12
✎
14:12
|
Почему бы не использовать поиск данных?
|
|||
7
mzelensky
26.06.12
✎
14:13
|
(0) если "подобно" не устраивает можно и циклом.
Берешь строку "1АА24ББ3ВВ", ищешь (циклом перебирая) первый элемент "АА", если нашел, то обрезаешь строчку и получаешь "24ББ3ВВ" далее ищешь "ББ", если нашел обрезаешь до "3ВВ" и т.д. Если до конца дошел, все ОК, если нет - то нет. |
|||
8
aleks-id
26.06.12
✎
14:13
|
ПолнотекстовыйПоиск рулит
|
|||
9
andrewks
26.06.12
✎
14:14
|
(8) хочешь сказать, будет быстрее запроса?
|
|||
10
aleks-id
26.06.12
✎
14:15
|
(9) будет оптимальнее нежели использование ПОДОБНО
|
|||
11
andrewks
26.06.12
✎
14:20
|
(10) не замерял, насколько "строкапоиска%" быстрее "строкапоиска1%строкапоиска2%строкапоиска3%" ?
|
|||
12
aleks-id
26.06.12
✎
14:21
|
(11) не. но примерно могу сказать что через подобно запрос начинает работать чуть ли не на порядок дольше
|
|||
13
lanc2233
26.06.12
✎
14:26
|
А можно подробней что такое полнотекстовый поиск?
|
|||
14
aleks-id
26.06.12
✎
14:38
|
(13) это тебе к ДенисЧ с таким вопросом. он у нас СП барыжит. я ему дорогу переходить в этом опасном бизнесе не буду и тебе не советую
|
|||
15
lanc2233
26.06.12
✎
14:47
|
Скажите еще, не в запросе, а в таком варианте
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(ИмяПоля); ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Содержит; ЭлементОтбора.Использование = Истина; ЭлементОтбора.ПравоеЗначение = "%АА%ББ%ВВ%"; ЭлементОтбора.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный; Нормально будет работать? |
|||
16
Агент Инфостарта
26.06.12
✎
14:51
|
(15) Вообще не будет работать.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |