• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

Запуск агента по выделенному документу в Xpage

  • Автор темы susinmn
  • Дата начала
S

susinmn

В xPage view есть первая check box колонка, +кнопка.
Подскажите, как запустить агент по каждому выделенному документу или передать в агент Unid*ы всех выделенных галочкой документов?
 
Z

Zeka

В xPage view есть первая check box колонка, +кнопка.
Подскажите, как запустить агент по каждому выделенному документу или передать в агент Unid*ы всех выделенных галочкой документов?

Выбираем столбик вьюва и идём в Properties->Display, там ставим галочку Check Box и тогда в кнопке:
Код:
var view=getComponent("view1");
var docIDs=view.getSelectedIds();
for(i=0; i < docIDs.length; i++){
var docId = docIDs[i];
var doc:NotesDocument = database.getDocumentByID(docId);

//Вызываем агент

}
 
Z

Zeka

Теперь возник более интересный вопрос, как в таком вьюве програмно проставить CheckBox'ы в нужных документах или сделать кнопочку "Выбрать все"?
 
S

susinmn

Пишу на кнопке в compute value:
Код:
var agent:NotesAgent = database.getAgent("WEB");
agent.run(); //запускаю для теста
var viewPanel=getComponent("viewPanel1");
var docIDArray=viewPanel.getSelectedIds();
for(i=0;
i < docIDArray.length; 
i++){
var docID = docIDArray[i];
//Вызываем агент
agent.run(docID);
}

Итого:
1. Открываю xPage жму кнопку. агент 1 раз отрабатывает.
2. Выделяю документы, жму - агент вообще не запускается (нужно страничку обновить, но тогда он все равно 1 раз стартует).
В может быть проблема?)
 
S

susinmn

susinmn
Кроме agent.run(docID); можно пользовать agent.runWithDocumentContext(Doc) очень удобно.

Спасибо.

Добавлено:
Где ты пишешь?

Писал в закладке Properties AllProperties->events->onclick. Сделал запись в закладке Events - заработало.
 
Мы в соцсетях:

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