Как убрать диалог сохранения документа?

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

  1. iosif88

    iosif88 Well-Known Member

    Регистрация:
    14 окт 2009
    Сообщения:
    97
    Симпатии:
    0
    Как сделать так чтобы при нажатии на крестик Lotus не выводил диалог сохранения, даже если в документе есть изменения? Документ должен сохраняться лишь программно если послан на утверждение т.е. лишь в том случае если нажата кнопка Submit . А в остальных случаях документ должен просто без вопросов закрываться без сохранения.
     
  2. TIA

    TIA :-)
    Lotus team

    Регистрация:
    15 май 2009
    Сообщения:
    790
    Симпатии:
    0
    Поищи на форуме про поле SaveOptions.
     
  3. iosif88

    iosif88 Well-Known Member

    Регистрация:
    14 окт 2009
    Сообщения:
    97
    Симпатии:
    0
    Спасибо нашел.

    Нужно было создать на форме текстовое поле с именем SaveOptions, Computed for display. А значение прописать "00".
     
  4. iosif88

    iosif88 Well-Known Member

    Регистрация:
    14 окт 2009
    Сообщения:
    97
    Симпатии:
    0
    Возник еще один вопрос.

    На закрытие все же нужно спрашивать подтверждение если документ изменен (просто подтверждение закрытитя, без сохранение)

    Я в Queryclose прописал следующее:


    Код (Text):
    answer = Msgbox ("Do you want to close?", 4, "Continue?")  

    If answer = "6" Then
    Continue=True
    Else
    Continue=False
    End If
    На форма есть созданная мною кнопка "Close" в которой дается команда @Command([FileCloseWindow]).

    Так вот когда нажимаю на кнопку все нормально. Выходит диалог и только после подтверждения закрывается.

    А если просто нажать на крестик то глюк : форма сначала закроется а потом выйдет диалог на подтверждение.. И если нажать на "No" заново откроется форма но уже полностью пустая (вообще без полей белая форма). Что не так?

    И еще как проверить изменился ли документ? Чтобы если док не изменялся не спрашивать подтверждения?
     
  5. TIA

    TIA :-)
    Lotus team

    Регистрация:
    15 май 2009
    Сообщения:
    790
    Симпатии:
    0
    answer - целое, а не строка. Соответственно проверять надо так.
    If answer = 6 Then
    Недокументированный метод NotesUIDocument.ModifiedSinceSaved
     
  6. iosif88

    iosif88 Well-Known Member

    Регистрация:
    14 окт 2009
    Сообщения:
    97
    Симпатии:
    0
    Думаю дело не в этом
    Проблема в том что неправильно срабатываетс только при нажатии на крестик. А при нажатии на кнопку "Закрыть" ( внутри формула @Command([FileCloseWindow]) работает правильно)
     
  7. TIA

    TIA :-)
    Lotus team

    Регистрация:
    15 май 2009
    Сообщения:
    790
    Симпатии:
    0
    Дело конечно же не в синтаксической ошибке. Я и не пытался объяснить описанный Вами эффект.
    Но вот сейчас попробовал и выяснил, что описываемый вами эффект из-за наличия SaveOptions. Если его убрать (ну или не делать со значением "00", "0") эффект уходит. Это новый глюк Нотеса 8. В 7.0.2 не воспроизводится.

    ModifiedSinceSaved помог?
     
  8. iosif88

    iosif88 Well-Known Member

    Регистрация:
    14 окт 2009
    Сообщения:
    97
    Симпатии:
    0
    Да, помог. В Queryclose прописал следующий код:

    Код (Text):
    Sub Queryclose(Source As Notesuidocument, Continue As Variant)
    Dim w As New NotesUIWorkspace    
    Dim uidoc As NotesUIDocument   
    Set uidoc = w.CurrentDocument  

    Dim answer As Integer
    If uidoc.ModifiedSinceSaved Then
    answer = Msgbox ("Do you want to close?", 4, "Continue?")  

    If answer = "6" Then
    Continue=True
    Else
    Continue=False
    End If
    End If 
    End Sub
    А поле SaveOptions необходимо оставить пустым "" (удалять само поле нельзя иначе выходит диалог на сохранение)
    Теперь работает как надо.

    Еще раз спасибо.

    P.S. Кстати почему синтаксически неверное (взято из книги Марка Эллиотта :) ) выражение
    Код (Text):
    If answer = "6" Then
    работает ?
     
  9. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Это неявное приведение типов. В хелпе можно почитать. :)
     
Загрузка...

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