S
sanch
кста {Not (([AgentCheck] contains 0) or ([AgentCheck] contains 1))} работает чуть не так мне надо чтоб выбирались все документы в которых нет AgentCheck.Подскажи плз как это сделать?
Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе
кста {Not (([AgentCheck] contains 0) or ([AgentCheck] contains 1))} работает чуть не так мне надо чтоб выбирались все документы в которых нет AgentCheck.Подскажи плз как это сделать?
Dim session As New NotesSession
Dim db As NotesDatabase
Dim folder As notesview
Dim doc As NotesDocument
Dim count As Double
Dim col As NotesDocumentCollection
Set db = Session.CurrentDatabase
'создание пустой коллекции
Dim vw As notesView
Dim key(0) As String
key(0)="{xxxYYYzzz}"
Set vw = db.Views(0)
Set col = vw.GetAllDocumentsByKey(key)
Set folder = db.GetView("($Inbox)")
Set doc = folder.GetFirstDocument
While Not (doc Is Nothing)
If Not (doc.HasItem("AgentCheck")) Then col.AddDocument doc
Set doc = folder.GetNextDocument(doc)
Wend
опиши задачу.Спасибо.Это то же что получилось у меня 2 недели назад.(Как говорится те же яйца только в профиль).Только тут проблема в другом время выполнения если в базе 3000 писем такой скрипт будет мин 8 выполнятся.
Удачного вечера.я домой. завтра выходите на связь!!!!
хм, странно. вот смотри, ты обработал письмо и записал в поле AgentCheck="1". ну так что ж тебе мешает сделать FTSearch по представлению, как я тебе ранее и советовал. Все необработанные письма не будут содержать в поле значения "1" или вообще не будут содержать этого поля....
Я решил пометить обработаные письма полем "AgentCheck", чтоб при создании каллекции такие письма отбрасывать, в таким случае будут обрабатыватся только новые письма.
...
ты представляешь, что будет твориться в бд через пару лет. 100-200 папок - это безобразие. имхо, не есть правильное решение. категоризированный вид!!!...
В почтовой базе необходимо сортировать приходящие письма по папкам.Имя папки - имя отправителя.Если папки нет создать-письмо пребросить, если есть просто пребросить!!!
...
у меня уже несколько лет без проблем работает агент по обработке входящей почты - Before new mail arrives. все видит, все обрабатывает. не знаю будет ли иметь значение кем подписан агент и + у меня агент с Allow restricted operations with full administration rights....
Запуск агента планирую сделать "Перед приходом новой почты". но тут тоже проблемка. К примеру пришло письмо агент отработал но письмо не увидел, а увидит после прихода еще одного письма. Пробовал запуск "После прихода почты" в токам случае работает вообще черз ж@#у.к примеру письмо пришло а агент запустился мин через 5. Лутше всего работало по нажатию кнопки в меню.
ftsearch работает очень быстро. у меня в представлении 37 тыш доков, поиск отработал за секунду. у бд должен быть сформирован индекс полнотекстового поиска.И я того же мнения, но раз надо знач надо.
Надо будет подумать как всетаки написать запрос. потому что для такой задачи любой цикл и ftsearch это очень медленно.
1. да, можно. NotesView -> NotesViewEntryCollection - > NotesViewEntry -> Set NotesDocument = NotesViewEntry.Documentкруто!!!.Ну а можно ли как-нить связать ftsearch c NotesDocument.
Set folder = db.GetView("($Inbox)")
folder.FTSearch search, 0 в этом случае значение folder изменится?
если поля AgentCheck в документе вообще не существует то как отработает твой запрс?
{NOT ([AgentCheck] contains 1)}
Set db = session.CurrentDatabase
Set view=db.GetView("($Inbox)")
search= {NOT ([AgentCheck] contains 1)}
view.FTSearch search,0
Set vec=view.AllEntries
значит что-то не так с полем AgentCheck.Ниче не пойму вроде делаю все как Ты говоришь но view.FTSearch search,0Код:Set db = session.CurrentDatabase Set view=db.GetView("($Inbox)") search= {NOT ([AgentCheck] contains 1)} view.FTSearch search,0 Set vec=view.AllEntries
выполняется сек 6. а в Set vec=view.AllEntries передаются все записи
Обучение наступательной кибербезопасности в игровой форме. Начать игру!