Открыть документ по другой форме...

Murtas

Well-Known Member
Lotus team
11.04.2006
128
0
Minsk
#1
Собственно сабж.

Может кто-нибудь знает способ открытия документа по указанной форме, кроме открытия через EditDocument в событиях открытия документа? ... может чего полегче есть ...

Документ отрывается по линку.
 
I

interrupt

Гость
#2
может чего полегче есть ...
А в чем тут трудность?
Если документ открывается по линку , то вроде других способов нет.
На QueryOpen стандартной формы делаешь
EditDocument по нужной форме
Continue = false и Exit sub.
 
I

interrupt

Гость
#4
Constantin A Chervonenko , а при чем тут формула формы вьюхи?
Я так понял он документ открывает не из вида, а по линку (ссылка на документ например из письма)
 

Murtas

Well-Known Member
Lotus team
11.04.2006
128
0
Minsk
#5
вот собственное исследование привело к использованию - @Command( [ViewSwitchForm]; "NewForm" ) в пост опен формы
 

Constantin A Chervonenko

Well-Known Member
Lotus team
#6
а при чем тут формула формы вьюхи? .. документ открывает не из вида, а по линку (ссылка на документ например из письма)
Если УНИМАТЕЛЬНО посмотреть свойства линка, то там можно различить 3 компоненты:
ссылка на базу (ReplicaID)
ссылка на вьюху - UNID
ссылка на документ (опять-же UNID)
(Что интересно, сервера там может и не быть)

Вот и объясните обчеству, на кой там вьюха?
 
I

interrupt

Гость
#7
Constantin A Chervonenko , не знал, спасибо!
Но все равно такой вариант прокатит, когда линк формируется вручную (Copy document as link) или программно через
.AppendDocLink(), но часто линки делают в виде гиперссылок типа таких:
Код:
urlNotes$ = "notes://" + Server_Notes_Name.common + "/" + doc.ParentDatabase.replicaid + "/0/" + doc.Universalid
здесь открытие происходит без участия вида, и указание в представлении формулы формы не приведет к результату. Документ откроется через форму, указанную в поле form.

Вот и объясните обчеству, на кой там вьюха?
Теперь понятно, что используются некоторые свойства представления, но не знаю какие еще кроме формулы формы, придется вам помочь объяснить :)
В хелпе написано "If the doclink does not target a view, this property is 32 zeros."
но я проверил, если дефолтного вида нет, а документ больше ни в каком виде не открывается, то линк вообще не создается, вылетает ошибка:
---------------------------
IBM Lotus Notes
---------------------------
Couldn't get default View id for database (testdb.ntf)
---------------------------
ОК
---------------------------
 

Constantin A Chervonenko

Well-Known Member
Lotus team
#8
Теперь понятно, что используются некоторые свойства представления, но не знаю какие еще кроме формулы формы
IMHO - никакие (кроме).
В вашем "ручном" примерчике UNID вьюхи тоже присутствует (в виде ../0/..)
 

VladSh

начинающий
Lotus team
11.12.2009
1 248
2
Киев (Русь)
#9
EditDocument можно делать не в событиях открытия документа, а в том месте, где нужно открытие.
Но перед этим:
Код:
ND.ReplaceItemValue("Form", "OtherForm").SaveToDisk = False
@Command( [ViewSwitchForm]; "NewForm" ) в пост опен формы
хорошо, но:
во-1 документ уже открыт по старой форме, а это время;
во-2 - дёргания при закрытии и открытии другой формы;
в-3 - меньшая гибкость - форумулу труднее написать бывает, чтобы иногда открывал в другой форме, а иногда нет; если же всегда открывать по другой форме, то... спрашивается, зачем? Может тогда просто перепрописать в доке поле Form и сохранить док..

EditDocument и ручное прописывание Form мне кажется лучшим вариантом.
P.S. Если пользователю нужно показать лишь часть данных документа, то иногда подходит просто выдавать док в диалоге по нужной форме.