Обновление/загрузка Документа В Соседний Фрейм

cLif

Well-known member
27.09.2010
50
4
#1
Ситуация следующая:
Есть фреймсет с 2 фреймами. В 1ый загружается основной документ, в соседний загружается форма, содержащая EmbView и респонзы основного документа.

Пробую записать в переменную окружения UNID основного документа, но вот беда: форма с респонзами открывается раньше и ее содержимое не корректное (в связи с тем, что UNID основного загружается позже).
Не могу понять как обойти проблему именно в текущей реализации (с 2мя фреймами).

В целом, общая задача, наверно, стоит так:
Есть основной документ, в котором содержится информация о дополнительных/взаимосвязанных документах (unid, filepath и пр), категориях и пр. Нужно во фреймсете открыть эти самые дополнительные документы при открытии основного документа. Как? =)
 

nvyush

Lotus team
22.04.2009
2 317
0
#2
Попробуйте сделать второй фрэйм пустым, в PostOpen формы основного документа добавить:
Код:
Call UIWorkspace.SetTargetFrame("frame2")
Call UIWorkspace.ComposeDocument("", "", "form2")
Добавлено
А разместить внедрённое представление в форме самого документа не проще ли было бы?
 

hosm

* so what *
18.05.2009
2 442
6
#3
cLif
можно попробовать где-то уже в постопене документа 1го фрейма записывать унид и рефрешить 2й фрейм путем повторного открытия формы (т.е. через SetTargetFrame + [Compose]). такое сама не пробовала

Добавлено: nvy уже всё сказал :)
 

cLif

Well-known member
27.09.2010
50
4
#5
А разместить внедрённое представление в форме самого документа не проще ли было бы?
Проще, но интересует именно такая постановка вопроса, поскольку в общем случае, это может быть не форма с EmbView, а просто другой документ (не новый)

К сожалению при WS.ComposeDocument разваливается фреймсет (даже, если у открываемой формы проставить фреймсет для открытия)
При WS.EditDocument вообще вываливается ошибка Expression out of range...причем если дебажить - нет ошибки...но при закрытии валится Лотус.

Добавлено:
Ещё не всё smile.gif. Вслед за Imike рекомендую для взаимодействия использовать очереди сообщений
http://web3.inttrust.ru/site/itforum.nsf/4...33;OpenDocument
Уф...тем не менее, спс за линк=) буду осиливать)

Обновление внедренного представления
Тут, к сожалению, проблема не в обновлении внедренного представления...а в том, что значение "не попадает" в форму при открытии...
 

VladSh

начинающий
Lotus team
11.12.2009
1 260
5
#6
А если использовать классы NotesProperty, NotesPropertyBroker?
Помню, что идея работает, но надо париться с Composite application..
И это более "честное решение", чем "очереди сообщений".
 

nvyush

Lotus team
22.04.2009
2 317
0
#7
К сожалению при WS.ComposeDocument разваливается фреймсет (даже, если у открываемой формы проставить фреймсет для открытия)
При WS.EditDocument вообще вываливается ошибка Expression out of range...причем если дебажить - нет ошибки...но при закрытии валится Лотус.
Тогда м.б. настраивать unid в представлении из которого открывается главный документ (в кнопке или QueryOpenDocument).
 

cLif

Well-known member
27.09.2010
50
4
#8
Благодарю за помощь!
Решение найдено из наиболее простых, но не самых красивых - первый раз пишем в окружение нужные значения, затем переоткрываем документ.

nvy, VladSh, спасибо за новую информацию о потоках сообщений и классах NotesProperty, NotesPropertyBroker - будет что изучить.