Одновременное Открытие И Закрытие Форм

Тема в разделе "Lotus - Программирование", создана пользователем orion, 11 фев 2014.

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

    orion Active Member

    Регистрация:
    22 окт 2013
    Сообщения:
    39
    Симпатии:
    0
    Добрый день!
    Условие: Из формы А, по нажатию кнопки, открывается создание документа типа "ответ" по форме B.
    Задача: Оставшись в режиме редактирования формы B, форму А закрыть.
    Как такое можно реализовать?
    На @-формулах решение не очевидно.
    На LS можно получить ссылку на документ родитель:

    Код (LotusScript):
    Dim ws As New NotesUIWorkspace
    Dim db As NotesDatabase
    Dim session As New NotesSession
    Dim curdoc As NotesDocument
    Dim parentdoc As NotesDocument
    Dim uidoc As NotesUIDocument

    Set uidoc = ws.CurrentDocument

    Dim tmpParentID As String
    Set curdoc = uidoc.Document
    tmpParentID$ = curdoc.ParentDocumentUNID

    Set db = session.CurrentDatabase
    Set parentdoc = db.GetDocumentByUNID(tmpParentID$)
    Но что дальше делать, тоже не совсем понятно.
     
  2. savl

    savl Lotus team
    Lotus team

    Регистрация:
    28 окт 2011
    Сообщения:
    2.052
    Симпатии:
    146
    Нужно изменить кнопку создания ответа B.
    Сохранить документ А, закрыть А, создать документ B.
     
  3. orion

    orion Active Member

    Регистрация:
    22 окт 2013
    Сообщения:
    39
    Симпатии:
    0
    Гм... Мысль! ;) Спасибо!
    Рабочий вариант:
    Код (LotusScript):
    Dim ws As New NotesUIWorkspace
    Dim curdoc As NotesUIDocument
    Dim newdoc As NotesUIDocument

    Set curdoc = ws.CurrentDocument
    Call curdoc.Save
    Call curdoc.Close

    Set newdoc = ws.ComposeDocument("", "", "frmResponse")
     
  4. orion

    orion Active Member

    Регистрация:
    22 окт 2013
    Сообщения:
    39
    Симпатии:
    0
    Вопрос попутно появился.
    А как открыть документ пользователю? Чтобы не в бэкенде, а в пользовательском интерфейсе прямо открылся нужный документ?
     
  5. savl

    savl Lotus team
    Lotus team

    Регистрация:
    28 окт 2011
    Сообщения:
    2.052
    Симпатии:
    146
    orion
    ну тут много способов:
    1. Двойной клик на документе =)
    2. Переход по ссылке из письма/документа =)
    3. получить документ (в Back) -> открыть (во front)
    Help: NotesUIWorkSpace.EditDocument
     
  6. orion

    orion Active Member

    Регистрация:
    22 окт 2013
    Сообщения:
    39
    Симпатии:
    0
    savl

    Спасибо! :)
    Работает. Вот рабочий вариант:
    Код (LotusScript):
        Dim sessionnew As New NotesSession
    Dim wsnew As New NotesUIWorkspace
    Dim docnew As NotesDocument
    Dim uidocnew As NotesUIDocument
    Dim dbnew As NotesDatabase

    Set dbnew = sessionnew.CurrentDatabase
    Set docnew = dbnew.GetDocumentByUNID(tmpParentID$)
    Set uidocnew = wsnew.EditDocument(True, docnew)
     
  7. savl

    savl Lotus team
    Lotus team

    Регистрация:
    28 окт 2011
    Сообщения:
    2.052
    Симпатии:
    146
    orion
    не совсем рабочий =)
    если tmpParentID$ не UNID, то будет ошибка :)
     
  8. orion

    orion Active Member

    Регистрация:
    22 окт 2013
    Сообщения:
    39
    Симпатии:
    0
    savl

    Да, tmpParentID$ именно UNID документа. Просто я не стал описывать кусок кода, в котором берётся этот UNID.
    :)
     
  9. afest

    afest Well-Known Member

    Регистрация:
    16 июн 2009
    Сообщения:
    78
    Симпатии:
    0
    попробуй сделать через URL-объект... у меня помогло
     
Загрузка...
Статус темы:
Закрыта.

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