• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

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

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

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

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

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
Сложно понять, что нужно.
Может нужно использовать списки (list) с именами главных начальников в качестве тега?
 
N

nila

Сложно понять, что нужно.
Может нужно использовать списки (list) с именами главных начальников в качестве тега?

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

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

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

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

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

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
Ну так в первом цикле создавай документы и запихивай данные в список(list), как я написал вышел.
Потом делаешь второй цикл по списку и отсылаешь письма.
 
N

nila

Ну так в первом цикле создавай документы и запихивай данные в список(list), как я написал вышел.
Потом делаешь второй цикл по списку и отсылаешь письма.

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

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

DistrictManager(i) = newdoc.District

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

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

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
1. получается это наполняется и будут повторения так как когда я создаю доки то там все... как то можно сделать что б повторений не было в списке.
Заполнять нужно так:
DistrictManager("Начальник1") = newdoc.District
Тогда не будет повторений.

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

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

Респект форуму за помощь!!!
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!