Форум программистов, компьютерный форум, киберфорум
HCL Notes: Программирование
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/92: Рейтинг темы: голосов - 92, средняя оценка - 4.85
0 / 0 / 0
Регистрация: 28.04.2006
Сообщений: 225

Отмена сохранения формы

10.08.2006, 17:39. Показов 16844. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть у меня форма. При сохранении онной пользователю выдается диалог (NotesUIWorkspace.DialogBox), который пользователь должен заполнить (так я веду историю изменений документа). При этом я хочу сделать так, чтобы при нажатии "Отмена" в этом диалоге документ не сохранялся, оставаясь открытым в режиме редактирования.
Сохранение у меня могут выполнять два actionа:
Сохранить и закрыть:

Code
1
2
3
4
5
6
7
8
9
@If(
@IsValid;
@Do(
@Command([FileSave]);
@Command([FileCloseWindow])
);
 
""
)
и Сохранить:

Code
1
2
3
4
5
6
7
8
9
@If(
@IsValid;
@Do(
@Command([FileSave]);
@Command([EditDocument]; "0")
);
 
""
)
На Querysave формы пишу код такого рода:

Code
1
2
3
4
5
6
7
8
9
10
11
12
Dim doc As NotesDocument
Dim db As NotesDatabase
...
If (юзер сделал то, что надо отразить в истории) Then
Set doc = New NotesDocument(db)
If workspace.DialogBox(..., doc) Then
...
Call doc.Save(True, True)
Else
Continue = False
End If
End If
Проблема заключается в том, что если юзер жмет "Отмену" на диалоге, то, если выполняется Сохранить и закрыть, все равно выдается сообщение, не желаю ли я, мол, сохранить документ. При выполнении Сохранить Notes и вовсе торжественно зависает.
Подскажите, плз, что же я делаю не так?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.08.2006, 17:39
Ответы с готовыми решениями:

Запрет сохранения документа при открытии формы
Как сделать так, чтобы при открытии формы устанавливалось поле, которое запрещает сохранение документа. При попытках сделать через формулы...

Отмена закрытия формы при отмене сохранения книги
Подскажите форма при закрытии которой она прячет пару листов и предложит сохранить данные, но если при сохранении нажать отмену, то формы...

Отмена сохранения записи
Подскажите, как отменить сохранение записи? Т.е. допустим выбираем "Записи - Добавить новую", и после нажатия...

5
0 / 0 / 0
Регистрация: 27.03.2006
Сообщений: 122
10.08.2006, 19:12
не знаю про насчет зависает ... но тут сразу бросается в глаза то, что ты можешь не дать сохранить документ в Querysave ... а в кнопке Save and Close после неудачного сохранения пытаешся закрыть. Вот оно и спрашивает хочешь ли ты сохранить ... по сути нужно нужно запретить и закрытие если чего-то не сделано. Поэтому в твоем случае, видно, лучше разделить кнопки Сохранить и Закрыть.
0
Заблокирован
11.08.2006, 08:55
Можно сделать обработку с применением SaveOptions =0
0
0 / 0 / 0
Регистрация: 28.04.2006
Сообщений: 225
11.08.2006, 12:54
Цитата Сообщение от Murtas
но тут сразу бросается в глаза то, что ты можешь не дать сохранить документ в Querysave ... а в кнопке Save and Close после неудачного сохранения пытаешся закрыть. Вот оно и спрашивает хочешь ли ты сохранить ... по сути нужно нужно запретить и закрытие если чего-то не сделано.
Почему не могу не дать сохранить в QuerySave? Он вроде для того и нужен. Кстати, на QueryClose стоит похожий обработчик (диалогов не показывает, а просто проверяет, что все правильно.. если что - Continue = False). Так что по идее он не должен закрываться в принципе.
0
0 / 0 / 0
Регистрация: 27.03.2006
Сообщений: 122
28.08.2006, 12:59
... выполняется <!--QuoteBegin-LuMee+11:08:2006, 15:26 -->
<span class="vbquote">(LuMee @ 11:08:2006, 15:26 )</span><!--QuoteEBegin-->@Command([FileSave]);
@Command([FileCloseWindow])
[snapback]42121" rel="nofollow" target="_blank[/snapback]?[/quote]

и если команда @Command([FileSave]); не сохранила документ, а @Command([FileCloseWindow]) выполняется всегда, то показывается диалог.
0
0 / 0 / 0
Регистрация: 12.05.2006
Сообщений: 329
28.08.2006, 15:25
Для Lumee:
Лучший вариант кнопки "Сохранить и закрыть" придумала компания Lotus, когда еще не вошла в IBM:

Code
1
@If(@Command([FileSave]); @Command([FileCloseWindow]); @Success)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.08.2006, 15:25
Помогаю со студенческими работами здесь

Отмена закрытия формы
Можно ли как либо в коде формы обработать и отменить событие Form_Close()? Например нажатие на крестик в левом верхнем углу?

Отмена повторной отправки формы
Добрый день! У меня такая казалось бы тривиальная задача но никак не могу сообразить как сделать. У меня есть форма обычная постовская с...

Отмена отправки формы на сервер
Добрый вечер всем. Есть задача отправить AJAX'ом файл на сервер и обработать его php скриптом. Дело в том, что это должно происходить по...

Отмена отправки пустой формы в БД
Есть php код ,находящийся в index.html, который заносит данные в таблицу бд. &lt;?php if (isset($_POST)) { $name = $_POST; } ...

Отмена или обработка закрытия формы
извините если повторяюсь, но не могу разобраться с условными конструкциями к кнопкам messageBox хочу сделать предупреждение перед...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru