Ошибка При Открытии Документа

edmal

New member
11.07.2014
2
0
#1
Следующая проблема:

У меня клиент 8.5.3

Имеется база с фреймами. Во фрейме существует страница. На страницу повешена кнопка. Кнопкой скриптами создается документ в другой базе. Далее присваиваю полям значения и открываю документ помощью Call ws.EditDocument(true,doc).

Чудеса следующие:
При первом открытии клиента открываю эту базу, нажимаю кнопку - документ не открывается. Пишит ошибку: Unable to find Document Windows на строке Call ws.EditDocument(true, doc).
Закрываю клиента. Захожу заново. Нажимаю кнопку. Все работает. Документ открывается на редактирование по форме.
У меня в базе также есть возможность переключить на другую комбинацию фреймов. Так вот той же кнопкой в другом фрейм-сете вместо открытия документа открывается та база где я создавал скриптами этот самый документ.

Надеюсь понятны мои проблемы.
 

savl

Lotus team
28.10.2011
2 136
105
#2
Хм.. если надо открыть новый док во фрейме, то можно попробовать так:
Код:
dim uidoc as notesuiDocument
call ws.SettargetFarame("<имя фрейма>")
set uidoc = ws.EditDocument(true, doc, , ,True)
Возможно doc надо предварительно сохранить и только потом открывать через EditDocument
 

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 231
18
#3
откажись от всех глобальный переменный, всё инициализируй только в кнопке
 

edmal

New member
11.07.2014
2
0
#4
парадокс в том что все работает в какой-то момент. да и чему тут не работать

Set doc=db.CreateDocument
doc.form="name_form"
doc.field1="value1"
call ws.EditDocument(true,doc)

Никаких глобальных переменных

Добавлено: А что означают ошибки:

User-defined error
Unable to find document window

Они вылетают в этой ситуации

Может это глюк лотуса? Перекомпилировал все скрипты
 

savl

Lotus team
28.10.2011
2 136
105
#5
"User-defined error" - что-то с фреймом

если перед call ws.EditDocument(true,doc) сделать call ws.SettargetFrame("Blank")
То документ откроет в новой вкладке.