Имя: Пароль:
1C
1С v8
В ПОДОБНО можно указать любой порядок следования?
0 RomaH
 
naïve
10.04.13
15:10
надо найти в наименовании контрагента
кострома медицина

для наглядности сократим поисковый запрос до:
кос мед

надо найти всех контрагентов с одержащих "кос" и "мед" в ОТДЕЛЬНЫХ словах в любом порядке следования

в определенном порядке получается:
%кос%[^а-я0-9]%мед%

а вот в произвольном?
1 RomaH
 
naïve
10.04.13
15:11
только перебором всех вариантов расстановки?
2 Maxus43
 
10.04.13
15:11
ПОДОБНО %кос%[^а-я0-9]%мед%
ИЛИ ПОДОБНО %мед%[^а-я0-9]%кос%
4 Maxus43
 
10.04.13
15:13
т.е.
ПОДОБНО %кос%
И ПОДОБНО %мед%
5 RomaH
 
naïve
10.04.13
15:15
(4) вариант не даст ОТДЕЛЬНЫЕ слова

медкосмос - он нам не нужен
6 Maxus43
 
10.04.13
15:17
(5) ну тогда (2), в подобно такого нет...
7 aka AMIGO
 
10.04.13
15:17
(5) тогда вместо "И" поставить "ИЛИ"
8 John83
 
10.04.13
15:19
(7) может быть контрагент только с "кос", тогда условие выполнится
9 RomaH
 
naïve
10.04.13
15:22
если (2) - то имеем N! условий

для 3 - 6
для 4 - 24
для 5 - 120
не многовато? может отказаться от этой идеи?
10 RomaH
 
naïve
10.04.13
15:23
или подождать 8.3 - там встроенный полнотекстовый
в нем вроде можно такое?
11 aka AMIGO
 
10.04.13
15:23
(8) да..
(9) или отобрать, что нужно, при выборке из запроса?
12 Maxus43
 
10.04.13
15:24
(10) дак полнотекстовый и в 8.2 есть, в чем разница? я думал запросом хочешь
13 RomaH
 
naïve
10.04.13
15:26
(11) не понял
14 RomaH
 
naïve
10.04.13
15:27
(11) - в смысле сделать выборку по ПОДОБНО %кос%
И ПОДОБНО %мед%
а потом уже обработать её програмно?
15 aka AMIGO
 
10.04.13
15:30
(14) я, возможно, увожу вопрос в сторону, ты уж извини..

да, примерно это и предложил я
16 aka AMIGO
 
10.04.13
15:32
запрос имеет строжайшие рамки, потому реализовать все идеи кодера практически невозможно.
как-бы ни пыталась 1с раздвинуть эти рамки в движке
17 К_Дач
 
10.04.13
15:49
ПОДОБНО %кос%
И ПОДОБНО %мед% И НЕ (ПОДОБНО %медкос% ИЛИ %космед%)

АгроКОСмелиоМЕД - надо подумать еще, как отсечь вот такое слово
18 AndyD
 
10.04.13
17:02
ПОДОБНО %кос%+символпробел+%мед% или ПОДОБНО %кос%+символпробел+%мед%
19 AndyD
 
10.04.13
17:02
ПОДОБНО %кос%+символпробел+%мед% или ПОДОБНО %мед%+символпробел+%кос%
20 RomaH
 
naïve
11.04.13
14:09
а если для полнотекстового как будет выглядеть строка?

*деп* И *кос* И *мед* *#сервис*

? для слов из 5 бук и больше разрешаем ошибку в одной букве
21 RomaH
 
naïve
11.04.13
14:19
и пхоже надо совмещать оба метода
до 3 слов - ПОДОБНО, потом - Полнотекстовый
уж больно полнотекстовый долго получается когда много контрагентов удовлетворяет
22 RomaH
 
naïve
11.04.13
14:50
хм, полнотекстовый выдал:

Превышено допустимое количество слов поиска. Уточните поисковое выражение

это почему?
на строку: "*ад* И *яр* И *обл*"
23 RomaH
 
naïve
11.04.13
14:54
АДМИНИСТРАЦИЯ ЯРОСЛАВСКОЙ ОБЛАСТИ - есть такой контр

"*ярос* И *#област* И *#админ*" такая строка
говорит - что нету
что не так?
24 RomaH
 
naïve
12.04.13
13:32
вопрос: как можно оптимизировать/ускорить выполнение запроса?

Свойство    Значение    Тип
Запрос    Запрос    Запрос
МенеджерВременныхТаблиц        Неопределено
Параметры    Структура    Структура
КатегорияВнереализации        Неопределено
Текст    "%%ад%[^а-я0-9]%обл%[^а-я0-9]%яр%[^а-я0-9]%ко%%"    Строка
Текст1    "%%ад%[^а-я0-9]%ко%[^а-я0-9]%яр%[^а-я0-9]%обл%%"    Строка
Текст10    "%%яр%[^а-я0-9]%ад%[^а-я0-9]%ко%[^а-я0-9]%обл%%"    Строка
Текст11    "%%яр%[^а-я0-9]%обл%[^а-я0-9]%ко%[^а-я0-9]%ад%%"    Строка
Текст12    "%%обл%[^а-я0-9]%яр%[^а-я0-9]%ад%[^а-я0-9]%ко%%"    Строка
Текст13    "%%обл%[^а-я0-9]%ко%[^а-я0-9]%ад%[^а-я0-9]%яр%%"    Строка
Текст14    "%%обл%[^а-я0-9]%ад%[^а-я0-9]%яр%[^а-я0-9]%ко%%"    Строка
Текст15    "%%обл%[^а-я0-9]%ко%[^а-я0-9]%яр%[^а-я0-9]%ад%%"    Строка
Текст16    "%%обл%[^а-я0-9]%ад%[^а-я0-9]%ко%[^а-я0-9]%яр%%"    Строка
Текст17    "%%обл%[^а-я0-9]%яр%[^а-я0-9]%ко%[^а-я0-9]%ад%%"    Строка
Текст18    "%%ко%[^а-я0-9]%яр%[^а-я0-9]%ад%[^а-я0-9]%обл%%"    Строка
Текст19    "%%ко%[^а-я0-9]%обл%[^а-я0-9]%ад%[^а-я0-9]%яр%%"    Строка
Текст2    "%%ад%[^а-я0-9]%яр%[^а-я0-9]%обл%[^а-я0-9]%ко%%"    Строка
Текст20    "%%ко%[^а-я0-9]%ад%[^а-я0-9]%яр%[^а-я0-9]%обл%%"    Строка
Текст21    "%%ко%[^а-я0-9]%обл%[^а-я0-9]%яр%[^а-я0-9]%ад%%"    Строка
Текст22    "%%ко%[^а-я0-9]%ад%[^а-я0-9]%обл%[^а-я0-9]%яр%%"    Строка
Текст23    "%%ко%[^а-я0-9]%яр%[^а-я0-9]%обл%[^а-я0-9]%ад%%"    Строка
Текст3    "%%ад%[^а-я0-9]%ко%[^а-я0-9]%обл%[^а-я0-9]%яр%%"    Строка
Текст4    "%%ад%[^а-я0-9]%яр%[^а-я0-9]%ко%[^а-я0-9]%обл%%"    Строка
Текст5    "%%ад%[^а-я0-9]%обл%[^а-я0-9]%ко%[^а-я0-9]%яр%%"    Строка
Текст6    "%%яр%[^а-я0-9]%обл%[^а-я0-9]%ад%[^а-я0-9]%ко%%"    Строка
Текст7    "%%яр%[^а-я0-9]%ко%[^а-я0-9]%ад%[^а-я0-9]%обл%%"    Строка
Текст8    "%%яр%[^а-я0-9]%ад%[^а-я0-9]%обл%[^а-я0-9]%ко%%"    Строка
Текст9    "%%яр%[^а-я0-9]%ко%[^а-я0-9]%обл%[^а-я0-9]%ад%%"    Строка
Текст    
"ВЫБРАТЬ ПЕРВЫЕ 51
   Контрагенты.Ссылка,
   Контрагенты.ПометкаУдаления,
   Контрагенты.Код,
   Контрагенты.Наименование
ИЗ
   Справочник.Контрагенты КАК Контрагенты
