S
serko
Не понимаю как эти агенты работают...
Написал агент для открытия БД.
Агент вызывает метод из библиотеки. Метод проверял - работает, а через агент - не хочет.
Агент запускаю на LS.
Агент просто ничего не делает. Вообще!
Эти его Properties... они просто выносят мне мозг :banghead:
Началось с того, что я просто захотел создать OutLine с кнопками для перехода на другие БД. Для Entry решил прописать код открытия БД, но там только на формулах можно. Решил макрос сделать и его вызывать формулой, продолжение следует....
(пусть не смущает, что агент вызывается на LS. Это тестовая кнопка. Потом на формулы переведу)
Написал агент для открытия БД.
Агент вызывает метод из библиотеки. Метод проверял - работает, а через агент - не хочет.
Агент запускаю на LS.
Агент просто ничего не делает. Вообще!
Эти его Properties... они просто выносят мне мозг :banghead:
Началось с того, что я просто захотел создать OutLine с кнопками для перехода на другие БД. Для Entry решил прописать код открытия БД, но там только на формулах можно. Решил макрос сделать и его вызывать формулой, продолжение следует....
(пусть не смущает, что агент вызывается на LS. Это тестовая кнопка. Потом на формулы переведу)
Код:
Sub Click(Source As Button)
Dim ws As New NotesUIWorkspace
Dim agent As NotesAgent
Set agent = ws.CurrentDatabase.Database.GetAgent("OpenDbDocs")
Call agent.Run
End Sub
Код:
%REM
Agent OpenDbDocs
Created Apr 30, 2015 by admin/Org/RU
Description: Comments for Agent
%END REM
Option Public
Option Declare
Use "Interface_Settings"
Sub Initialize
Call getSettingManager().openDatabase("docs")
End Sub
Код:
Public Sub openDatabase(ID As String)
Dim ws As New NotesUIWorkspace
Dim session As New NotesSession
Dim doc As NotesDocument
Dim view As String
Select Case ID
Case "staffmanager"
view = "Структура"
Case "settings"
view = "Настройки по категориям"
Case "registrator"
view = "Нумераторы"
Case "office"
view = "Все документы"
Case "docs"
view = "Все документы"
Case Else
MsgBox "Ошибка - openDatabase: неизвестный идентификатор базы данных"
Exit sub
End Select
If ID = "settings" Then
Call ws.Opendatabase(session.Getenvironmentstring("server"), "settings.nsf", view, "Current", False, False)
Else
Set doc = getSettingDoc(ID)
If doc Is Nothing Then
MsgBox "Ошибка - openDatabase: не найден документ в базе данных Конфигуратор"
Exit Sub
End If
Call ws.Opendatabase(session.Getenvironmentstring("server"), doc.Getitemvalue("Link")(0), view, "Current", False, False)
End If
End Sub