ОБСУЖДЕНИЕ

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

5 ответов 4,4 тыс.
AI-выжимка обсуждения скоро
Статус
Закрыто для дальнейших ответов.
Существовали два связанных между собой документа (исх. ответ со вх. запросом). Один из документов (исх. ответ) был скопирован на локальную БД, соответственно связь у него потерялась (не то чтоб потерялась, просто ссылка идет уже на совершенно другой вх. документ, находящийся также на локальной БД). Теперь я попыталась вернуть этот документ обратно в основную БД, также путем копирования, но связь с нужным вх. документом не восстановилась.
Возможно, ли восстановить утерянную связь?
Заранее спасибо.
 
что есть "связь"? стандартная лотусевая через $REF?
в любом случае, скорее всего кодить придется
 
да именно $REF.
А как это сделать, подскажите.
 
Агент на выделенных дочерних документах.
При запуске выбираем вьюху, а в ней главный док и нажимаем ОК

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

Статистика тем

Создано
OlgaI,
Последний ответ от
hosm,
Ответы
5
Просмотры
4 448