ГДЕ
   (ЛОЖЬ
   ИЛИ Контрагенты.Наименование ПОДОБНО &Текст
   ИЛИ Контрагенты.НаименованиеПолное ПОДОБНО &Текст
   ИЛИ Контрагенты.Наименование ПОДОБНО &Текст1
   ИЛИ Контрагенты.НаименованиеПолное ПОДОБНО &Текст1
   ИЛИ Контрагенты.Наименование ПОДОБНО &Текст2
   ИЛИ Контрагенты.НаименованиеПолное ПОДОБНО &Текст2
   ИЛИ Контрагенты.Наименование ПОДОБНО &Текст3
   ИЛИ Контрагенты.НаименованиеПолное ПОДОБНО &Текст3
   ИЛИ Контрагенты.Наименование ПОДОБНО &Текст4
   ИЛИ Контрагенты.НаименованиеПолное ПОДОБНО &Текст4
   ИЛИ Контрагенты.Наименование ПОДОБНО &Текст5
   ИЛИ Контрагенты.НаименованиеПолное ПОДОБНО &Текст5
   ИЛИ Контрагенты.Наименование ПОДОБНО &Текст6
   ИЛИ Контрагенты.НаименованиеПолное ПОДОБНО &Текст6
   ИЛИ Контрагенты.Наименование ПОДОБНО &Текст7
   ИЛИ Контрагенты.НаименованиеПолное ПОДОБНО &Текст7
   ИЛИ Контрагенты.Наименование ПОДОБНО &Текст8
   ИЛИ Контрагенты.НаименованиеПолное ПОДОБНО &Текст8
   ИЛИ Контрагенты.Наименование ПОДОБНО &Текст9
   ИЛИ Контрагенты.НаименованиеПолное ПОДОБНО &Текст9
   ИЛИ Контрагенты.Наименование ПОДОБНО &Текст10
   ИЛИ Контрагенты.НаименованиеПолное ПОДОБНО &Текст10
   ИЛИ Контрагенты.Наименование ПОДОБНО &Текст11
   ИЛИ Контрагенты.НаименованиеПолное ПОДОБНО &Текст11
   ИЛИ Контрагенты.Наименование ПОДОБНО &Текст12
   ИЛИ Контрагенты.НаименованиеПолное ПОДОБНО &Текст12
   ИЛИ Контрагенты.Наименование ПОДОБНО &Текст13
   ИЛИ Контрагенты.НаименованиеПолное ПОДОБНО &Текст13
   ИЛИ Контрагенты.Наименование ПОДОБНО &Текст14
   ИЛИ Контрагенты.НаименованиеПолное ПОДОБНО &Текст14
   ИЛИ Контрагенты.Наименование ПОДОБНО &Текст15
   ИЛИ Контрагенты.НаименованиеПолное ПОДОБНО &Текст15
   ИЛИ Контрагенты.Наименование ПОДОБНО &Текст16
   ИЛИ Контрагенты.НаименованиеПолное ПОДОБНО &Текст16
   ИЛИ Контрагенты.Наименование ПОДОБНО &Текст17
   ИЛИ Контрагенты.НаименованиеПолное ПОДОБНО &Текст17
   ИЛИ Контрагенты.Наименование ПОДОБНО &Текст18
   ИЛИ Контрагенты.НаименованиеПолное ПОДОБНО &Текст18
   ИЛИ Контрагенты.Наименование ПОДОБНО &Текст19
   ИЛИ Контрагенты.НаименованиеПолное ПОДОБНО &Текст19
   ИЛИ Контрагенты.Наименование ПОДОБНО &Текст20
   ИЛИ Контрагенты.НаименованиеПолное ПОДОБНО &Текст20
   ИЛИ Контрагенты.Наименование ПОДОБНО &Текст21
   ИЛИ Контрагенты.НаименованиеПолное ПОДОБНО &Текст21
   ИЛИ Контрагенты.Наименование ПОДОБНО &Текст22
   ИЛИ Контрагенты.НаименованиеПолное ПОДОБНО &Текст22
   ИЛИ Контрагенты.Наименование ПОДОБНО &Текст23
   ИЛИ Контрагенты.НаименованиеПолное ПОДОБНО &Текст23)
   И НЕ Контрагенты.НельзяВыбрать
   И ВЫБОР
           КОГДА &КатегорияВнереализации <> ЗНАЧЕНИЕ(Перечисление.КатегорииВнереализации.ПенсионерИнвалидЖД)
               ТОГДА НЕ Контрагенты.ТолькоДляПенсионеров
           ИНАЧЕ ИСТИНА
       КОНЕЦ"    Строка
25 RomaH
 
naïve
12.04.13
14:14
добавил предварительный отбор во временную таблицу
ускорилось с 1.7 сек до 0.1