Форум продуктов IBM Lotus
Общие вопросы => Разработка приложений => Тема начата: nadya от 24 Август 2009, 08:26:10
-
Добрый день всем!!)
кто знает, какая команда аналогична @MailFilterStopProcessing на лотус скрипте?? :)
-
Здравствуйте,
боюсь проблематично будет найти такую же недокументированную функцию в LS.
А как вы пытаетесь обработать правила? делаете парсинг формульного выражения и обрабатываете документы лотусскриптом?
-
да, именно так, и условия, и действия, и потом это правило применяю ко всем старым письмам.
есть там такое действие, очень интересно как бы его реализовать на лотус скрипте :)
-
Если у вас для каждого письма идет прогонка всех правил, то по MailFilterStopProcessing, я так понимаю, нужно просто выйти из цикла по правилам, т.е. применится правило перед MailFilterStopProcessing.
-
наоборот, у меня должна быть прогонка одного правила, выбранного пользователем, по всем письмам.
но тут я застряла, как определить, что пользователь выбрал именно это правило?
если заставить его выделить правило (правила), а потом по выделенным правилам выполнить агента, который применит его к старой почте?
вообще делаю кнопку в папке правила - применить к старой почте.
как определить какие правила выделены пользователем на лотус скрипте, чтобы потом по ним выполнить агента??
-
Может проще наоборот сделать:
добавить в папки и представления action, который работает на выделенных документах или на всех. В этом агенте проходить по письмам и применять в цикле все правила.
Перед нажатием на эту кнопку пользователь должен включить/выключить правила, которые он хочет использовать для старых документов.
-
да, только пользователям так лень будет делать )))
у меня вопрос - сделала по другому - добавила на форму (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 установлен и только тогда запустить агента! как это сделать? помогите пожалуйста :-\
-
Попробуйте переместить ваш скрипт в процедуру ButtonOKClient(), которая находится в библиотеке скриптов Rules.