• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

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

  • Автор темы phantom76
  • Дата начала
P

phantom76

в клиенте есть форма для поиска документов на скрипте:

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

phantom76

Вот нашел, буду разбирать: - поиск интересовал по аналогии как

шаблон БД взял

еще от IBM

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

phantom76

появился вопрос:
каким образом под 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

Код:
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?
 
P

phantom76

А подскажите, если FIELD Subject не Subject а $17 - почему не работает, может в этом случае указывать не columnName?

Указывать нужно поле из документа и не из вьюхи, поиск производится полнотекстовый по всем полям (summary) документов отобранных через представление, а потом это может быть даже формула
 
M

Mitya

Указывать нужно поле из документа и не из вьюхи, поиск производится полнотекстовый по всем полям (summary) документов отобранных через представление, а потом это может быть даже формула

да, спасибо большое!!!
 
P

phantom76

коллеги, где у меня ошибка?

- успешно получаю 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 - где до этого не получилось...
 
P

phantom76

походу заработало, но так и не понял в чем был косяк ;)
сделал ребилд, перепрописал пару скриптов, работает стабильно!
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!