Имя: Пароль:
1C
1С v8
Поиск строки запросом
0 lkm000
 
07.09.22
14:59
Добрый день, подскажите можно ли запросом в 1с через оператор подобно вывести наименование:
Например при фильтре по  слову "АБС" мы должны получить позицию "Датчик АБС", но не должны получить позицию "Топливный абсорбер". То есть нужно фильтровать именно по наличию слова, а не части слова.
Через оператор Подобно %АБС% выводит то и другое. Или например слово может состоять только из символов латиницы и кириллицы, в наименовании номенклатуры оно может быть в скобках, кавычках, или других символах (например, по фильтру "колодки" мы должны получить и "тормозные колодки" и "тормозные (колодки)", и "тормозные-колодки". Или только пост обработкой запроса?
1 Kassern
 
07.09.22
15:04
(0) Подобно "% АБС%"
2 mikecool
 
07.09.22
15:05
(1) и ты снова попал в абсорбер )
3 Kassern
 
07.09.22
15:06
(2) ой "% АБС" =)
4 mikecool
 
07.09.22
15:06
скорее уж % АБС %
5 Momus
 
07.09.22
15:07
(4) теперь пустой результат)
6 Ryzeman
 
07.09.22
15:07
(0) Нет. Но ты можешь извращнуться выкинув результат в ВТ и сделав уже дополнительный отбор там.
(1) Сразу бы предложил делать поиск "= Датчик АБС"
(4) И "АБС" стоящее в начале или конце сразу идёт нафиг)
7 Kassern
 
07.09.22
15:07
Лучше создать сегмент АБС и туда включить всю необходимую номенклатуру. Далее уже работать с ним.
8 DGorgoN
 
07.09.22
15:08
(4) Тогда "Датчик АБС" не попадет.
(0) По наличию слова % АБС% или %АБС % или % АБС %
9 Ryzeman
 
07.09.22
15:08
Вообще это работа для RegExp, отбирать такие извращения по хотелкам типа как у ТС
10 Kassern
 
07.09.22
15:08
Либо создать вид номенклатуры нужный, либо номенклатурные группы, по которым уже анализ производить.
11 Ryzeman
 
07.09.22
15:09
(8) у тебя самый забавный вариант - если вбить в поиск "Датчик АБС" то тоже не попадёт) Плюс скобки. Плюс ещё фиг пойми какие хотелки завтра захотят пользователи ТС)
12 DGorgoN
 
07.09.22
15:11
(11) Попадет ибо есть % АБС%
13 DGorgoN
 
07.09.22
15:13
Так, не так..
% АБС или АБС % или % АБС %
14 Ryzeman
 
07.09.22
15:13
(12) нет. В поиск вбиваешь Датчик АБС. Товар - Датчик АБС. Поиск ничего не находит
15 Ryzeman
 
07.09.22
15:13
ну или если угодно - товар АБС и поиск АБС
16 DGorgoN
 
07.09.22
15:13
% АБС попадает в выборку. Другой вопрос в том что потом ТС предъявят что так мол и так. Тут только справку писать про управляющие символы
17 DGorgoN
 
07.09.22
15:16
% – последовательность любых символов произвольной длины, поэтому Датчик АБС попадает в цель
18 Ryzeman
 
07.09.22
15:17
У тебя поиск "_АБС_". У тебя товар - "АБС". Это будет пустой результат. Так яснее?
19 Ryzeman
 
07.09.22
15:17
Это сработает, если в запросе к полям прибавлять в начале и в конце пробелы. Но это ещё больший изврат, чем е**я с ВТ
20 lkm000
 
07.09.22
15:24
(6) Не совсем понимаю для чего результат в ВТ помещать? Там же все равно придется искать через подобно ?
21 Kassern
 
07.09.22
15:29
(20) В общем, можете попробовать добавить пробелы в условия, чтобы получить нужный результат. А лучше воспользоваться типовыми группировками.
22 Ryzeman
 
07.09.22
15:31
(20) Потому то, что ты хочешь это будет извращение вида
ГДЕ
Результат.МойТекст ПОДОБНО "% АБС%
ИЛИ Результат.МойТекст ПОДОБНО "%АБВ %
ИЛИ Результат.МойТекст ПОДОБНО "% АБВ %
ИЛИ Результат.МойТекст ПОДОБНО "%(АБВ)%
ИЛИ Результат.МойТекст ПОДОБНО "%_АБВ_%
ИЛИ Результат.МойТекст ПОДОБНО "%♂АБВ♂%

и насколько фантазий хватит. Если ты это запихнёшь в основной запрос, ты изнасилуешь свою несчастную БД
23 lkm000
 
07.09.22
15:33
(22) Понял,спасибо буду пробовать
24 Ryzeman
 
07.09.22
15:36
(23) Грамотнее всего выбрать всё запросом, а потом через регулярные отобрать. Там вот реально можно что угодно забабахать, если осилишь)

https://ru.wikipedia.org/wiki/Регулярные_выражения

Пока внешней компонентой, в будущих релизах обещают в платформу добавить
25 ptiz
 
07.09.22
15:37
(0) А еще можно использовать ПолнотекстовыйПоиск. По слову "АБС" он найдет именно "Датчик АБС", но проигнорирует "абсорбер".
26 Ryzeman
 
07.09.22
15:39
(25) Ща тыкнул у себя во внешних обработках. По поиску "ABC" Нашлись как "АнализОборавчиваемостиABCXYZ" так и "ABC анализ продаж"
27 Ryzeman
 
07.09.22
15:39
там 100% ППД. недавно ломался)
28 DGorgoN
 
07.09.22
15:42
(19) так у него по части предложения как раз, там у него и есть пробел!
29 DGorgoN
 
07.09.22
15:44
(18) Про это не подумал. Тогда дополню

"% АБС" или "АБС %" или "% АБС %" или "АБС"
30 Ryzeman
 
07.09.22
15:45
(29) ага. Плюс миллиард хотелок какие дальше захотят) Скобки там, префиксы, подчёркивания, символы марса, венеры)
31 ptiz
 
07.09.22
15:55
(26) Обработка какая-то неправильная. У меня всё четко.
32 DGorgoN
 
07.09.22
15:58
(30) Задача в (0) выполнена. На всякий миллиард свистоперделок пусть уже ТС думает. Ест-но я всё понимаю )
33 6awkup_true
 
07.09.22
16:27
а если ВТ_1 поиск %АБС, ВТ_2 поиск АБС%, ВТ_3 поиск %АБС%, а потом все соединить внутренним соединением?
34 Святой Нос
 
07.09.22
16:58
Временные таблицы, боженьки....
1) Алфавит, из которого состоит искомое слово, ограничен.
2) ПОДОБНО вполне умеет в символ не из набора/диапазона
35 ptiz
 
07.09.22
17:37
(33), (34) Не поможет запрос.
Ему также нужен товар с названием: "Датчик АБС, который подходит на Логан".
И полнотекстовый поиск тут работает, если индекс актуален.
Вот тут хорошо описано: https://infostart.ru/1c/articles/1278933