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

Тема в разделе "Lotus - Программирование", создана пользователем yerke, 22 дек 2009.

  1. yerke

    yerke Well-Known Member

    Регистрация:
    28 авг 2007
    Сообщения:
    392
    Симпатии:
    0
    привет всем

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

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

    не все агенты видны
     
  2. yerke

    yerke Well-Known Member

    Регистрация:
    28 авг 2007
    Сообщения:
    392
    Симпатии:
    0
    никто не знает?
     
  3. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    можно по каждой базе пройтись и выудить ) но это весьма напряжно
    зы: название темы поменяй, чтобы расширенней было, может люди просто не смотрят
     
  4. Klido

    Klido Гость

    собственно, вот проблемовопрос. Как узнать - Tell Amgr Schedule и если вчитаться, то Shows the schedule for all agents scheduled to run for the current day, т.е. ночные агенты не покажет - покажет после 00 часов :)
     
  5. Nikotin

    Nikotin Гость

    Вот нашел в одной базе, этот создает документ расписанием по выбранной базе, зацикли это по всем базам сервера и все =)
    Поля в форме "Shedule Creation". dbname-текст, agamount - текст, stable - ричтекст
    Код (Text):
    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
     
  6. yerke

    yerke Well-Known Member

    Регистрация:
    28 авг 2007
    Сообщения:
    392
    Симпатии:
    0
    эт понтно

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


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

Поделиться этой страницей