Форум программистов, компьютерный форум, киберфорум
HCL Notes: Программирование
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/91: Рейтинг темы: голосов - 91, средняя оценка - 4.80
StovoRohmotov
1

Запустить агент из другой базы

21.04.2011, 14:06. Показов 16615. Ответов 8
Метки нет (Все метки)

Всем добрый день.
Как, находясь в одной базе запустить(выполнить) агент из другой базы.

На данный момент сделано так: агент, библиотека, нужные формы и представления скопированы из исходной базы в текущую, опробован запуск-работает, но планируется запускать этот агент и с других баз тоже, (это Агент для создания отчетов), боюсь, что потом будет труднее остлеживать изменения.

Какой может быть принцип(алгоритм) для решения этой задачи?!
С помощью LS открыть базу (Set db) и выполнить запуск агента из db?
Lotus 7.2
Какие комманды для этого использовать?
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.04.2011, 14:06
Ответы с готовыми решениями:

Трабла, агент неправильно изменяет другой агент
Ситуация: есть у меня мега агент, который занимается настройкой сервера, проверяет что в системе...

Есть Ли Возможность Запустить Агент По Ярлыку?
Есть ли возможность запустить агент по ярлыку? Т.е. запуская клиент, открывается нужная база и...

Как Запустить Агент Под Веб
Сабж. Доп. вопрос, какая есть литература по подобной тематике?

агент по выгрузке базы
нужно в агенте каким-то образом прописать что б база выгружалась как структурированный текст, каким...

8
0 / 0 / 0
Регистрация: 15.05.2009
Сообщений: 1,454
21.04.2011, 14:21 2
Цитата Сообщение от SlavaRahmatov
С помощью LS открыть базу (Set db) и выполнить запуск агента из db?
Lotus 7.2
Какие команды для этого использовать?
примерно так:

Код
Dim ag as NotesAgent
Set ag = db.GetAgent("имя")
if not ag is Nothyng then
call ag.Run  или ag.RunonServer - если надо запускать на сервере
end if
0
0 / 0 / 0
Регистрация: 17.12.2008
Сообщений: 420
21.04.2011, 14:22 3
Дизайнерский хелп. Находим NotesAgent class и изучаем (особое внимание обращаем на методы Run и RunOnServer), смотрим примеры.


Код
Examples: RunOnServer method
Sub Initialize
Dim s As New NotesSession
Dim db As NotesDatabase
Dim agent As NotesAgent
Set db = s.CurrentDatabase <- тут указываете не текущую базу, а нужную вам
Set agent = db.GetAgent("Agent to be run LotusScript")
If agent.RunOnServer = 0 Then
Messagebox "Agent ran",, "Success"
Else
Messagebox "Agent did not run",, "Failure"
End If
End Sub
0
StovoRohmotov
21.04.2011, 14:55 4
Цитата Сообщение от alik86

Код
 Set db = s.CurrentDatabase <- тут указываете не текущую базу, а нужную вам
А как это сделать?

Ведь
Set db = s.CurrentDatabase использует текущую базу, и написав например
Set db = s.Mybase.nsf
получится глупость.

Если я правильно понял, то нужную базу можно ОТКРЫТЬ примерно так? (см. ниже)
Или как то иначе ?

Код
Sub Click(Source As Button)
Dim workspace As New NotesUIWorkspace
Call workspace.OpenDatabase _
( "Algiers", "new\plan", "All by Category", _
"Current", False, False )
End Sub
Как правильно присвоить db другую базу(не открывая в окне для работы) ?
0 / 0 / 0
Регистрация: 19.04.2009
Сообщений: 2,219
21.04.2011, 14:58 5
См. в справке
Set notesDatabase = notesSession.GetDatabase( server$, dbfile$ [, createonfail ] )
flag = notesDatabase.OpenByReplicaID( server$, replicaID$ )
0
0 / 0 / 0
Регистрация: 30.07.2010
Сообщений: 85
21.04.2011, 14:59 6
Цитата Сообщение от SlavaRahmatov
Как правильно присвоить db другую базу(не открывая в окне для работы) ?
Set notesDatabase = notesSession.GetDatabase( server$, dbfile$ [, createonfail ] )
0
StovoRohmotov
21.04.2011, 15:29 7
Цитата Сообщение от nvy
См. в справке
Set notesDatabase = notesSession.GetDatabase( server$, dbfile$ [, createonfail ] )
flag = notesDatabase.OpenByReplicaID( server$, replicaID$ )
А для чего нужно flag = notesDatabase.OpenByReplicaID( server$, replicaID$ ) ?

За 10 минут с Вашей сделал то что хотел.
Заработало, даже сам не ожидал что ТАК будет!
Большое спасибо.
0 / 0 / 0
Регистрация: 15.03.2009
Сообщений: 615
21.04.2011, 15:57 8
Цитата Сообщение от SlavaRahmatov
А для чего нужно flag = notesDatabase.OpenByReplicaID( server$, replicaID$ ) ?
Вам же написали:


Цитата Сообщение от nvy
См. в справке
У вас какие-то сложности с открытием хелпа дизайнера?
0
StovoRohmotov
21.04.2011, 22:45 9
Цитата Сообщение от turumbay
Вам же написали:У вас какие-то сложности с открытием хелпа дизайнера?
Нет, скорее с внимательностью
Просто так обрадовался (я раньше скриптами почти не пользовался- боялся), что аж...
А в хелпе действительно все очень ХОРОШО описано.
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.04.2011, 22:45

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Запустить от юзера агент-odbc должен быть на сервере
Все привет! Есть база на сервере, в базе есть форма документа с полями выбора условий для отчета....

После чистки XP от вирей не могу запустить мэйл ру агент
Не получается запустить mail.ru агент....((

Передача параметров в другой агент
Доброго времени суток. Недавно начал моделировать в anylogic. Есть задача: смоделировать &quot;жизнь&quot;...

Агент по расписанию (изменение в другой базе)
Есть агент, который запускается по расписанию. Он ищет просроченные доки и возвращает их авторам....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.