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