Уведомления на почту в Lotus Notes

  • Автор темы alexkapustin
  • Дата начала
A

alexkapustin

#1
коллеги, доьрого времени суток
столкнулся со следующей проблемой
может кто отремонтирует код.
Заранее спасибо

есть агент выполняется по расписанию
обращается к виду который отображает по 10-20 документов созданные разными пользователями. документы одного уровня.
он красиво считает все документыи отправлет мини отчет о том что было создано определенное кол-во документов
но хотелось бы чтот бы агент считал не общую сумму по каждому пользователь
т.е. было создано пользователем А - 5
пользователем Б - 4 и т.д.

инфо о имени пользовтеля отображено в виде.

вот сам код


Код:
Option Public
Dim db As NotesDatabase
Dim view As NotesView
Dim doc As NotesDocument
Dim uidoc As NotesUIDocument


Sub Initialize
Dim session As New NotesSession
Dim encol As NotesViewEntryCollection
Dim en As NotesViewEntry
Dim col As NotesDocumentCollection

Dim refDdoc As NotesDocument
Dim person As String

Dim ChDoc As NotesDocument

Dim wrk As New NotesUIWorkspace


Set db = session.CurrentDatabase
Set view = db.GetView("(crm)")
Set encol = view.AllEntries
Set en = encol.GetFirstEntry




person = en.ColumnValues(0)


For i=1 To encol.Count
Set en = encol.GetNthEntry(i)
If person <> en.ColumnValues(0) Then
Call SendNotification(person)
person = en.ColumnValues(0)
End If

Next

If person = en.ColumnValues(0) Then
Call SendNotification(person)
End If



End Sub

Sub SendNotification(person As String)
Dim rtitem As NotesRichTextItem
Dim en As NotesViewEntry

'	Dim rtitem As NotesRichTextItem
'	Dim en As NotesViewEntry
Dim session As New NotesSession
Dim doc As NotesDocument
Dim newDoc As NotesDocument
Dim dbMailBox As NotesDatabase

Set encol = view.GetAllEntriesByKey(person, True)
Set doc = db.CreateDocument
doc.Form = "Memo"
doc.Subject = "Уведомление о вчерашних выполненных контактах"

Set ritem = New NotesRichTextItem( doc , "Body" )

Call ritem.AppendText( "Уведомляем, что вчера сделано следующие кол-во контактов: " )
Call ritem.AddNewLine(2)


Call ritem.AppendText( encol.Count & " - " )
Call ritem.AddNewLine(1)		
'__________________________________________________________		



Print (person)

'Call doc.Send(False, person)
Call doc.Save(True,True)

Set dbMailBox = session.GetDatabase( db.Server, "mail.box")
Set newDoc = doc.CopyToDatabase( dbMailBox )
newDoc.SendTo = person
newDoc.Recipients = person
Call newDoc.Save(True,True)


End Sub
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 599
277
#3
что выражает сия просьба, кроме как - нежелание самому разбираться (ни капли)
даже код поленились оформить в соответ. тегах, а "эта странная фраза"
но хотелось бы чтот бы агент считал не общую сумму по каждому пользователь
- язык русский не родной и нам надо угадать ("казнить нельзя помиловать")
 

hosm

* so what *
18.05.2009
2 442
6
#4
добавить сюда в цикл For переменную-счетчик и внутри If считывать и обнулять - это так сложно? :)
Или у ентрисов можно глянуть ChildCount (емнип) - ну, там от структуры вьюхи зависит.
И GetNthEntry неэффективно юзать, лучше через First и Next

Добавлено: Omh не, просто новичек, скорее всего. тот вряд ли додумается до прокси другой страны :)
 

hosm

* so what *
18.05.2009
2 442
6
#6
не, то аааааа - его клон с очень большой вероятностью. сорри автору темы за оффтоп - если непонятно написала, я потом попробую глянуть, но лучше посмотрите сами - полезно, не так уж там и сложно.
 
A

alexkapustin

#7
не, то аааааа - его клон с очень большой вероятностью. сорри автору темы за оффтоп - если непонятно написала, я потом попробую глянуть, но лучше посмотрите сами - полезно, не так уж там и сложно.
Гляньте если не сложно.
 
A

alexkapustin

#8
не, то аааааа - его клон с очень большой вероятностью. сорри автору темы за оффтоп - если непонятно написала, я потом попробую глянуть, но лучше посмотрите сами - полезно, не так уж там и сложно.
Если будет возможность гляньте плиз этот агент
спасибо