Респонсы

wowa

Well-Known Member
01.02.2007
845
0
#1
Подскажите, пожалуйста!!!
Как бы сформулировать правильно....
Я забираю какой-н документ, и мне нужно забрать его респонсы и респонсы респонсов и т.д.... Подскажите, как это сделать? И Желательно как бы указывать до какого "колена" забирать респонсы....
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
2
36
Россия, Калуга
#4
Например, так:
Код:
Sub GetAllResponses(pdoc As NotesDocument)
Dim dc As NotesDocumentCollection
Dim doc As NotesDocument
Set dc = pdoc.Responses
Set doc = dc.GetFirstDocument
While Not (doc Is Nothing)
Call GetAllResponses(doc)
Set doc = dc.GetNextDocument(doc)
Wend
End Sub
Сюда несложно прикрутить счетчик уровней.
pdoc - родительский документ.
 

wowa

Well-Known Member
01.02.2007
845
0
#5
Спасибо! А на @-формулах это можно сделать?, типа @AllChildren and @AllDescendants но они, как Я понимаю, забирают ответы и ответы на ответы... а если больше уровень?
 
K

K-Fire

Гость
#6
Лучше не пытаться делать это на формулах. Извратиться с циклами как-то можно я думаю, но зачем искать геморрой на свою голову. На скрипте такая задача делается легко и непринужденно с помощью рекурсии.
 

wowa

Well-Known Member
01.02.2007
845
0
#7
Для: K-Fire
Мне просто нужно сделать строку запроса, а она на формулах (((
 
K

K-Fire

Гость
#8
строка запроса? Это для db.Search чтоли? Если я правильно понял, то никто не мешает вам отбирать главные документы и документы-респонзы отдельно. Если неправильно понял, то тогда всё еще хуже :)
 

wowa

Well-Known Member
01.02.2007
845
0
#9
Для: K-Fire
Да , вы правильно поняли...
На данном этапе я делаю строку запроса...
 

wowa

Well-Known Member
01.02.2007
845
0
#10
Кстати, может кто-н делал что-н похожее: формирование условий отбора документов из БД.
Что-то я кроме как отбирать документы по имени формы, значению полей(=, !=) Больше ничего придумать не могу... Ну еще забирать ответы и ответы на ответы сделал... А что можно еще?
Если бы сделать что-н похожее как(в Notes) View->Search This View , там есть Conditions .... Вот чтоб как-н можно было это окошечко вызывать.....