Может кому будет и не интересно, но вот... случайно обнаружил.
Как же хотелось чтобы документ повторно не открывался, а перемещался бы фокус на уже открытый документ...
История такая:
LN 5.x.x:
- Фокус перемещается на уже открытый док при открытии его из вида.
LN 6.x.x:
- Собственно добавился параметр newInstance... но работает с боками: при открытии документа, находящегося не в текущей БД ошибка "Invalid or nonexisting document"...
Пара сек и всё Ok!:
Sub GotoDocument(ND As NotesDocument)
'Переводит фокус в документ уже открытый на экране, если он не открыт - открывает
On Error 4412 Goto ErrH
'NUIWS - глобальная переменная
Call NUIWS.EditDocument(False, ND,,,, False)
If Err = 4412 Then On Error Goto 0
Exit Sub
ErrH:
If Not ND.IsUIDocOpen Then
'Открываем хоть как-то...
Call NUIWS.EditDocument(False, ND)
Else
'Новый вариант (Updated)... но можно при ошибке открывать всегда
Msgbox "Документ уже открыт в одном из окон рабочей области...",, "Lotus Notes..."
End If
Resume Next
End Sub
LN 7.0.x:
- Фокус перемещается на уже открытый док даже при клике на ссылку!
- newInstance (ура!) работает корректно, т.е. никакие обработчики уже не нужны!