• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

функция 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
 
uidoc.close
workspace.EditDocument
Что это? =)))
Мне необходимо изменить и отрисовать uidoc без его закрытия, в текущем окне, но методами doc, чтобы не открывать EditMode, т.е. исправить одно единственное поле
 
Ну так исправляйте что Вам надо на бекэнде, а после этого пеегрузите документ... Reload не работает, если документ не в этит моде, я Вам предложил способ это обойти.. закрыть докумнт и открыть измененный... Что не так?
 
но вель после uidoc.close документ будет закрываться и всё... workspace.EditDocument можно будет сделать только по действию какому нибудь, автоматически же он опять не откроется сразу же... либо двойным нажатием на док во вьюхе, а хотелось бы чтобы документ оставался открытым при изменении поля
 
Я что-то говорил про workspace.EditMode ? Читайте вниательно...
 
ну тогда уж что то типа такого получается...
Код:
			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)
работает просто не очень быстро...
 
Скорость - это самая большая жертва :)
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab