Список Рассылки По Критерию

Sanchezz86

Well-known member
16.06.2010
72
0
#1
Добрый день!

Помогите, пожалуйста, решить задачку.

Суть в следующем:

Пишу базу, что-то вроде хелп деска.
Возникла проблема с рассылкой внесенных заявок. В главной форме есть поле с классификатором события. Необходимо сформировать список рассылки в зависимости от значения этого поля.
Сейчас просто формирую список из представления и отсылаю все доки подряд.
Код:
Dim s_doc As NotesDocument
Dim i As Integer
Dim view As NotesView
Set view = db.GetView ("mail_view")
i=0
Set s_doc = view.GetFirstDocument
While Not (s_doc Is Nothing)
Redim Preserve addres (i) As String
addres (i) = s_doc.Mail_Name(0)
i=i+1
Set s_doc =view.GetNextDocument (s_doc)
Wend
Подскажите как люди по уму делают?
Буду признателен.
 

nvyush

Lotus team
22.04.2009
2 317
0
#2
В главной форме есть поле с классификатором события. Необходимо сформировать список рассылки в зависимости от значения этого поля.
В подобных случаях делаю справочник событий, событие — отдельный документ, содержащий идентификатор события (псевдоним), название события (для отображения в поле) и список адресатов для рассылки. Список адресатов может содержать как имена пользователей/группы, так и роли, а также имена полей (в спец формате), содержащие списки пользователей...
 

Sanchezz86

Well-known member
16.06.2010
72
0
#3
Спасибо! Сделаю так!
Это видимо самый простой способ?

и как обрабатывать это событие?
 

nvyush

Lotus team
22.04.2009
2 317
0
#4
и как обрабатывать это событие?
Это как фантазия/опыт подсказывают... Можно искать событие в представлении по ключу, можно сохранять unid события, можно вообще документ ответом событию сделать. При необходимости рассылки получаете к-либо способом документ события и из него — список рассылки.
 

Sanchezz86

Well-known member
16.06.2010
72
0
#6
Help!

Помогите сформировать массив рассылки.Второй день мучаюсь. Нервы сдали...

Есть мульти поле с именами для рассылки. Пытаюсь сформировать из него массив.использовал UBound для получения кол-ва элементов, но он считает с нуля...и нефига не выходит...


Код:
Dim address As String

Messagebox (Ubound(doc.ListPers))

For f=0 To (Ubound(doc.ListPers)+1)


Messagebox f

address = doc.ListPers(f)
Next
Как быть??
 

nvyush

Lotus team
22.04.2009
2 317
0
#9
Для перебора элементов массива эффективней использовать Forall
Код:
Forall address In doc.GetItemValue("ListPers")
Print address
End Forall
 

VladSh

начинающий
Lotus team
11.12.2009
1 260
5
#10
Для перебора элементов массива эффективней использовать Forall
Использую только когда вероятность ошибки в коде, который в Forall, стремится к нулю.
В большинстве случаев нужно знать, например, на каком пользователе завалилась отправка, чтобы потом уже знать с кем разбираться.. в случае Forall сложнее организовать обработку ошибки с записью в лог текущего entry, т.е. в таких случаях смысла в Forall нет.