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

iosif88

Well-Known Member
14.10.2009
97
1
#1
Как сделать так чтобы при нажатии на крестик Lotus не выводил диалог сохранения, даже если в документе есть изменения? Документ должен сохраняться лишь программно если послан на утверждение т.е. лишь в том случае если нажата кнопка Submit . А в остальных случаях документ должен просто без вопросов закрываться без сохранения.
 

iosif88

Well-Known Member
14.10.2009
97
1
#4
Возник еще один вопрос.

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

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


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

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

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

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

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

TIA

:-)
Lotus team
15.05.2009
790
1
#5
answer - целое, а не строка. Соответственно проверять надо так.
If answer = 6 Then
И еще как проверить изменился ли документ? Чтобы если док не изменялся не спрашивать подтверждения?
Недокументированный метод NotesUIDocument.ModifiedSinceSaved
 

iosif88

Well-Known Member
14.10.2009
97
1
#6
answer - целое, а не строка. Соответственно проверять надо так.
If answer = 6 Then

Недокументированный метод NotesUIDocument.ModifiedSinceSaved
Думаю дело не в этом
Проблема в том что неправильно срабатываетс только при нажатии на крестик. А при нажатии на кнопку "Закрыть" ( внутри формула @Command([FileCloseWindow]) работает правильно)
 

TIA

:-)
Lotus team
15.05.2009
790
1
#7
Думаю дело не в этом
Проблема в том что неправильно срабатываетс только при нажатии на крестик. А при нажатии на кнопку "Закрыть" ( внутри формула @Command([FileCloseWindow]) работает правильно)
Дело конечно же не в синтаксической ошибке. Я и не пытался объяснить описанный Вами эффект.
Но вот сейчас попробовал и выяснил, что описываемый вами эффект из-за наличия SaveOptions. Если его убрать (ну или не делать со значением "00", "0") эффект уходит. Это новый глюк Нотеса 8. В 7.0.2 не воспроизводится.

ModifiedSinceSaved помог?
 

iosif88

Well-Known Member
14.10.2009
97
1
#8
Дело конечно же не в синтаксической ошибке. Я и не пытался объяснить описанный Вами эффект.
Но вот сейчас попробовал и выяснил, что описываемый вами эффект из-за наличия SaveOptions. Если его убрать (ну или не делать со значением "00", "0") эффект уходит. Это новый глюк Нотеса 8. В 7.0.2 не воспроизводится.

ModifiedSinceSaved помог?
Да, помог. В Queryclose прописал следующий код:

Код:
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. Кстати почему синтаксически неверное (взято из книги Марка Эллиотта :) ) выражение
Код:
If answer = "6" Then
работает ?