Общие вопросы > Разработка приложений

@MailFilterStopProcessing

<< < (2/2)

ViV:
Может проще наоборот сделать:
добавить в папки и представления action, который работает на выделенных документах или на всех. В этом агенте проходить по письмам и применять в цикле все правила.
Перед нажатием на эту кнопку пользователь должен включить/выключить правила, которые он хочет использовать для старых документов.

nadya:
да, только пользователям так лень будет делать )))
у меня вопрос - сделала по другому - добавила на форму (RulesDlg) элемент checkbox - применить правило к старым письмам,
если пользователь установил галочку, то выполняем агента.
На форму вешаю следующий обработчик

Sub Queryclose(Source As Notesuidocument, Continue As Variant)
   
   Msgbox "in!"
   Msgbox source.FieldGetText("ApplyRuleToAll")
   If (source.FieldGetText("ApplyRuleToAll") <> "") Then
      Dim session As New NotesSession
      Dim db As NotesDatabase
      Dim agent As NotesAgent
      
      Set db = session.CurrentDatabase
      Set agent = db.GetAgent("SortAllMailRules")
      Call agent.Run()
   End If   
   
End Sub

вылетает с ошибкой, что notesuidocument is no longer valid

без проверки, что checkbox установлен, агент запускает и отрабатывает нормально, но
нужно именно проверить что checkbox установлен и только тогда запустить агента! как это сделать? помогите пожалуйста :-\

ViV:
Попробуйте переместить ваш скрипт в процедуру ButtonOKClient(), которая находится в библиотеке скриптов Rules.

Навигация

[0] Главная страница сообщений

[*] Предыдущая страница

Перейти к полной версии