Отправка сообщения главному в ерархии.

  • Автор темы nila
  • Дата начала
N

nila

Гость
#1
Привет Всем!
У меня такая задача... Каждый месяц создаю агентом документы по одной форме. Информацию беру из другой базы. В этих доках поля главный начальник и подчиненный.
Кол-во документов в цикле тогда столько сколько подчинненых начальников. Но я хочу отправлять письма только главным начальникам. Что бы отпарвок было столько сколько главных начальников. А не подчинненым.
Но так как я беру Serch - он мне выдает все доки по этой формуле. то есть кол-во равно колво подчинненых. И в этом цикле я не могу использовать отправку...
Dim query As String
query = "((Form = 'ProfileDistrict')) & (!@Contains(Status; 'New')) & (!@Contains(Status; 'Closed'))"
Set collection = dbinfo.Search( query, Nothing, 0 ) //это я беру из другой базы инфу сколько документов будет
If collection.Count=0 Then Exit Sub
Set docinfo=collection.GetFirstDocument
While Not(docinfo Is Nothing)
Set newdoc=New NotesDocument(db)
newdoc.Status="1" 'New
newdoc.District=docinfo.District
newdoc.DistrictName=docinfo.DistrictName
newdoc.Director=docinfo.Director
newdoc.DirectorName=docinfo.DirectorName
y
newdoc.Form="SR"
newdoc.CreatedDate=Today
newdoc.Location=docinfo.Address1

Dim RItem As NotesItem
Set RItem = New NotesItem _
( newdoc, "Readers", "CN=District " & docinfo.District(0) )
Call RItem.AppendToTextList( "[All]" )
Call RItem.AppendToTextList( "[DManager]" )
RItem.IsReaders= True
Call newdoc.Save(True,True)
STo = newdoc.District(0)

Call SendMemo(STo,"","",_
"Please fill out this forms " +newdoc.District(0) +" - "+ newdoc.Store(0)+ ", from " + Cstr(newdoc.CreatedDate(0)) +" . ",_
"Click here to View DM Visitation Form ----> ","")


Set docinfo=collection.GetNextDocument(docinfo)
Wend
End If

Помогите пожалуйста.... туплю по страшному. Но я научусь!
Спасибо!
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
2
#2
Сложно понять, что нужно.
Может нужно использовать списки (list) с именами главных начальников в качестве тега?
 
N

nila

Гость
#3
Сложно понять, что нужно.
Может нужно использовать списки (list) с именами главных начальников в качестве тега?
Да я знаю... не оч получается понятно ставить задачу :)
Есть форма в которой поля Начальник и подчинненый и другие данные. У начальника дофига своих подчиненных.
Агентом я создаю эти документы в моей базе. Кол во документов столько сколько подчинненых.
и При создании этих доков я должна выслать каждому начальнику ссылку на базу. вот.

Начальник1 Подчиненный1
Подчиненный2

...........
Начальник2 Подчиненный1
Подчиненный2

...........
Начальникn

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

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
2
#4
Ну так в первом цикле создавай документы и запихивай данные в список(list), как я написал вышел.
Потом делаешь второй цикл по списку и отсылаешь письма.
 
N

nila

Гость
#5
Ну так в первом цикле создавай документы и запихивай данные в список(list), как я написал вышел.
Потом делаешь второй цикл по списку и отсылаешь письма.
Да! Отлично!
Но я с списками ни когда не работала(

я пишу так
Dim DistrictManager List As String
и в цикле наполняю...

DistrictManager(i) = newdoc.District

Но как мне быть если:
1. получается это наполняется и будут повторения так как когда я создаю доки то там все... как то можно сделать что б повторений не было в списке.
2. а если я хочу в списке держать больше информации например и еще другое поле.

Извените за глупые вопросы. :)
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
2
#6
1. получается это наполняется и будут повторения так как когда я создаю доки то там все... как то можно сделать что б повторений не было в списке.
Заполнять нужно так:
DistrictManager("Начальник1") = newdoc.District
Тогда не будет повторений.

2. а если я хочу в списке держать больше информации например и еще другое поле.
Сделать список своего типа. Или типа NotesDocument.
 
N

nila

Гость
#7
Спасибо большое за помощь!
Вот что у меня отлично работает! Если может кому то понадобится работа с классами.

Private Class TmpManager
Public Name As String
Public Stores List As String
Public StoreCount As Integer
End Class
_________________________________________
Dim Managers List As TmpManager
Dim manager As TmpManager

If Not Iselement(Managers(newdoc.District(0))) Then
Set manager = New TmpManager
manager.StoreCount=0
manager.Name = newdoc.District(0)
Set Managers(newdoc.District(0)) = manager
Else

Set manager = Managers(newdoc.District(0))
End If
manager.Stores(newdoc.Strore(0)) =newdoc.Strore(0)
manager.StoreCount=manager.StoreCount+1

Единственное я не знала есть ли что то у листа типа Count? Поэтому я свой счетчик сделала.

Респект форуму за помощь!!!