функция Autoreload

Тема в разделе "Lotus - Программирование", создана пользователем Gor, 19 ноя 2007.

  1. Gor

    Gor Well-Known Member

    Регистрация:
    7 июн 2005
    Сообщения:
    517
    Симпатии:
    2
    Здравствуйте!
    Возникла проблема...
    Необходимо менять поле в открытом документе пользователю, которому документ недоступен на редактирование uidoc.editmode = False (проверка в QueryModeChange), поэтому
    пытаюсь использовать функцию AutoReload и менять поле в документе. Кнопку ограничил условием видимости данному пользователю.
    Код представлен ниже... Ругается на строчке uidoc.Reload... Почему? Метод недоступен в editmode = false? Как побороть тогда ситуацию?
    Код (Text):
    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
     
  2. Sandr

    Sandr Гость

    uidoc.close
    workspace.EditDocument
     
  3. Gor

    Gor Well-Known Member

    Регистрация:
    7 июн 2005
    Сообщения:
    517
    Симпатии:
    2
    Что это? =)))
    Мне необходимо изменить и отрисовать uidoc без его закрытия, в текущем окне, но методами doc, чтобы не открывать EditMode, т.е. исправить одно единственное поле
     
  4. Sandr

    Sandr Гость

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

    Gor Well-Known Member

    Регистрация:
    7 июн 2005
    Сообщения:
    517
    Симпатии:
    2
    но вель после uidoc.close документ будет закрываться и всё... workspace.EditDocument можно будет сделать только по действию какому нибудь, автоматически же он опять не откроется сразу же... либо двойным нажатием на док во вьюхе, а хотелось бы чтобы документ оставался открытым при изменении поля
     
  6. Sandr

    Sandr Гость

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

    Gor Well-Known Member

    Регистрация:
    7 июн 2005
    Сообщения:
    517
    Симпатии:
    2
    ну тогда уж что то типа такого получается...
    Код (Text):
                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)
    работает просто не очень быстро...
     
  8. Sandr

    Sandr Гость

    Скорость - это самая большая жертва :)
     
Загрузка...

Поделиться этой страницей