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

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

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

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

Взять Документ По Doclink

  • Автор темы iivvnn
  • Дата начала
I

iivvnn

Есть поле Body (RichText). В нем ссылки на документы (из другой базы) в виде doclink. Как мне скриптом (кнопкой акции) пройтись по все этим ссылкам, взять для каждой обьект NotesDocument и внести изменения в него в этом же скрипте?
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
или DXML тогда и репику базы и унид выхватить можно :rolleyes:
и значёк перерисовать :huh:
 
O

Omh

Довольно старая самописная функция.
Возвращает array of string из первого линка из RT поля (документа + имя RT поля из параметров).
Сейчас бы я её переписал немного по другому: не люблю когда возвращается variant.
Но, собственно, и так работает :)

Код:
Private Function GetRTLinkInfo(doc As NotesDocument, ItemName As String) As Variant
'(0) - Db server
'(1) - Db ReplicaID
'(2) - View UNID
'(3) - Document UNID
On Error Goto Errh

Dim rv(3) As String
lsf_GetRTLinkInfo = rv

If doc Is Nothing Then Exit Function
If ItemName = "" Then Exit Function

Dim RTItem As NotesRichTextItem

On Error Resume Next
Set RTItem = doc.GetFirstItem(ItemName)
On Error Goto Errh

If Not RTItem Is Nothing Then
If RTItem.Type = 1 Then
Dim RTNav As NotesRichTextNavigator
Dim RTLink As NotesRichTextDocLink

Set RTNav = RTItem.CreateNavigator
If RTNav.FindFirstElement(RTELEM_TYPE_DOCLINK) Then
Dim DstDb As New NotesDatabase("", "")

Set RTLink = RTNav.GetElement

Dim ServerName As String
Dim DbReplicaID As String
Dim ViewUNID As String
Dim DocUNID As String

ServerName = RTLink.ServerHint
DbReplicaID = RTLink.DBReplicaID
ViewUNID = RTLink.ViewUnID
DocUNID = RTLink.DocUnID
End If
End If
End If

rv(0) = ServerName
rv(1) = DbReplicaID
rv(2) = ViewUNID
rv(3) = DocUNID

GetRTLinkInfo = rv

Exit Function
Errh:
Call ErrHandler
Exit Function
End Function
 
K

Kee_Keekkenen

Довольно старая самописная функция.
Возвращает array of string из первого линка из RT поля (документа + имя RT поля из параметров).
Сейчас бы я её переписал немного по другому: не люблю когда возвращается variant.
Но, собственно, и так работает :)

осталась лишняя строка
Dim DstDb As New NotesDatabase("", "")
видимо была проверка на наличие документа ;)
 
Мы в соцсетях:

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