Форум программистов, компьютерный форум, киберфорум
HCL Notes: Программирование
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/194: Рейтинг темы: голосов - 194, средняя оценка - 4.85
0 / 0 / 0
Регистрация: 16.07.2009
Сообщений: 110

применить почтовое правило к папке

13.08.2009, 14:42. Показов 35758. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
в оутлуке есть опция, которая позволяет применть созданное в данный момент почтовое правило ко всем, например, ранее пришедшим документам (письмам) в папке входящие (отсортировать по уведомлениям например).
В лотусе созданное в данный момент почтовое правило применяется только ко всем новым документам (новым письмам)
Можно ли сделать так, чтобы почтовое правило в лотусе применилось ко всем документам в почте?

ПРИМЕР - в почте уже 1000 писем - уведомлений, писем, и прочего - только что создано правило о сортировке - но действует только к новым письмам, которые будут приходить, как применить его к уже находящимся в почте пользолвателя?
как сделать это в лотусе? подскажите есть ли програамное решение и какое?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.08.2009, 14:42
Ответы с готовыми решениями:

Почтовое правило в шаблоне базы
Мне наобходимо, чтобы при регистрации пользователя, его почт.ящик создавался по шаблону, а в этом шаблоне уже была определенная папка,...

Не могу применить правило Лопиталя
Здравствуйте.Есть задачи на правило Лопиталя:13.4 и 13.5 Раскрываю эти задачи по правилу Лопиталя и получается вид в каждой (число...

Применить действие для большого количества файлов в папке
Доброго времени суток, столкнулся с такой проблемой, необходима для большого количества файлов в папке применить действие, подскажите как...

17
0 / 0 / 0
Регистрация: 28.06.2009
Сообщений: 1,567
13.08.2009, 14:50
написать агента... или проще найти - на open.ntf наеврняка есть.. вроде видел в тамошнем модифицированном почтовом шаблоне...
0
0 / 0 / 0
Регистрация: 16.07.2009
Сообщений: 110
13.08.2009, 14:58
Цитата Сообщение от Klido
написать агента... или проще найти - на open.ntf наеврняка есть.. вроде видел в тамошнем модифицированном почтовом шаблоне...
а подробнее можно??? open.ntf - это где искать?? =)
0
0 / 0 / 0
Регистрация: 28.06.2009
Сообщений: 1,567
13.08.2009, 15:14
openntf.org
0
0 / 0 / 0
Регистрация: 16.07.2009
Сообщений: 110
13.08.2009, 15:27
заблудилась в дебрях сайта. подскажите что именно и в каком направлении искать, пожалуйста, пока нашла только обсуждения на форумах про эту задачку.
0
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
13.08.2009, 15:51
http://www.google.ru/search?q=mail+rules+site%3Aopenntf.org
0
0 / 0 / 0
Регистрация: 28.06.2009
Сообщений: 1,567
13.08.2009, 16:05
http://www.openntf.org/Projects/pmt.nsf/Pr...il%20Experience
0
0 / 0 / 0
Регистрация: 16.07.2009
Сообщений: 110
13.08.2009, 17:11
Цитата Сообщение от Klido
хорошая ссылка но в этой базе того что нужно ну не нашла я, именно такого агента.

может лучше подскажете с чего писать своего агента??? =)
пока знаю что правила хранятся в профайле CalendarProfile, а дальше куда не понятно
0
0 / 0 / 0
Регистрация: 16.07.2009
Сообщений: 110
17.08.2009, 10:31
вообще, я вижу два пути решения задачи -
первое - агент на лоту скрипте - залесть в папку правила и по каждому правилу вытащить условие отбора писем, преобразовать эти условия к нормальным на лотус скрипте,
вытащить действия по данному условию и преобразовать к действию на лотус скрипте,
ко всем документам в папке входящие задать поиск по заданному условию и в случае успеха выполнить заданные действия. и так по каждому правилу. но здесь я вижу следующую проблему - необходимость преобразования условий из правила на лотус скрипт. возможно ли это все корректно будет сделать

второе - правила хранятся в профайле calendarprofile в полях $FilterFormula + номер правила на языке формул. можно попробовать вытащить эти условия оттуда,
но проблема - как это условие на языке формул применить ко всей почте в папке???

подскажите как быть пожалуйста
0
0 / 0 / 0
Регистрация: 08.08.2009
Сообщений: 178
17.08.2009, 17:58
Немножко теории:
Почти все правила создаются и редактируются в папке Правила в почтовой базе. Кроме самой формулы документы правил содержат и все параметры правил. Также в почтовой базе есть скрипт с открытым кодом, который создает формулу правила. Воспользоваться самой формулой может и не получится, причем трудности могут быть не только сдекомпиляцией формулы, но и со специфичными собаками типа @MailFilterAddToFolder.

