Форум продуктов IBM Lotus

Общие вопросы => Администрирование => Тема начата: ViV от 11 Сентябрь 2008, 20:52:02

Название: Monitor Error in Database xxx.nsf: Entry not found in index
Отправлено: ViV от 11 Сентябрь 2008, 20:52:02
11/09/2008 | Сергей

Выдаются ошибки:
1. Monitor Error in Database xxx.nsf: Entry not found in index;
2. Error registering mail rule 10 for database yyy.nsf: Monitor has already been registered, no action taken.
Подскажите пожалуста как их решить.

Ответ :

Сергей, добрый день!

1. Подобная ошибка может возникать если в базе есть почтовые правила с некорректным условием. Например, задано, что письма должны перемещаться в папку, которой не существует.

Если все правила корректны, то скорее всего появилось "правило-призрак". Оно могло возникнуть если правило было удалено и перед удалением не было выключено. Правило осталось записанным в профайле и продолжает функционировать.
Чтобы удалить таких "призраков", нужно почистить записи о правилах в профайле. Для этого в базе данных нужно создать и запустить агента со следующим кодом:
Dim session As New NotesSession
Dim db As NotesDatabase
Set db = session.currentdatabase
Dim workspace As New NotesUIWorkspace

'This folder contains all the Mail Rules.
Dim folder As NotesView
Set folder = db.GetView("(Rules)")

'Find the calendar profile document in the current database. (GetProfileDocument will create the named profile document if it does not already exist.)
Dim calendarProfile As NotesDocument
Set calendarProfile = db.GetProfileDocument( "CalendarProfile" )

'Mail Rules are compiled and saved in special fields named $FilterFormula_xx
'Remove all of these fields from the calendar profile.
Forall item In calendarProfile.Items
If( Lcase$(Left$(item.Name,15)) = "$filterformula_" ) Then
Print "Cleanup " & item.Name
Call item.Remove
End If
End Forall

'Save changes to the calendar profile.
Call calendarProfile.Save( False, False )

'Disable all Rules.
Dim mailrule As NotesDocument
Set mailrule = folder.GetFirstDocument
While Not( mailrule Is Nothing )
Call mailrule.ReplaceItemValue( "Enable","0" )
Call mailrule.Save( True,False,True )

Set mailrule = folder.GetNextDocument( mailrule )
Wend

'Open the Rules folder
Call workspace.OpenDatabase( db.Server, db.FilePath, "Rules" )

'Message to the user.
Messagebox "Cleanup complete."

После этого нужно включить все правила.

2. Такая ошибка возникает если у нескольких правил один и тот же порядковый номер (поле OrderNum). Попробуйте поперемещать правила вверх/вниз, это должно скорректировать их порядковые номера.
 
-- Взято из раздела Вопросы и ответы (http://lotusnotes.ru/faq/) --
Название: Re: Monitor Error in Database xxx.nsf: Entry not found in index
Отправлено: U1946KU от 12 Сентябрь 2008, 12:32:47
Небольшое дополнение.
Правила могут работать некорректно, если у пользователя не настроено одно из представлений Календаря.
Название: Re: Monitor Error in Database xxx.nsf: Entry not found in index
Отправлено: ViV от 12 Сентябрь 2008, 12:40:35
Небольшое дополнение.
Правила могут работать некорректно, если у пользователя не настроено одно из представлений Календаря.

Можно подробнее, какое представление нужно настраивать?
Название: Re: Monitor Error in Database xxx.nsf: Entry not found in index
Отправлено: U1946KU от 30 Сентябрь 2008, 13:05:14
Новые извещения/Задачи. Если это представление не настроено, будет отображаться кнопка "Настроить".