Как узнать полный список агентов по расписанию,не все агенты видны

yerke

Well-known member
28.08.2007
392
0
#1
привет всем

скажите добрые люди как узнать
все работающие агенты по расписанию во всех базах сервака

в админ клиенте в
server- status- shedules- agents

не все агенты видны
 

Akupaka

А че я?.. О.о
04.10.2007
3 360
1
#3
можно по каждой базе пройтись и выудить ) но это весьма напряжно
зы: название темы поменяй, чтобы расширенней было, может люди просто не смотрят
 
N

Nikotin

#5
Вот нашел в одной базе, этот создает документ расписанием по выбранной базе, зацикли это по всем базам сервера и все =)
Поля в форме "Shedule Creation". dbname-текст, agamount - текст, stable - ричтекст
Код:
Sub Click(Source As Button)
Dim session As New NotesSession
Dim cdb As NotesDatabase
Dim db As NotesDatabase
Dim ws As New NotesUIWorkspace
Dim doc As NotesDocument
Dim dbname As NotesItem
Dim agamount As NotesItem


address= ws.Prompt(13,"Диалог выбора БД","") ' PROMPT_CHOOSEDATABASE (13), return массив(2) строк
Set db= Session.GetDatabase(address(0), address(1), False) ' Назначение выбранной БД
Set cdb = session.CurrentDatabase 'Назначение текущей БД "Расписание Агентов"
Set doc = New NotesDocument( cdb )
doc.Form = "Shedule Creation"
doc.dbname = address(2)

'Объявление переменной по типу AgentList, по которому будет идти заполнение файла
Const N=75 'Максимальное количество элементов выводимого списка
Dim agl (1 To N) As agentslist
Dim agl2 (1 To N) As agentslist

'Номер первого шага заполнения файла и массива переменной даты
i%=2
Dim intdata (1 To N) As Integer
Dim intdata2 (1 To N) As Integer

agl(1).AgentName$="Имя агента"
agl(1).AgentLastRun="Время"
Forall a In db.Agents ' следует добавить проверку на наличие таких агентов впринципе
If a.trigger=TRIGGER_SCHEDULED And a.IsEnabled Then
agl(i%).AgentName$=" "+a.name 'добавление пробела вначале, чтобы текстовый редактор
'notepad разделял agentlastrun[i-1] и agentname[i]
agl(i%).AgentLastRun=Right$(Cstr(a.lastrun),8)
'У нас может получится время agentlastrun в двух форматах (размерность 8): XX:XX:XX и X:XX:XX_. 
'Для корректной обработки нужно второй формат нужно переделать в первый,
'добавив пробел в начале, в итоге получится: _X:XX:XX
If Mid$(agl(i%).agentlastrun,2,1)=":" Then
agl(i%).AgentLastRun=" "+agl(i%).AgentLastRun
End If
intdata(i%)=Cint(Left$(agl(i%).agentlastrun,2))*100+Cint(Mid$(agl(i%).agentlastrun,4,2)) ' Преобразование текстовой даты в числовой формат
Print "Добавление агента", agl(i%).AgentName$, "в список"
i%=i%+1
End If
End Forall
'Пузырьковая сортировка: сортируем по числовой (integer) дате, меняем местами элементы списка agl
'Итак, последний элемент списка имеет номер i-1, поэтому
Print "Сортировка списка агентов"
j%=i%-1
While j%>0
j%=j%-1
For k%=1 To i%-2
If intdata(k%)>intdata(k%+1) Then
temp%= intdata(k%+1)
intdata(k%+1)=intdata(k%)
intdata(k%)=temp%

temp1$=agl(k%+1).agentname$
temp2$=agl(k%+1).agentlastrun
agl(k%+1).agentname$=agl(k%).agentname$
agl(k%+1).AgentLastRun=agl(k%).AgentLastRun
agl(k%).agentname$=temp1$
agl(k%).agentlastrun=temp2$
End If
Next
Wend

Print "Построение таблицы расписания"
'Количество элементов списка= i%-1, 1-ая строчка: заглавие
Dim rti As New NotesRichTextItem(doc, "stable")
Call rti.AppendTable(i%-1,2)
Dim rtnav As NotesRichTextNavigator
Set rtnav = rti.CreateNavigator
Call rtnav.FindFirstElement(RTELEM_TYPE_TABLECELL)
For irow%=1 To i%-1 Step 1
For icolumn%=1 To 2 Step 1
Call rti.BeginInsert(rtnav)
If icolumn%=1 Then
Call rti.AppendText(agl(irow%).agentname$)
End If
If icolumn%=2 Then
Call rti.AppendText(agl(irow%).agentlastrun)
End If
'Call rti.AppendText("Row " & iRow% & ", _	 Column " & iColumn%)
Call rti.EndInsert
Call rtnav.FindNextElement(RTELEM_TYPE_TABLECELL)
Next
Next


Print "Сохранение"
doc.agamount=Cstr(i%-2)
Call doc.Save( False, False )
Call ws.ViewRefresh 'Optional: Обновление вьюшки со свежесозданным документом внутри

End Sub
 

yerke

Well-known member
28.08.2007
392
0
#6
If a.trigger=TRIGGER_SCHEDULED And a.IsEnabled Then
эт понтно

и еще не ко всем базам у вас же будет доступ
чтоб оттуда вытаскивать список агентов
разве что подписать данный код сервер айди


хотелось бы узнать средствами админ клиента