Как бы я это делал:
1. Разобраться в скрипте библиотеки Rules
2. Разобравшись в коде функции ProcessConditions(), написать код получения формулы условия по значению поля tokConditionList. Там почти ничего делать не придется.
3. Написать код выполнения действий из поля tokActionList по аналогии с функциями ProcessActions и ActionParser. При этом использовать везде где можно Evaluate. А где нельзя делать аналог на скрипте.
4. Написать код, который в указанной папке делает поиск по формуле, полученной в пункте 2.
5. Написать код, который выполняет функцию из пункта 3 с каждым найденным документом.
0
0 / 0 / 0
Регистрация: 16.07.2009
Сообщений: 110
19.08.2009, 10:22
Цитата Сообщение от Divankin
Немножко теории:
Почти все правила создаются и редактируются в папке Правила в почтовой базе. Кроме самой формулы документы правил содержат и все параметры правил. Также в почтовой базе есть скрипт с открытым кодом, который создает формулу правила. Воспользоваться самой формулой может и не получится, причем трудности могут быть не только сдекомпиляцией формулы, но и со специфичными собаками типа @MailFilterAddToFolder.

Как бы я это делал:
1. Разобраться в скрипте библиотеки Rules
2. Разобравшись в коде функции ProcessConditions(), написать код получения формулы условия по значению поля tokConditionList. Там почти ничего делать не придется.
3. Написать код выполнения действий из поля tokActionList по аналогии с функциями ProcessActions и ActionParser. При этом использовать везде где можно Evaluate. А где нельзя делать аналог на скрипте.
4. Написать код, который в указанной папке делает поиск по формуле, полученной в пункте 2.
5. Написать код, который выполняет функцию из пункта 3 с каждым найденным документом.
Divankin, вопрос может глупый, но как по полученной формуле поиска - которая на языке формул, сделать на лотус скрипте поиск по документам?? как это возможно, что то не понимаю, обьясните пожалуйста если можете
0
0 / 0 / 0
Регистрация: 08.08.2009
Сообщений: 178
19.08.2009, 10:38
В данном случае для каждого документа doc из папки выполнить
formulaResult = Evaluate(formula, doc)
If cstr(formulaResult(0)) = "1" Then
для данного документа условие выполнено
всякий код
End If

Предполагается, что formula возвращает либо @true, либо @false, которые соответственно равны 1 и 0.

P.S. Вообще есть метод NotesDatabase.Search, который позволяет найти все документы удовлетворяющие формуле, но в нашей задаче он не подходит, потому что вам нужно применить правило не ко всем документам в базе, а лишь к документам в определенной папке.
0
0 / 0 / 1
Регистрация: 30.06.2007
Сообщений: 2,153
19.08.2009, 10:39
nadezdaMP
Та же формула, только без select и засунутая в db.Search:

Code
1
2
Dim Dc As NotesDocumentCollection
Set Dc = Db.Search(<YOUR_FORMULA>, Nothyng, 0)
0
0 / 0 / 0
Регистрация: 16.07.2009
Сообщений: 110
20.08.2009, 15:49
Спасибо!!)) появился вопрос:
1) в действиях есть команда - остановить обработку,
на которую EZ ставит @MailFilterStopProcessing. вот интересно, возможно ли и как эту команду реализовать на лотус скрипте =)

2)как лучше реализовать,
дать возможность пользователям при редактировании или создании правил - на форме (RulesDlg) ставить галочку - применить правило ко всей старой почте,
при закрытии формы проверить, если поставлена, то в отсортировать все письма в почте;
но если они это правило захотят применить и к старой и к новой поступающей почте - то как быть,
я так понимаю при закрытии формы сработает сортировка старой почты, но само правило будет действовать и ко вновь приходящей почте тоже, так?? =))

3) если в почте у пользователя, скажем так, 5 000 - 8 000 писем (бывают такие пользователи),
у него при отработке такого правила (сортировка старой почты) комп не повиснет (лотус не повесится)??
0
0 / 0 / 0
Регистрация: 08.08.2009
Сообщений: 178
20.08.2009, 18:23
1. Это правило нужно, чтобы не отрабатывали правила ниже в списке. Поскольку вы хотите сделать выполнение только по одного правила, то в этом случае не нужно делать ничего. А такая команда в лотус скрипте есть ;)

2. Я бы сделал кнопку в папке Rules "Применить к старым письмам".
Правило можно просто выключить и оно не будет действовать на новую почту.

