|
Поиск по таблице значений в 1С 8.2
| ☑ |
0
alexsandrinia
11.09.17
✎
10:40
|
Есть таблица значений, необходимо сделать поиск по колонке по ключевому слову, которое содержит только значение. Строк более 20000. Как можно реализовать?
|
|
1
Рэйв
11.09.17
✎
10:41
|
через запрос.
|
|
2
alexsandrinia
11.09.17
✎
10:42
|
(1) поместить в виртуальную таблицу и там делать ПОДОБНО ?
|
|
3
1dvd
11.09.17
✎
10:42
|
>>...по ключевому слову, которое содержит только значение...
Можно на русский перевести?
|
|
4
Господин ПЖ
11.09.17
✎
10:42
|
(2) да
|
|
5
Рэйв
11.09.17
✎
10:42
|
(2)Да. Если я правильно стелепатировал, что нужен поиск по вхождению
|
|
6
alexsandrinia
11.09.17
✎
10:45
|
вот например есть таблица значений
Стакан пластиковый
Стакан 0.2
Ложка
Станок
Стекл. стакан
Мне нужно найти строки со значением "стак"
|
|
7
VladZ
11.09.17
✎
10:46
|
(6) через запрос, использую "подобно"
|
|
8
karabas11
11.09.17
✎
10:46
|
Если задача разовая, то чем перебор строк не угодил, если с запросом сложности есть?
|
|
9
alexsandrinia
11.09.17
✎
10:48
|
(8) задача не разовая, строк около 20000
(7) спс, сейчас попробую
|
|
10
1dvd
11.09.17
✎
10:48
|
(6) это называется вхождение строки
|
|
11
elCust
11.09.17
✎
10:52
|
(9) >> спс, сейчас попробую
Не забудь добавить:
ИНДЕКСИРОВАТЬ ПО
|
|
12
elCust
11.09.17
✎
10:53
|
(2) >> поместить в виртуальную таблицу и там делать ПОДОБНО
Не в виртуальная, а во временную. Это совсем разные термины.
|
|
13
alexsandrinia
11.09.17
✎
10:54
|
(12) спс
|
|
14
МихаилМ
11.09.17
✎
10:58
|
в скд есть оператор like.
либо xslt. использовать для таких задач субд - моветон.
|
|
15
alexsandrinia
11.09.17
✎
11:04
|
(14) где об этом пишут?
|
|
16
H A D G E H O G s
11.09.17
✎
11:23
|
(15) Нигде об этом не пишут.
Программист должен собрать остатки своего разума и понять это сам.
|
|
17
H A D G E H O G s
11.09.17
✎
11:26
|
Подобно "%..%"
Для Каждого СтрокаТаблицы Из Таблица Цикл
Если Найти(СтрокаТаблицы.Данные,ЧтоИщем)<>0 Тогда
МассивНайденныхСтрок.Добавить(СтрокаТаблицы );
КонецЕсли;
КонецЦикла;
Подобно "..%"
ДлинаСтроки=СтрДлина(ЧтоИщем);
Для Каждого СтрокаТаблицы Из Таблица Цикл
Если Лев(СтрокаТаблицы.Данные,ДлинаСтроки)=ЧтоИщем Тогда
МассивНайденныхСтрок.Добавить(СтрокаТаблицы );
КонецЕсли;
КонецЦикла;
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший