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

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

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

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

Восстановление связи

  • Автор темы OlgaI
  • Дата начала
Статус
Закрыто для дальнейших ответов.
O

OlgaI

Существовали два связанных между собой документа (исх. ответ со вх. запросом). Один из документов (исх. ответ) был скопирован на локальную БД, соответственно связь у него потерялась (не то чтоб потерялась, просто ссылка идет уже на совершенно другой вх. документ, находящийся также на локальной БД). Теперь я попыталась вернуть этот документ обратно в основную БД, также путем копирования, но связь с нужным вх. документом не восстановилась.
Возможно, ли восстановить утерянную связь?
Заранее спасибо.
 
A

Akupaka

что есть "связь"? стандартная лотусевая через $REF?
в любом случае, скорее всего кодить придется
 
O

OlgaI

да именно $REF.
А как это сделать, подскажите.
 
R

RAJ

Агент на выделенных дочерних документах.
При запуске выбираем вьюху, а в ней главный док и нажимаем ОК

Код:
Sub Initialize
Dim NS As New NotesSession
Dim NDC As NotesDocumentCollection
Dim NDC_Parent As NotesDocumentCollection
Dim NUIWS As New NotesUIWorkspace
Dim ND_Parent As NotesDocument
Dim ND As NotesDocument
Dim Views As Variant
Dim NamesV() As String
Dim View As NotesView

Set Db=Ns.CurrentDatabase
Set NDC = Db.UnprocessedDocuments
If NDC Is Nothing Then
Print "Необходимо выделить документы!!!"
Exit Sub
Else
If NDC.Count = 0 Then
Print "Необходимо выделить документы!!!"
Exit Sub
End If
End If

'Выбор вьюхи из которой удобно выбирать документ, который будет родительским
Views = Db.Views
Redim NamesV(0)
For i% = 0 To Ubound(Views)
Set View = Views(i%)
If i% = 0 Then
Redim NamesV(0)
NamesV(0) = View.Name
Else
Redim Preserve NamesV(Ubound(NamesV)+1)
NamesV(Ubound(NamesV)) = View.Name
End If
Next

ResultNames = Evaluate({@Sort("} + Implode(NamesV, {":"}) + {"; [ASCENDING])})
NameV$ = NUIWS.Prompt(PROMPT_OKCANCELLIST, "Выбор вида...", "Выберите вид из которого будет выбираться родительский документ:", "", ResultNames)
If NameV$="" Then Exit Sub

'Выбор родительского документа
Set NDC_Parent = NUIWS.PickListCollection(3, False, Db.Server, Db.FilePath, NameV$, "Выбор родительского документа...", "Выберите один документ")
Set ND_Parent = NDC_Parent.GetFirstDocument
For i% = 1 To NDC.Count
Set ND = NDC.GetNthDocument(i%)
Call ND.MakeResponse(ND_Parent)
Call ND.Save( True, True )
Next

End Sub
 
O

OlgaI

при сохранении агента ругается
 

Вложения

  • _____________________.doc
    24 КБ · Просмотры: 158
H

hosm

Implode (Join) появился вроде в 6-ке только, для 5-ки надо написать свою функцию, сливающую массив в строку.
Если лень, то можно, в принципе, обойтись без сортировки и выводить несортированный список представлений :lol:
Кстати, внимательней с Evaluate, если в имени представления есть \
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

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