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

Тема в разделе "Lotus - Программирование", создана пользователем nila, 3 май 2008.

  1. nila

    nila Гость

    Привет Всем!
    У меня такая задача... Каждый месяц создаю агентом документы по одной форме. Информацию беру из другой базы. В этих доках поля главный начальник и подчиненный.
    Кол-во документов в цикле тогда столько сколько подчинненых начальников. Но я хочу отправлять письма только главным начальникам. Что бы отпарвок было столько сколько главных начальников. А не подчинненым.
    Но так как я беру 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

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

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Сложно понять, что нужно.
    Может нужно использовать списки (list) с именами главных начальников в качестве тега?
     
  3. nila

    nila Гость

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

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

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

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

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

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Ну так в первом цикле создавай документы и запихивай данные в список(list), как я написал вышел.
    Потом делаешь второй цикл по списку и отсылаешь письма.
     
  5. nila

    nila Гость

    Да! Отлично!
    Но я с списками ни когда не работала(

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

    DistrictManager(i) = newdoc.District

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

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

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Заполнять нужно так:
    DistrictManager("Начальник1") = newdoc.District
    Тогда не будет повторений.

    Сделать список своего типа. Или типа NotesDocument.
     
  7. nila

    nila Гость

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

    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? Поэтому я свой счетчик сделала.

    Респект форуму за помощь!!!
     
Загрузка...
Похожие Темы - Отправка сообщения главному
  1. k85
    Ответов:
    4
    Просмотров:
    83
  2. k85
    Ответов:
    10
    Просмотров:
    879
  3. motogarri
    Ответов:
    4
    Просмотров:
    792
  4. JohnLemon
    Ответов:
    18
    Просмотров:
    1.553
  5. erdi
    Ответов:
    3
    Просмотров:
    1.378

Поделиться этой страницей