Имя: Пароль:
1C
1С v8
Полнотекстовый поиск по регистру сведений
0 IUnknown777
 
24.06.13
16:09
1с 8.2 (8.2.18.96)
не работает поиск по регистру сведений
У регистра сведений и у всех реквизитов регистра стоит опция использовать полнотекстовый поиск, индекс обновлен

вот код

   СписокПолнотекстовогоПоиска = ПолнотекстовыйПоиск.СоздатьСписок(_СтрПоиска,30);
   ОтборОбластиПоиска = Новый Массив;
ОтборОбластиПоиска.Добавить(Метаданные.РегистрыСведений.Регистр1);
   
   СписокПолнотекстовогоПоиска.ОбластьПоиска = ОтборОбластиПоиска;
   СписокПолнотекстовогоПоиска.ПорогНечеткости = 0;
   Если ВКакуюСторонуИскать="ПерваяЧасть" Тогда
       СписокПолнотекстовогоПоиска.ПерваяЧасть();
   ИначеЕсли ВКакуюСторонуИскать="ПредыдущаяЧасть" Тогда
       СписокПолнотекстовогоПоиска.ПредыдущаяЧасть(Указатель);
   ИначеЕсли ВКакуюСторонуИскать="СледующаяЧасть" Тогда
       СписокПолнотекстовогоПоиска.СледующаяЧасть(Указатель);
   КонецЕсли;
   КоличествоНайденныхЭлементов = СписокПолнотекстовогоПоиска.ПолноеКоличество();


КоличествоНайденныхЭлементов всегда равно 0.
Подскажите, почему ничего не находит.
1 IUnknown777
 
24.06.13
16:12
up
2 Галахад
 
гуру
24.06.13
16:22
Насколько я понимаю, там в РС1 просто текст, а не ссылки?
3 IUnknown777
 
24.06.13
17:22
(2)ссылки
4 IUnknown777
 
24.06.13
17:23
(2)и текст
5 IUnknown777
 
24.06.13
17:23
не ищет не по тексту не по ссылкам
6 IUnknown777
 
24.06.13
17:34
ап
7 IUnknown777
 
24.06.13
17:51
подскажите, люди добрые, может кто сталкивался
8 exwill
 
24.06.13
17:51
а где ты ищешь?
9 IUnknown777
 
24.06.13
17:55
(8) ?
код в (0)
10 exwill
 
24.06.13
17:59
а что ищешь?
11 hhhh
 
24.06.13
18:01
(7) индексы все обновил полнотекстового поиска? А то может они вчерашние?
12 IUnknown777
 
24.06.13
18:05
(11)обновлено все несколько раз
13 kiruha
 
24.06.13
18:06
(0)
А где типа
   СписокПолнотекстовогоПоиска.СтрокаПоиска = "сеть";
   СписокПолнотекстовогоПоиска.РазмерПорции = 50;
14 IUnknown777
 
24.06.13
18:07
(13) СписокПолнотекстовогоПоиска = ПолнотекстовыйПоиск.СоздатьСписок(_СтрПоиска,30);
15 kiruha
 
24.06.13
18:07
И неплохо бы
СписокПолнотекстовогоПоиска.ПолучатьОписание = Истина;

А то как узнаешь в каком ревизите
16 IUnknown777
 
