• Codeby web-security - Курс "Тестирование Веб-Приложений на проникновение с нуля" от команды codeby. Общая теория, подготовка рабочего окружения, пассивный фаззинг и фингерпринт, Активный фаззинг, Уязвимости, Пост-эксплуатация, Инструментальные средства, Social Engeneering и многое другое. Подробнее ...

  • Мобильный клиент нашего форума для Android гаджетов доступен в Google Play Market по этой ссылке. Клиент можно скачать с нашего форума по этой ссылке. Последняя версия МК в нашем телеграм канале вот здесь

Как взять Unid самого главного родителя?

  • Автор темы oxystile
  • Дата начала
O

oxystile

#1
Доброго времени суток!
Как взять unid самого главного родителя если неизвестно заранее количество ступеней в иерархии?

рекурсия?
спасибо!
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#2
Не обязательно рекурсия.
Обычным циклом(While..Wend) можно.
 

morpheus

скриптописец
07.08.2006
3 915
1
#4
while doc.IsResponse
set doc = db.GetDocumentByUNID( doc.parentDocumentUNID )
wend

это я на скорую руку написал
doc - NOtesDocument
db - NOtesDatabase
 
O

oxystile

#5
еще вот вопрос назрел, если так
while doc.IsResponse
set doc = db.GetDocumentByUNID( doc.parentDocumentUNID )
wend
то как проверить случаи несушествования документов? ссылка на родителя есть, а самого родителя нету?
спасибо!
 

Omh

Lotus team
04.07.2007
2 210
1
#6
Код:
Function GetDocByUNID(db As NotesDatabase, doc As NotesDocument, UNID As String) As Boolean
On Error Goto Errh

GetDocByUNID = False

If db Is Nothing Then Exit Function
If Trim$(UNID) = "" Then Exit Function

On Error Resume Next
Set doc = db.GetDocumentByUNID(UNID)
On Error Goto Errh

If Not doc Is Nothing Then GetDocByUNID = True

Exit Function
Errh:
Call ErrHandler
Exit Function
End Function
 
O

oxystile

#8
спасибо!!!!! :(

а в цикле Do While doc.IsResponse ...
наверно, проверка на валидность уже не нужна, т.к.
она уже присутствует GetDocByUNIDA:
If Not GetDocByUNIDA.IsValid Then Set GetDocByUNIDA = Nothing
 
Вверх Снизу