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

Статус
Закрыто для дальнейших ответов.

orion

Active member
22.10.2013
39
0
#1
Добрый день!
Условие: Из формы А, по нажатию кнопки, открывается создание документа типа "ответ" по форме B.
Задача: Оставшись в режиме редактирования формы B, форму А закрыть.
Как такое можно реализовать?
На @-формулах решение не очевидно.
На LS можно получить ссылку на документ родитель:

Код:
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$)
Но что дальше делать, тоже не совсем понятно.
 

savl

Lotus team
28.10.2011
2 131
102
#2
Нужно изменить кнопку создания ответа B.
Сохранить документ А, закрыть А, создать документ B.
 

orion

Active member
22.10.2013
39
0
#3
Нужно изменить кнопку создания ответа B.
Сохранить документ А, закрыть А, создать документ B.
Гм... Мысль! ;) Спасибо!
Рабочий вариант:
Код:
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")
 

orion

Active member
22.10.2013
39
0
#4
Вопрос попутно появился.
А как открыть документ пользователю? Чтобы не в бэкенде, а в пользовательском интерфейсе прямо открылся нужный документ?
 

savl

Lotus team
28.10.2011
2 131
102
#5
orion
ну тут много способов:
1. Двойной клик на документе =)
2. Переход по ссылке из письма/документа =)
3. получить документ (в Back) -> открыть (во front)
Help: NotesUIWorkSpace.EditDocument
 

orion

Active member
22.10.2013
39
0
#6
savl

Спасибо! :)
Работает. Вот рабочий вариант:
Код:
	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)
 

savl

Lotus team
28.10.2011
2 131
102
#7
orion
не совсем рабочий =)
если tmpParentID$ не UNID, то будет ошибка :)
 

orion

Active member
22.10.2013
39
0
#8
savl

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

afest

Well-known member
16.06.2009
78
0
#9
попробуй сделать через URL-объект... у меня помогло
 
Статус
Закрыто для дальнейших ответов.