функция Autoreload

  • Автор темы Gor
  • Дата начала
G

Gor

Здравствуйте!
Возникла проблема...
Необходимо менять поле в открытом документе пользователю, которому документ недоступен на редактирование uidoc.editmode = False (проверка в QueryModeChange), поэтому
пытаюсь использовать функцию AutoReload и менять поле в документе. Кнопку ограничил условием видимости данному пользователю.
Код представлен ниже... Ругается на строчке uidoc.Reload... Почему? Метод недоступен в editmode = false? Как побороть тогда ситуацию?
Код:
Sub Click(Source As Button)
Dim session As New NotesSession
Dim db As NotesDatabase
Dim docA As NotesDocument
Dim docB As NotesDocument
Dim uidoc As NotesUIDocument
Dim workspace As New NotesUIWorkspace

Set uidoc = workspace.CurrentDocument
Set db = session.CurrentDatabase

Dim doc As NotesDocument
Set doc = New NotesDocument( session.currentDatabase )
flag = workspace.DialogBox(".win3.send", True, True, False, False, False, False, "Введите класс оценки / Enter evaluation classt", doc )

If flag = False Then
Messagebox "Операция отклонена!"
Exit Sub
End If

j1 = doc.GetItemValue( "evcl" )
uidoc.AutoReload = True


Call uidoc.Document.ReplaceItemValue("CO",j1(0))
Call uidoc.Document.Save(True,True)

Call uidoc.Reload


End Sub
 
G

Gor

uidoc.close
workspace.EditDocument
Что это? =)))
Мне необходимо изменить и отрисовать uidoc без его закрытия, в текущем окне, но методами doc, чтобы не открывать EditMode, т.е. исправить одно единственное поле
 
S

Sandr

Ну так исправляйте что Вам надо на бекэнде, а после этого пеегрузите документ... Reload не работает, если документ не в этит моде, я Вам предложил способ это обойти.. закрыть докумнт и открыть измененный... Что не так?
 
G

Gor

но вель после uidoc.close документ будет закрываться и всё... workspace.EditDocument можно будет сделать только по действию какому нибудь, автоматически же он опять не откроется сразу же... либо двойным нажатием на док во вьюхе, а хотелось бы чтобы документ оставался открытым при изменении поля
 
S

Sandr

Я что-то говорил про workspace.EditMode ? Читайте вниательно...
 
G

Gor

ну тогда уж что то типа такого получается...
Код:
			Call uidoc.Document.Save(True,True)
q = uidoc.Document.UniversalID
Call uidoc.close
Dim docp As NotesDocument
Set docp = db.GetDocumentByUNID(q)
Call workspace.EditDocument(False, docp)
работает просто не очень быстро...
 
S

Sandr

Скорость - это самая большая жертва :)
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!