Форма Поиска Документов Через Web Xpages

phantom76

Lotus team
25.02.2005
360
4
#1
в клиенте есть форма для поиска документов на скрипте:

все просто заполняется форма и дальше через db.Search - результаты вывожу ввиде таблицы через форму для результата. Нет не у кого ссылки на достойный пример реализации поиска под Xpages с параметрами и например выходом во view c фильтром?
 

phantom76

Lotus team
25.02.2005
360
4
#2
Вот нашел, буду разбирать: - поиск интересовал по аналогии как здесь

шаблон БД взял здесь

еще пример от IBM

если будут другие примеры, пожалуйста поделитесь ;)
 

phantom76

Lotus team
25.02.2005
360
4
#3
появился вопрос:
каким образом под Xpages конвертируются дата\время в запрос?

с текстовыми данными все понятно:

поле на странице связываю с областью sessionScope.Subject_search,

во view в search размещаю:

Код:
var tmpArray = new Array("");
var cTerms = 0;
if(sessionScope.Subject_search != null & sessionScope.Subject_search != "") {
tmpArray[cTerms++] = "(FIELD Subject = \"" + sessionScope.Subject_search + "\")";
}
................................................................................
.............
qstring = tmpArray.join(" AND ").trim();
sessionScope.queryString = qstring; 
return qstring
с текстовыми полями все отлично работает, а как правильно конвертировать данные типа дата\время в запрос?
 
M

Mitya

#6
Код:
var tmpArray = new Array("");
var cTerms = 0;
if(sessionScope.Subject_search != null & sessionScope.Subject_search != "") {
tmpArray[cTerms++] = "(FIELD Subject = \"" + sessionScope.Subject_search + "\")";
}
................................................................................
.............
qstring = tmpArray.join(" AND ").trim();
sessionScope.queryString = qstring; 
return qstring
А подскажите, если FIELD Subject не Subject а $17 - почему не работает, может в этом случае указывать не columnName?
 

phantom76

Lotus team
25.02.2005
360
4
#7
А подскажите, если FIELD Subject не Subject а $17 - почему не работает, может в этом случае указывать не columnName?
Указывать нужно поле из документа и не из вьюхи, поиск производится полнотекстовый по всем полям (summary) документов отобранных через представление, а потом это может быть даже формула
 

phantom76

Lotus team
25.02.2005
360
4
#9
коллеги, где у меня ошибка?

- успешно получаю Ids выбранного документа из view через кнопку:

Код:
var viewPanel=getComponent("picklistView");
sessionScope.pickledIds = viewPanel.getSelectedIds();
sessionScope.selID = sessionScope.pickledIds[0];
далее по ids пытаюсь получить документ:

в вычисляемом поле и далее из него значение из поля (до поля не дохожу, падаю..):

Код:
var db1 = session.getDatabase(session.getServerName(),"app\\main.nsf")
id = sessionScope.selID
//var doc = db1.getDocumentByID(id)
//return "Выбранный ID= "+ sessionScope.selID
return db1.getFilePath()
как только раскоментирую строчку с doc , страница падает. Объект БД проверял получаю, ids тоже живой.

спрятал весь код по вычислению документа к кнопку выбора выделенных в представлении элементов:

var viewPanel=getComponent("picklistView");
sessionScope.put("pickledIds", viewPanel.getSelectedIds());
var db1 = session.getDatabase(session.getServerName(),"app\\main.nsf")
docid = sessionScope.pickledIds[0];
var d1 = db1.getDocumentByID(docid);
unid = d1.getUniversalID();
sessionScope.put("Unid2", unid);

в итоге в вычисляемом поле получил Unid документа:
return "UNID = " + sessionScope.Unid2

проделал все на версии сервера 8.5.2 , завтра проверю на 8.5.1 - где до этого не получилось...
 

phantom76

Lotus team
25.02.2005
360
4
#10
походу заработало, но так и не понял в чем был косяк ;)
сделал ребилд, перепрописал пару скриптов, работает стабильно!