|
Поиск в дереве значений по неполному наименованию | ☑ | ||
---|---|---|---|---|
0
Fuas4
18.02.14
✎
10:15
|
День добрый!
Ищу строку в дереве следующим образом: Структ = новый Структура; Структ.Вставить("Наименование",Текст); НайденныеСтроки = ТабличноеПолеТовары.Строки.НайтиСтроки(Структ,Истина); Все нахожу, если Текст = полное наименование товара. Если не полное, то не нахожу. Пример: Ололо555 - нахожу, Ололо - не нахожу. Как побороть? |
|||
1
Borteg
18.02.14
✎
10:18
|
%
|
|||
2
Fuas4
18.02.14
✎
10:18
|
(1) Пробовал, не взлетело. так писал:
Структ.Вставить("Наименование","%"+Текст+"%"); |
|||
3
Fuas4
18.02.14
✎
10:25
|
Неужели рекурсивным перебором? "Годнее" способа нет?
|
|||
4
Fuas4
18.02.14
✎
12:08
|
на всякий случай up
|
|||
5
Wobland
18.02.14
✎
12:08
|
да иди уже перебирай ;)
|
|||
6
1Сергей
18.02.14
✎
12:09
|
Запросом
|
|||
7
Wobland
18.02.14
✎
12:11
|
(6) к дереву?
|
|||
8
Fuas4
18.02.14
✎
12:14
|
(5) Это слишком не по самурайски. Я хочу сидеть на берегу реки и видеть, как дерево само ищет строки
|
|||
9
Wobland
18.02.14
✎
12:16
|
(8) присоединяюсь! как называется это вещество? ;)
|
|||
10
Wobland
18.02.14
✎
12:17
|
это справочник умеет искать по вхождению. да и то не по всякому
|
|||
11
Fuas4
18.02.14
✎
12:20
|
ну и ладно, ушел пербирать
|
|||
12
1Сергей
18.02.14
✎
12:22
|
(11) главное не перебрать с этими чудесными таблетками, расширяющими сознание
|
|||
13
Fuas4
18.02.14
✎
13:19
|
НайтиСтроки() = 0,003 секунды, поиск рекурсией = 52 секунды. #ЗачемТакЖить
|
|||
14
Wobland
18.02.14
✎
13:25
|
(13) в рекурсии на равенство сравнивал?
|
|||
15
Fuas4
18.02.14
✎
13:31
|
(14) СтрЧислоВхождений(стр.Номенклатура.Наименование,Текст)
|
|||
16
Fuas4
18.02.14
✎
13:32
|
>0
|
|||
17
kosts
18.02.14
✎
13:32
|
(15) Ну ясно понятно. Дергается сервер каждый раз...
Вот и долго. |
|||
18
kosts
18.02.14
✎
13:33
|
Добавь колонку в дерево с наименованием, будет быстрее
|
|||
19
Fuas4
18.02.14
✎
13:33
|
(18) Именно по такой колонке и искал. По колонке со ссылкой искать не будет, надо чтоб типы совпадали
|
|||
20
Fuas4
18.02.14
✎
13:34
|
(17) Почему сервер? Доступность:
Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение |
|||
21
Wobland
18.02.14
✎
13:34
|
ты несколько искал через точку от значения в колонке
|
|||
22
Fuas4
18.02.14
✎
13:35
|
точно ж. Надо стр.Наименование
|
|||
23
Wobland
18.02.14
✎
13:37
|
ну и когда сделаешь без поиска подстроки, получишь результат близкий к НайтиСтроки, я думаю
|
|||
24
Fuas4
18.02.14
✎
13:38
|
0,2 секунды с Стр.Наименование. Без поиска подстроки - это как?
|
|||
25
Wobland
18.02.14
✎
13:38
|
(24) стр.Наименование=Нужное
|
|||
26
Wobland
18.02.14
✎
13:39
|
ещё можно поразмыслить над тем, что работает быстрее: запрос или СтрЧислоВхождений
|
|||
27
Fuas4
18.02.14
✎
13:39
|
А нужное = %текст%?
|
|||
28
Wobland
18.02.14
✎
13:40
|
(27) пытаюсь сказать, что правильный перебор близок по времени к НайтиСтроки
|
|||
29
Fuas4
18.02.14
✎
13:41
|
(28) Понял теперь :)
|
|||
30
Fuas4
18.02.14
✎
13:43
|
А как "нужное" из (25) получить не понял. Есть например у меня "ОЛОЛО", что мне в "Нужное" написать, чтобы Ололо555 тоже нашлось?
|
|||
31
Wobland
18.02.14
✎
13:44
|
(30) забей уже на (25). лучше замерь запрос в цикле с ПОДОБНО и СтрЧислоВхождений
|
|||
32
Fuas4
18.02.14
✎
13:46
|
(31) У меня как в (27) не взлетело. Щас попробую (31), че нет то :)
|
|||
33
Wobland
18.02.14
✎
13:48
|
(32) и не взлетит, пока ты не сумеешь рассказать платформе, что ты понимаешь под процентом: любую подстроку или именно символ процента. а ты не сумеешь, она тупа
|
|||
34
Fuas4
18.02.14
✎
13:48
|
так, стоп. А запрос то я к чему буду делать? К дереву?
|
|||
35
Wobland
18.02.14
✎
13:49
|
(34) что-то типа
Текст="выбрать 0 где &СтрокаПоиска подобно "%"+&ОчередноеНаименование+"%""; ЕстьКонтакт=НЕ Запрос.Выполнить().Пустой(); |
|||
36
Fuas4
18.02.14
✎
14:06
|
Че то я не понимаю в запросах. По твоему у меня не взлетает
|
|||
37
Wobland
18.02.14
✎
14:10
|
ну делай через СтрЧислоВхождений. сейчас-то уже не 50 секунд?
|
|||
38
Fuas4
18.02.14
✎
14:11
|
0,21. но интересно же :)
|
|||
39
Wobland
18.02.14
✎
14:12
|
(38) мне лениво отлаживать ;)
|
|||
40
romashov
18.02.14
✎
14:27
|
а если таблицу значений сделать заполнять ее при построении дерева колонки наименование индекс строки и сама строка дерева. Поиск к запросом параметр таблица пользуешь "Подобно" ка хочешь на выходе индексы нужных строк находишь их в таблице и обрабатываешь как хочешь.
|
|||
41
catena
18.02.14
✎
14:30
|
А Найти() не будет несколько быстрее? У меня получается чуть быстрее.
|
|||
42
romashov
18.02.14
✎
14:31
|
на вкус ка говорится. в зависимости от потребности. а если поиск сложный по вхождению нескольких строк
|
|||
43
Fuas4
18.02.14
✎
14:33
|
че то я решил, что 0,2 секунды меня устраивает. Спасибо большое всем
|
|||
44
wade25
18.02.14
✎
14:35
|
Быстрее дерево в ТЗ выгрузить и запросом.
|
|||
45
Wobland
18.02.14
✎
15:56
|
(44) а что делать с тем набором полей, которые вернутся в качестве результата?
|
|||
46
wade25
19.02.14
✎
09:34
|
(46) Вернется единственное, что ищет. Сворачивание в ТЗ подразумевает до нижнего уровня каждой ветки. Если несколько найдет, то то же, что и в обычном случае.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |