Всем здрасьте.
Проблема следующая:
Есть база. На postopen висит вот такой код:
<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">код</div></div><div class="sp-body"><div class="sp-content">
Есть агент (Repeat), который запускается каждый день в 23:00 и если он отработал хорошо, но он пишет об этом в документ lasdLog. Кстати в логе сервера никакой критики насчет запуска агента нет... но так или иначе он почему то не модифицирует этот док lastLog.
Поэтому при открытии базы замутили проверку времени, когда он был последний раз модифицирован. Если более 24 часов назад, то идет принудительный запуск агента, после чего повторная проверка поля lastUpdate. В таком варианте агент норм запускается и изменяет документ, но даже при переопределении дока и поля с датой, вылазит сообщение, что все плохо. Потом быза открывается, я обновляю вью и там в доке вижу, что док все таки обновился. Что делаю не так?
Проблема следующая:
Есть база. На postopen висит вот такой код:
<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">код</div></div><div class="sp-body"><div class="sp-content">
Код:
Sub Postopen(Source As Notesuidatabase)
Set lastLog=source.Database.getDocumentByUNID("UNID дока")
Dim s As New NotesSession
Dim db As NotesDatabase
Dim agent As NotesAgent
Dim todayDate As NotesDateTime
Dim lastUDate As NotesDateTime
Dim shift5sec As NotesDateTime
Set db=s.CurrentDatabase
Set agent=db.GetAgent("Repeat")
Set todayDate = New NotesDateTime( Now )
Set lastUDate = New NotesDateTime( lastLog.lastUpdate(0))
If todayDate.TimeDifference( lastUDate ) > 86400 Then
Call agent.Run
Set shift5sec = New NotesDateTime(Now)
Do While shift5sec.TimeDifference( todayDate ) < 5
Set shift5sec = New NotesDateTime(Now)
Loop
Set lastLog=source.Database.getDocumentByUNID("UNID дока")
Set lastUDate = New NotesDateTime( lastLog.lastUpdate(0))
If todayDate.TimeDifference( lastUDate ) < 86400 Then
MsgBox "Всё хорошо."
Else
MsgBox "Всё плохо! Обратитесь к администратору системы."
End If
Else
MsgBox "Всё хорошо."
End If
End Sub
Есть агент (Repeat), который запускается каждый день в 23:00 и если он отработал хорошо, но он пишет об этом в документ lasdLog. Кстати в логе сервера никакой критики насчет запуска агента нет... но так или иначе он почему то не модифицирует этот док lastLog.
Поэтому при открытии базы замутили проверку времени, когда он был последний раз модифицирован. Если более 24 часов назад, то идет принудительный запуск агента, после чего повторная проверка поля lastUpdate. В таком варианте агент норм запускается и изменяет документ, но даже при переопределении дока и поля с датой, вылазит сообщение, что все плохо. Потом быза открывается, я обновляю вью и там в доке вижу, что док все таки обновился. Что делаю не так?