Форум продуктов IBM Lotus

Общие вопросы => Разработка приложений => Тема начата: G777 от 04 Май 2010, 16:25:12

Название: Проблемы с отображением результата поиска в Представлении
Отправлено: G777 от 04 Май 2010, 16:25:12
Здравствуйте!
Помогите, пожалуйста, разобраться с поиском в Представлении.
Бьюсь с этой проблемой уже несколько дней, ничего не получается.

Есть обычная форма где поле с Фамилиями ‘SurN’
Есть обычное Представление где эти формы отображаются с показом Фамилий
Запись вроде находит но не отображает

   Dim session As New NotesSession
   Dim db As NotesDatabase
   Dim view As NotesView
   Dim entry As NotesViewEntry
   Dim vc As NotesViewEntryCollection
   Dim parentV As NotesView
   Dim doc As NotesDocument
   Set db = session.CurrentDatabase
   Call db.UpdateFTIndex( True )
   
   Set view = db.GetView("tell")
   
   strCSAName="Иванов"
   strSearchKey = |FIELD SurN="| + strCSAName + |"|
   Call view.FTSearch( strSearchKey , 0 )
   
   
   Call view.Refresh
Название: Re: Проблемы с отображением результата поиска в Представлении
Отправлено: ViV от 06 Май 2010, 11:18:17
Добрый день!

Скриптом вы работаете с классом NotesView, т.е. с back end'ом. Результат содержится в памяти, он не отображается пользователю.
Класс NotesUIView (front end, тот вид, с которым работает пользователь) не позволяет производить по нему поиск.

Для решения проблемы вы можете:
- создать папку (Folder) с тем же дизайном, что и у вашего вида;
- получить коллекцию документов в результате поиска по NotesView (аналогично тому как вы делаете);
- используя метод PutAllInFolder, поместь документы из коллекции в папку;
- показать пользователю эту папку.
и перед каждым поиском нужно не забывать очищать папку.
Название: Re: Проблемы с отображением результата поиска в Представлении
Отправлено: G777 от 11 Май 2010, 15:40:56
ViV,

Спасибо за ответ!

Однако когда используешь стандартный поиск по полю, этот поиск выдаёт результат.
Неужели нельзя повторить это программно?
Название: Re: Проблемы с отображением результата поиска в Представлении
Отправлено: G777 от 21 Сентябрь 2010, 14:59:25

- показать пользователю эту папку.


а как показать эту папку и потом снова вернуться к основному представлению?
Название: Re: Проблемы с отображением результата поиска в Представлении
Отправлено: G777 от 22 Сентябрь 2010, 16:18:30
Я пытаюсь это сделать, все находиться и копируется в папку, но как открыть и показать эту папку пользователю

   Dim session As New NotesSession
Dim db As NotesDatabase
Dim view As NotesView
Dim vc As NotesViewEntryCollection
Set db = session.CurrentDatabase
Set view = db.GetView("pred")

Set collection = db.FTSearch( "петров", 20 )
Call collection.RemoveAllFromFolder( "folder_pred" )
Call collection.PutAllInFolder( "folder_pred" )
Название: Re: Проблемы с отображением результата поиска в Представлении
Отправлено: ViV от 23 Сентябрь 2010, 09:10:00
Можно папку внедрить на страницу и показать ее:
notesUIWorkspace.OpenPage( pagename$ )
Название: Re: Проблемы с отображением результата поиска в Представлении
Отправлено: G777 от 23 Сентябрь 2010, 13:44:15
Viv, спасибо Вам за ответ!

Пробовал со страницей, но не получается, не представляю как это сделать.
Я добавил ещё команды, папка открывается отдельно в новом окне но не активна (при False и True OpenView третьего параметра).

Call collection.RemoveAllFromFolder( "folder_pred" )
Call collection.PutAllInFolder("folder_pred")
Call uidb.OpenView("folder_pred", s, False)

Как бы сделать так чтобы открывалась эта папка как положено перед пользователем,
чтобы не нужно было переключаться вручную с одной папки на другую?
Как переходить с одной папки на другую программно?