Если открываешь документ не в диалоге, то весь код выполняется до конца, даже если документ уже открыт на экране.
Это общеизвестно) Но On Event всё-таки работает по открытому доку, просто Call nuiwsView.ViewRefresh выполняется не в контексте документа с внедрённым видом, а в контексте созданного документа.
попробуй 2 раза вызывать подряд на сохранении или закрытии : Call nuiwsView.ViewRefresh
Это работает только при закрытии создаваемого документа из обычного вида, не внедрённого. Чтобы док отображался во внедрённом надо кроме вида (Call nuiwsView.ViewRefresh) ещё и рефрешить документ - в виде-то док появляется, - я кнопку добавил, которая показывает количество энтрисов до и после создания-сохранения-закрытия, и док реально в виде добавляется, но не отображается в во внедрённом виде, т.к. именно документ надо обновлять. Для ситуации EditMode всё работает, вот
<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">скрипт</div></div><div class="sp-body"><div class="sp-content">
Код:
Sub Initialize
Set view_nuiws = New NotesUIWorkspace
Set view_nuiv = view_nuiws.CurrentView
Set view_nuid = view_nuiws.CurrentDocument
End Sub
Sub Queryclose(Source As Notesuidocument, Continue As Variant)
If Not view_nuiv Is Nothing Then
Call view_nuiv.View.Refresh()
End If
Call view_nuiws.ViewRefresh()
If Not view_nuid Is Nothing Then
If view_nuid.EditMode Then
Call view_nuid.Refresh() 'здесь работает, но только если не перевести основной в ReadMode с помощью Ctrl+E
Else
'здесь пробовал так
view_nuid.Document.ReplaceItemValue("$DOCUMENTUPDATE", 1).savetodisk = 0
Call view_nuid.Close()
'а на QC основного проверяю и вычищаю этот item, но при вычищении - проблема изменения документа - начинает спрашивать, сохранить или нет, т.е. этот вариант отпадает...
End If
End If
End Sub
Может стоит переработать именно с переоткрытием? при создании данного документа - закрывать основной, затем при закрытии нового - открывать.
В основном есть несколько внедрённых вьюх, из каждой может создаваться свой документ, если переоткрыть, то другие документы, созданные из основного, при закрытии не переоткроют основной, т.к. при первом переоткрытии во всех вспомогательных разрушится первоначальный UI-контекст основного документа.
Идеальным вариантом было бы как-то после закрытия любого документа выполнять код в основном, допустим эмулировать нажатия кнопки с Call nuiws.ViewRefresh(), но как это сделать пока непонятно.