Как написать правило, чтобы автоматически сформированные...

Автор Тема: Как написать правило, чтобы автоматически сформированные...  (Прочитано 9752 раз)

ViV

  • Global Moderator
  • Профессионал
  • *****
  • Сообщений: 1428
  • Владимир Егоров
    • Просмотр профиля
    • lotusnotes.ru
    • E-mail
09.11.2011 | Татьяна

Подскажите как написать правило, чтобы автоматически сформированные, отчеты о доставке приходили в отдельную папку.

-- Вопрос из он-лайн чата сайта lotusnotes.ru --

K85

  • Старший специалист
  • ****
  • Сообщений: 127
  • http://nick-name.ru/sertificates/727639/
    • Просмотр профиля
в правиле указать:
Форма равняется <название Формы> (Delivery Report  и Return Receipt) и указать действие (переместить в папку <заранее создать папку и ее выбрать в данном пункте>)

Ermilov Kirill

  • Старший специалист
  • ****
  • Сообщений: 103
    • Просмотр профиля
Чтобы не создавать новую тему, напишу тут. Клиент версии 7.0.4 , сервер тоже. Как после создания правила сделать, чтобы оно обработало всю почту в представлениие "Входящие" и распихало, например, по папкам? Вручную достаточно долго, т.к. писем в районе 50 тысяч... Что-то не отыскал информации

K85

  • Старший специалист
  • ****
  • Сообщений: 127
  • http://nick-name.ru/sertificates/727639/
    • Просмотр профиля
Чтобы не создавать новую тему, напишу тут. Клиент версии 7.0.4 , сервер тоже. Как после создания правила сделать, чтобы оно обработало всю почту в представлениие "Входящие" и распихало, например, по папкам? Вручную достаточно долго, т.к. писем в районе 50 тысяч... Что-то не отыскал информации
Правило не работает на документы, которые уже пришли.
Можно написать агент и указать что-то вроде:
Dim s As  NotesSession
Dim doc As NotesDocument
Set s = New NotesSession
Dim db As NotesDatabase
Set db = s.CurrentDatabase
Dim view As NotesView
Dim viewEntries As NotesViewEntryCollection
Dim viewEntry As NotesViewEntry
Set view = db.GetView("($Inbox)")  ' указать из какой папки или вьюхи будем перемещать, можно указать ($ALL) тогда по всем документам отработает
If (view Is Nothing) Then Exit Sub
Set viewEntries = view.AllEntries()
Set viewEntry = viewEntries.GetFirstEntry()

While Not(viewEntry Is Nothing)
Set doc = viewEntry.Document
dan=doc.GetItemValue(<указать поле, по которому будет происходить отбор>)(0)
If dan="<написать чем должно равняться поле>" Then
Call doc.PutInFolder("<папка>")
doc.RemoveFromFolder("($Inbox)")
End If
Set viewEntry = viewEntries.GetNextEntry(viewEntry)
Wend