24.06.13
18:16
(15)ок, только это не помогло. Ничего не помогает, и в гугле нет ничего(
17 kiruha
 
24.06.13
18:20
Может быть масса причин
в отлачике глянь

ПолнотекстовыйПоиск.ДатаАктуальности()
ПолнотекстовыйПоиск.ИндексАктуален() ПолнотекстовыйПоиск.ПолучитьРежимПолнотекстовогоПоиска()

и

СписокПолнотекстовогоПоиска.СлишкомМногоРезультатов()
СписокПолнотекстовогоПоиска.НачальнаяПозиция()
СписокПолнотекстовогоПоиска.СтрокаПоиска
СписокПолнотекстовогоПоиска.ОбластьПоиска
18 IUnknown777
 
24.06.13
18:28
Выражение    Значение
-------------------------------------------------------
ПолнотекстовыйПоиск.ДатаАктуальности()    24.06.2013 17:25:31
ПолнотекстовыйПоиск.ИндексАктуален()    Истина
ПолнотекстовыйПоиск.ПолучитьРежимПолнотекстовогоПоиска()    Разрешить
СписокПолнотекстовогоПоиска.СлишкомМногоРезультатов()    Ложь
СписокПолнотекстовогоПоиска.ПолучатьОписание    Истина
СписокПолнотекстовогоПоиска.ПолноеКоличество()    0
СписокПолнотекстовогоПоиска.НачальнаяПозиция()    0
СписокПолнотекстовогоПоиска.СтрокаПоиска    "*A161*"
19 IUnknown777
 
24.06.13
18:34
область поиска - это массив с одним элементом, РС1
20 exwill
 
24.06.13
18:35
(18) теперь выполни ПерваяЧасть()
21 kiruha
 
24.06.13
18:35
Вроде все ОК
Скопируй значение реквизита из регистра и вставь в строку поиска
Может регистром ошибся
22 kiruha
 
24.06.13
18:36
регистром букв
23 kiruha
 
24.06.13
18:37
Ограничение. При использовании нечеткого и группового поиска (операторы "*" и "#") может быть найдено несколько слов. Общее число найденных слов не может превышать 300.
24 exwill
 
24.06.13
18:38
и строка поиска: "А161*"
25 exwill
 
24.06.13
18:40
+(24) И слово должно начинаться с "А161".
Кусочек слова искать не будет.
26 exwill
 
24.06.13
18:41
Индекс строится по словам.
27 IUnknown777
 
24.06.13
18:44
(20) приведенные значения в (18) получены после выполнения метода ПерваяЧасть()
(21),(25) пробовала эти варианты, не ищет.
28 exwill
 
24.06.13
18:46
Еще раз: что не ищет?
Что в регистре и что в строке поиска? Конкретно.
29 IUnknown777
 
24.06.13
18:57
(28) регистр РС1 содержит 3 измерения и один ресурс,
изм1="123456789" (строка)
изм2="DZ-A161" (справочник.Номенклатура)
изм3="AAA"      Строка

ПолнотекстовыйПоиск ничего не находит,
если я добавлю в ОбластьПоиска Метаданные.Справочники.Номенклатура
то можно найти элемент DZ-A161 по наименованию, или другим реквизитам справочника номенклатуры,
но мне нужно, чтобы еще искалось по измерениям регистра сведений.
30 IUnknown777
 
24.06.13
18:58
(29)+ копипастила все значения из РС1
31 exwill
 
24.06.13
19:11
(29) Увы. Все дело в том, что измерении хранится не строка "DZ-A161", а строка типа "f8c07c30-96ca-11e1-873c-002618dfaf58"
32 exwill
 
24.06.13
19:23
+(31) Убери область поиска и будет тебе счастье.
Ну или ставь в качестве области поиска "Справочник.Номенклатура".
33 exwill
 
24.06.13
19:26
Сейчас у себя попробовал. Действительно в РС не ищет.
34 kiruha
 
24.06.13
21:04
Интересно, если
изм2="DZ-A161" (справочник.Номенклатура)
каким боком он должен искать A161
A161 - это поиск в наименовании справочника

123456789 - пожалйста ищи
35 exwill
 
24.06.13
21:14
(34) В документах ищет. В РС - нет.
36 kiruha
 
24.06.13
21:21
(35)
В документах ищет по наименованию входящей номенклатуры ?
Или по строковому реквизиту
37 exwill
 
24.06.13
21:23
(36) По ссылочным реквизитам ищет, используя наименование.
Только что проверял.
38 kiruha
 
24.06.13
21:49
Ну так пусть ищет в справочнике - а оттуда берет записи из РС
соответствующие номенклатуре
Вообще не понимаю смысла в полноиндекс регистра
Там записей может быть миллион, это же не справочник
39 IUnknown777
 
25.06.13
10:56
(38)с помощью РС1 я ищу аналоги номенклатур по определенной классификации, поэтому мне нужно искать именно в РС1 по измерению типа строка.
40 IUnknown777
 
25.06.13
10:58
(37)у меня не ищет
41 IUnknown777
 
25.06.13
11:02
(25)в полнотекстовом поиске можно использовать символы * # () и др.
42 IUnknown777
 
25.06.13
11:06
(35)непонятно тогда, почему у РС и у всех его измерениях независимо от типа можно установить свойство использовать полнотекстовый поиск.
43 hhhh
 
25.06.13
11:08
может вторую звездочку убрать?

СписокПолнотекстовогоПоиска.СтрокаПоиска    "*A161"
44 kiruha
 
25.06.13
11:18
(39)
>> по измерению типа строка

Так ты же пишешь
изм2="DZ-A161" (справочник.Номенклатура)

Так номенклатура или строка?
45 IUnknown777
 
25.06.13
11:30
(43) зачем?
(44) в (29) я написала что изм1 и изм3 строка
46 IUnknown777
 
25.06.13
11:32
(44)проблема в том по справочнику номенклатура ищет, а по регистру сведений не ищет, причем тут то что в строке поиска, я для примера привела.
47 kiruha
 
25.06.13
11:54
Ну так ищи в номенклатуре. Найденные записи в запрос к РС
если есть - ОК - показываешь пользователю

Так чисто даже более правильно с точки зрения теории баз данных
48 kiruha
 
25.06.13
11:55
Или там ссылки нет ?
49 IUnknown777
 
25.06.13
11:59
(47)->(39)
50 kiruha
 
25.06.13
12:47
А аналоги - нет справочника ?

Лично я ошибок в коде не вижу - возможно баг платформы
Можно запросом.

Напоследок - в свойствах самого регистра (не измерений)
в "полнотекстовый поиск" случайно не стоит "Не использовать"
51 IUnknown777
 
25.06.13
13:01
(50)стоят все настройки, это первое что  я проверила
главное, ничего в СП не пишется про ограничения полнотекстового поиска,
придется в РС1 искать запросом.
52 kiruha
 
25.06.13
13:04
Вообще логично для аналогов завести свой справочник
А в рег сведений кидать ссылки
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой