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

Тема в разделе "Lotus - Администрирование", создана пользователем OlgaI, 22 май 2009.

Статус темы:
Закрыта.
  1. OlgaI

    OlgaI Гость

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

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    что есть "связь"? стандартная лотусевая через $REF?
    в любом случае, скорее всего кодить придется
     
  3. OlgaI

    OlgaI Гость

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

    RAJ Well-Known Member

    Регистрация:
    17 янв 2007
    Сообщения:
    440
    Симпатии:
    0
    Агент на выделенных дочерних документах.
    При запуске выбираем вьюху, а в ней главный док и нажимаем ОК

    Код (Text):
    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
     
  5. OlgaI

    OlgaI Гость

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

    Вложения:

  6. hosm

    hosm * so what *

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

Поделиться этой страницей