Свой поиск по базе с правами автора

  • Автор темы Автор темы seoman2
  • Дата начала Дата начала
В общем пока решения такой тривиальной задачи - как поиск с правами автора, не вижу ((

Ой, не так понял смысл @Command([ViewShowOnlySelected]) - но как ег связать с лотусскриптом своим, не вижу.

3. сделать формульный агент выбора документов "find" который берет формулу из нотес ини в агенте справа снизу в менюхе "Select documents in view"
SELECT @Environment("mySearch")
Можно чуть подробнее пример кода?
 
Последнее редактирование:
1583910010383.png


1. В SELECT должна попасть формула отбора документов для пользователя (та самая которую Вы хотели вставить в вид). Это делается через нотес.ини В первом скриптовом агенте кладете в нотес.ини в переменную mySearch значение формулы, затем вызываете второй агент, который по формуле, взятой помечает документы в виде

2. Чтобы агент помечал документы это надо указать в пункте 2

Для теста в агенте find просто пропишите формулу отбора и в кнопке вызовите агент, а потом функцию отобразить только выбранные
 
Агент find c SELECT @Environment("mySearch") должен запускаться на сервере, серверным агентом?
соответственно в нотес.ини в переменную mySearch - тоже на серваке?
 
Агент find c SELECT @Environment("mySearch") должен запускаться на сервере, серверным агентом?
соответственно в нотес.ини в переменную mySearch - тоже на серваке?
шёл 10-ый год на форуме...
ну вот где вы такой способ видели на сервере? Это чисто интерактивная ф-ция
 
Посмотрите как сделано в адресной книге, в виде группы, кнопка найти члена группы.

Как выяснилось в select можно передать только параметры.
Соответственно в нотес ини передаете в переменную параметры через разделитель "~"
пишете потом param:=@Explode(@Environment(...;"~");
SELECT @if(param[1]="";@true;формула с param[1]) & ...
 
Кстати, в агенте find - " в select можно передать только параметры " - не получается.
Код:
x:= @Explode(@Environment("mySearch");"~");
@Prompt([Ok];"тест";x[1]);
@All;
SELECT x[1]
не пашет
А к примеру
SELECT @Contains(header;"кондиционер") - работает
 
x:= @Explode(@Environment("mySearch");"~");
@Prompt([Ok];"тест";x[1]);
@All;
SELECT @if(x[1]="";@true;@Contains(myfield;x[1]))

То есть селект должен быть определен а параметры могут быть из ини
 
А мне myfield каждый раз другой нужен,
я в @Environment("mySearch") передаю и имя поля и параметр для поиска.
@Contains(myfield;x[1]) - у меня это всё в x[1]
 
А мне myfield каждый раз другой нужен,
я в @Environment("mySearch") передаю и имя поля и параметр для поиска.
@Contains(myfield;x[1]) - у меня это всё в x[1]
Видимо так не работает.
Поэтому, если поиск может быть по 1-10 полям, то формулу пишете сразу на 10 полей, а в х только параметры поиска
SELECT @if(x[1]="";@true;@Contains(myfield1;x[1])) & @if(x[2]="";@true;@Contains(myfield2;x[2])) & @if(x[3]="";@true;@Contains(myfield3;x[3])) & ...
 
Получилось протестить, чтобы работало?

SELECT @Contains(myfield1;x[1])

Протестил, не пашет ((
 
Последнее редактирование:
1584599902331.png





Кнопка поиск
Код:
@Command([RunAgent];"select");
@Command([RunAgent];"find")

Агент "select"

Код:
Sub Initialize
    Dim session As New NotesSession
    Dim db As NotesDatabase
    Set db = session.Currentdatabase
    Dim docDlg As NotesDocument
    Set docDlg = db.Createdocument()
    Dim workspace As New NotesUIWorkspace
    If Not workspace.Dialogbox("searchDlg", True, True, False, False, False, False, "Поиск", docDlg) Then Exit Sub
    Call session.Setenvironmentvar("mySearch", docDlg.Getitemvalue("query")(0))
End Sub

Агент "find"

Код:
x:=@Explode(@Environment("mySearch");"~");
SELECT @If(x[1]="";@True;@Contains(a;x[1]));

1584599583186.png



1584599648641.png



1584599714034.png



1584599785707.png
 
Мы в соцсетях:

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