Закрыть форму без запроса на сохранение

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

  1. 777DEN777

    777DEN777 Гость

    Есть форма которая служит для ввода параметров по котором формируется отчет, например пользователь указывает период.
    Соответственно, если поля отредактированы при закрытии формы выходит сообщении о сохранении документа ("Do you want to save this new document?"), как игнорировать это сообщение и закрыть форму без изменений.

    Хотелось так же услышать мнение: верно использовать данный метод для указания параметров при формировании отчета?
     
  2. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Ну цеж бойан
    Поле "SaveOptions" со значением "0" и ничего спрашиватся не будет.
     
  3. 777DEN777

    777DEN777 Гость

    а где его прописать, в каком событии формы?
    правописание
    SaveOptions=0?
     
  4. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Из хелпа: поле SaveOptions; "0" - запрос на сохранение не выдаётся, документ не сохраняется (даже принудительно), "1" - документ сохраняется без запроса.
    От ВЕЛИКИХ ГУРУ - если SaveOptions не "0" и не "1", а, например, "00" - запрос на сохранение не выдаётся, документ можно сохранить.
    Лучше SaveOptions делать CFD.


    На форме нарисовать :)
     
  5. 777DEN777

    777DEN777 Гость

    (Options)?
     
  6. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    777DEN777
    Тупо сделай CFD поле
     
  7. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    В самом верху собственно формы добавляем пустую строку, на неё добавляем поле, именуем SaveOptions, тип - техт, computed for display (CFD), на предпоследней вкладке свойств ставим флажки скрытия во всех клиентах, чтоб глаза не мозолило.
     
  8. 777DEN777

    777DEN777 Гость

    ;)
    я конечно извиняюсь, в Lotus я новичок...



    разобрался...
     
  9. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.047
    Симпатии:
    18
    777DEN777
    а чем для ввода параметров вас диалогбокс не устроил?
     
  10. 777DEN777

    777DEN777 Гость

    спасибо, буду знать ;)

    ...работает

    честно говоря не в курсе... ;)

    можно подробней?
     
  11. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Ищем в хелпе класс NotesUIWorkspace, метод Dialogbox.
    Если на собаках - ищем функцию @Dialogbox
     
  12. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.047
    Симпатии:
    18
    удобсво диалогбокса как раз в том что это окно над окном, и его размеры как и его все кнопки - настраиваемы
     
  13. 777DEN777

    777DEN777 Гость

    Не пойму как его открыть, в хелпе нашел пример
    Код (Text):
    Sub Click(Source As Button)
    Dim workspace As New NotesUIWorkspace
    Call workspace.DialogBox _
    ( "policy", True, True, True, True, _
    False, False, "Policy" )
    End Sub
    выходит ошибка "DialogBox cannot be used in this context; a document must be selected"
     
  14. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.047
    Симпатии:
    18
    777DEN777
    используете форму "policy" которая у вас судя по всему лишь для респонсов

    Код (Text):
    Syntax
    flag = notesUIWorkspace.DialogBox( form$ , [autoHorzFit] , [autoVertFit] , [noCancel] , [noNewFields] , [noFieldUpdate] , [readOnly] , [title$] , [notesDocument] , [sizeToTable] , [noOkCancel] , [okCancelAtBottom] )

    3.  This script brings up a dialog box with the category and subject of the first document in the "By Category" view.
    Sub Click(Source As Button)
    Dim db As NotesDatabase
    Dim s As New NotesSession
    Dim workspace As New NotesUIWorkspace
    Dim view As NotesView
    Dim doc As NotesDocument
    Set db = s.CurrentDatabase
    Set view = db.GetView( "By Category" )
    Set doc = view.GetFirstDocument
    Call workspace.DialogBox _
    ("Dialog Box", True, True, False, False, False, _
    False, "Dialog Box", doc)
    Call doc.save (True, False)
    End Sub
     
  15. Lina

    Lina Гость

    В продолжение темы... почему у меня, при том, что в Dialogbox-форме поля те же, что и в доке, по которому она вызвана, непосредственно ПОСЛЕ диалога значения в доке не меняются? (А после переоткрытия новые, как ни в чем не бывало)...
    Код (Text):
        Dim wfdocGlobal As NotesDocument
    Dim col As NotesDocumentCollection
    Set col = db.unprocessedDocuments
    Set wfdocGlobal = col.GetFirstDocument
    If UIWrkSpc.DialogBox("DateTimeForAction", True, True, False, False,False, False,"Определите дату, время и участников встречи с кандидатом") Then
    If (Cstr(WFDocGlobal.MeetDate(0))="" Or Cstr(WFDocGlobal.MeetTimeB(0))="" Or Cstr(WFDocGlobal.MeetParticipants(0))="") Then
    (вот сюда ВСЕГДА заходит, хотя все поля потом оказываются вполне заполненными...) (((
    WFID_ErrorName = {Не заполнено одно из полей (дата, время, участники). Переход не будет выполнен}
    WFID_ErrorCode = 1
    Exit Sub

    End If
    End If
    Что я делаю не так??? Суть на самом деле в проверке заполненности полей после диалога, при этом диалог ОБЯЗАТЕЛЬНО должен быть по доку, потому что в одном из полей - MV по другим полям, по-другому их я не добуду, КАК?
     
  16. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    Может, добавить параметр документа в вызов UIWrkSpc.DialogBox?
    или где-то рефреш (RefreshParentNote) из диалога не вызывается?
     
  17. Lina

    Lina Гость

    Это где-то в событии формы прописывать? (RefreshParentNote) Обязательно?
     
  18. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    если кастомизированная кнопка ОК - обязательно.

    Добавлено: у вас вроде стандартная, должно само обновлять... попробуйте WFDocGlobal добавить в диалогбокс.
     
Загрузка...
Похожие Темы - Закрыть форму без
  1. bobo
    Ответов:
    0
    Просмотров:
    2.300
  2. swyatogor
    Ответов:
    40
    Просмотров:
    1.877
  3. Надя
    Ответов:
    3
    Просмотров:
    1.550
  4. Shouldercannon
    Ответов:
    3
    Просмотров:
    3.901
  5. deeeman
    Ответов:
    5
    Просмотров:
    2.531

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