Имя: Пароль:
1C
1С v8
Полнотекстовый поиск
0 julia_rostov
 
13.11.12
09:42
Всем привет, подскажите пожалуйста если не трудно. Изучаю 8-ку по книжке Радченко,Хрусталева. Проблема с полнотекстовым поиском. Перечитывала внимательно, переделывала раза 3.Но поиск не работает. Проблема вот в чем. Вот код
&НаКлиенте
Процедура Поиск(Команда)
Искать(0);
КонецПроцедуры

&НаКлиенте
Процедура ПредыдущаяПорция(Команда)
Искать(-1);    
КонецПроцедуры

&НаКлиенте
Процедура СледующаяПорция(Команда)
Искать(1);    
КонецПроцедуры



&НаКлиенте
Процедура Искать(Направление)
   Если ПустаяСтрока(ПоисковоеВыражение)  Тогда
       Предупреждение("Не задана строка поиска");
       Возврат;
   КонецЕсли;
КонецПроцедуры


&НаСервере
Процедура ИскатьСервер(Направление) Экспорт
   СписокПоиска=ПолнотекстовыйПоиск.СоздатьСписок();
   СписокПоиска.СтрокаПоиска=ПоисковоеВыражение;
   
   Если Направление=0 Тогда
       СписокПоиска.ПерваяЧасть();
   ИначеЕсли Направление=-1 Тогда
       СписокПоиска.ПредыдущаяЧасть(ТекущаяПозиция);
   ИначеЕсли Направление=1 Тогда
       СписокПоиска.СледующаяЧасть(ТекущаяПозиция);
   КонецЕсли;
   
   РезультатыПоиска.Очистить();
   ДЛя Каждого Результат Из СписокПоиска Цикл
       РезультатыПоиска.Добавить(Результат.Значение);
   КонецЦикла;
   РезультатыПоиска=СписокПоиска.ПолучитьОтображение(ВидОтображенияПолнотекстовогоПоиска.HTMLТекст);
   ТекущаяПозиция=СписокПоиска.НачальнаяПозиция();
   ПолноеКоличество=СписокПоиска.ПолноеКоличество();
   
   Если СписокПоиска.Количество() <>0 Тогда
       СообщениеОРезультате="Показаны" + Строка(ТекущаяПозиция+1)+""+Строка(ТекущаяПозиция+СписокПоиска.Количество())+"ИЗ"+Строка(ПолноеКоличество);
   
       Элементы.СледующаяПорция.Доступность=(ПолноеКоличество-ТекущаяПозиция)>СписокПоиска.Количество();
       Элементы.ПредыдущаяПорция.Доступность=(ТекущаяПозиция>0);
   Иначе
       СообщениеОРезультате="Не Найдено";
       Элементы.СледующаяПорция.Доступность= Ложь;
       Элементы.ПредыдующаяПорция.Доступность= Ложь;
   КонецЕсли;
   КонецПроцедуры

&НаКлиенте
Процедура РезультатПоискаПриНажатии(Элемент, ДанныеСобытия, СтандартнаяОбработка)
   ЭлементHTML=ДанныеСобытия.Event.ScrElement;
   Если (ЭлементHTML.id="FullTextSearchListItem")Тогда
       НомерВСписке=Число(ЭлементHTML.nameProp);
       ВыбраннаяСтрока=РезультатыПоиска[НомерВсписке].Значение;
       ОткрытьЗначение(ВыбраннаяСтрока);
       СтандарнаяОбработка=Ложь;
       КонецЕсли;
КонецПроцедуры
Программа запускается, ошибок не выдает, собственно результат поиска тоже не выдает.Вообщем вопросов куча. Может кто подскажет.
1 НЕА123
 
13.11.12
09:46
ОбновитьИндекс()
?
2 julia_rostov
 
13.11.12
09:48
Индекс обновляла.
3 julia_rostov
 
13.11.12
09:49
Файл=все функции=Управление полнотекстовым поиском= обновить индекс. Или есть другой способ???
4 НЕА123
 
13.11.12
10:06
Отладчик-то что говорит.
5 НЕА123
 
13.11.12
10:13
>Программа запускается
чудно.


&НаКлиенте
Процедура Искать(Направление)
   Если ПустаяСтрока(ПоисковоеВыражение)  Тогда
       Предупреждение("Не задана строка поиска");
       Возврат;
   КонецЕсли;
   ИскатьСервер(Направление);
КонецПроцедуры