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

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

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

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

Динамическое Получение Данных Для Repeat

  • Автор темы AndreKv
  • Дата начала
A

AndreKv

Коллеги, приветствую!

Хочу обратится за вашей помощью!
Есть следующая задача:
- имеются документы (формы) разных видов, например form1, form2, form3;
- в формах есть поля, например поле "status".

Задача: как сделать динамически выборку нужных форм с нужным статусом, чтобы потом эту выборку передать в элемент Repeat???!

В данном случае, вариант использовать Simple data binding (через view или document) - не годится. Нужно сделать как-то по другому, например через JavaScript.
Хелп лотуса дает пример вида "return database.getAllDocuments()". Это работает, но понятно, что возвращает все документы. А нужно сделать так, чтобы возвращались документы например вот в таком условии: "(Form="form1" & status=6) | (Form="form3" & status=8)".

Как сделать?! Куда смотреть, где читать!?! )
Благодарю!
 

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
BIT
0
Ну поиск еще никто не отменял.
Я же так понимаю в data можно скормить коллекцию
 
A

AndreKv

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

Кстати, для тех, кто столкнулся с подобной задачей но тоже не смог найти выхода - поделюсь решением, на котором я остановился:
Код:
var v:NotesView = database.getView("vForms");
var query = new java.util.Vector();
var status = 6;
query.addElement(status);
var dc:NotesDocumentCollection = v.getAllDocumentsByKey(query, true);
query.clear();
status = 8;
query.addElement(status);
dc.merge(v.getAllDocumentsByKey(query, true));
return dc;
примечания:
vForms - вид, который собирает все нужные формы, первая колонка по полю status (обязательно отсортированная, иначе ошибка);
query.addElement(status) - по очереди выбираем формы с нужным значением status, как я понял, сделать логическое ИЛИ нельзя... ;((
Данное решение было взято отсюда:

NickProstoNick,
буду благодарен, если сможешь подсказать более элегантное решение! ;)
Ну или ссылку, где можно подсмотреть подобные решения! )
 

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
BIT
0
Я правда не понял как и что должно выглядеть?
Нарисовать можешь?
 

Мыш

Lotus Team
12.02.2008
1 220
29
BIT
68
AndreKv, по-моему, все правильно - коллекция и скармливается. А во что еще можно собрать разнородные документы? Хммм, ну в фолдер, конечно (не знаю, поддерживается дли это в X...) Или db.Search...
 
A

AndreKv

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

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