3. Комп и Лотус переживут. Пользователю придется подождать.
Вы можете сделать эту операцию с помощью запуска агента на сервере
Call agent.RunOnServer(Cstr(ruleDoc.NoteID))
0
0 / 0 / 0
Регистрация: 16.07.2009
Сообщений: 110
23.08.2009, 09:11
Цитата Сообщение от Divankin
2. Я бы сделал кнопку в папке Rules "Применить к старым письмам".
Правило можно просто выключить и оно не будет действовать на новую почту.
хорошо, то есть вы предлагаете все правила, которые есть у пользователя, сразу применить к старой почте?
или по одному, которое выберет пользователь?

ps спасибо за ответы, вы мне очень помогли))
0
0 / 0 / 0
Регистрация: 08.08.2009
Сообщений: 178
23.08.2009, 11:45
Я думаю, что лучше применять одно, которое выберет пользователь.
0
0 / 0 / 0
Регистрация: 16.07.2009
Сообщений: 110
27.08.2009, 16:03
Доброго времени суток всем!!!
С почтой все хорошо, но в одном месте застряла!!! помогите пожалуйста!!!
есть одна загвоздка : когда обрабатываю действие - отправить копию (только заголовки или всю)-
в библиотеке Rules_ru-RU в процедуре ActionParser выполняется
...
//Forward to
Case "B"
Let str_tmpAppendString = |"COPYTO| + ACT_sBehavior + STR_DELIMETERSEP + Replace(ACT_sString,|:|,|,|) + |")|
s_MAINFORMULA = s_MAINFORMULA + "@SetField(""$FilterActions"";" + "@Trim($FilterActions:" + str_tmpAppendString + ");@SetField(""DisplayCopyTo_Icon"";""1" ")"
...
на лотус скрипте переписала следующим образом

(беру указанное имя, проверяю - если есть в локальной адресной книге - заменяю на e-mail, если нет, оставляю таким же,в конце в цикле отсылаю все пиьсмо по указанным адресам)

str0 = ACT_sString
Dim session As New NotesSession
Set db = session.GetDatabase("", "names.nsf", False)
Set view = db.GetView("My Contacts")
sStr = Split(str1, |,|)
Forall fio In sStr
arr = Split ( fio, " ")
resym = arr (Lbound(arr))
If Ubound(arr) = 1 Then
resfam = arr (1)
Elseif Ubound(arr) = 2 Then
resfam = arr (2)
End If
If (resym <> "") And (resfam <> "") Then
res = resfam + "," + " " + resym
Elseif (resym <> "") And (resfam = "") Then
res = resym
Set docview = view.GetDocumentByKey (res, True )
If docview Is Nothyng Then
result = result + fio + ","
Else
value = docview.GetItemValue ("MailAddress")(0)
result = result + value + ","
End If
End Forall
result = Left(result, Len(result)-1)

result = Split(result,",")
Forall r In result
Call indoc.Send(True, r)
End Forall

в итоге у меня отсылается по куче копий ( по три(?) копии) каждого письма - не ясно почему?? и при попытке письмо отправить выходит сообщение - вопрос
"You have requested to sign thys internet message, but your current ID does not contain or does not specify an Internet sertificate for signing. Select OK to send the message anyway". жму ОК и только тогда письмо отправляется.
и как сделать рассылку только заголовков письма??

там же, в этой процедуре указаны варианты
....
// Journal Message
Case "5"
....
// move to database
Case "6"
....
// dont deliver message
Case "8"
....
// Change routing state
Case "9"
они, если смотреть через EZ , в tokactionlist не указываются, для чего они вообще тогда нужны??

SOS, подскажите кто что знает пожалуйста!)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.08.2009, 16:03
Помогаю со студенческими работами здесь

Правило Саррюса (правило треугольников, метод звездочки) Pascal
привет, всем активным участникам форума. помогите, пожалуйста, написать программу на языке Pascal . задание: нужно написать...

Почтовое оповещение
Помогите разобраться как написать самый простой почтовый оповещатель писем, что для этого почитать где можно взять хоть что то что бы...

Почтовое отделение
Почтовое отделение Имя входного файла: стандартный ввод Имя выходного файла: стандартный вывод Ограничение по времени: 1 секунда ...

Почтовое отделение
Здравствуйте, прошу помочь с данной задачей (скрин 1). Из 30 прогонов - 6 правильных. Необязательно нужен код, а разъяснение самой ошибки...

Не отправляется почтовое сообщение
Подскажите, что может быть неправильным в коде, или что я забыл? Set iMsg = CreateObject('CDO.Message') With iMsg .From =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru