• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Сообщение о сохранении

  • Автор темы motogarri
  • Дата начала
M

motogarri

SaveOptions = "1" - спрашивает при закрытии. Работает так, как если бы поля не было вовсе.
Вот в том и дело все. Уверен был, что если =1 то сохраняет и не спрашивает. Делал так, а у меня постоянно запрос вылазит.
В общем разобрался. Спасибо, что до конца все абсасали.

εὕρηκα
 
N

nvyush

nvy сказал(а):
...
SaveOptions = "1" — при закрытии документа сохранять, не спрашивая.
...

SaveOptions = "1" - спрашивает при закрытии. Работает так, как если бы поля не было вовсе.
Нашёл, откуда я взял такое поведение SaveOptions = "1": link removed
Проверил ещё раз. Вставляем на форму кнопку с кодом:
Код:
Sub Click(Source As Button) '1
Dim ws As New NotesUIWorkspace '2
Dim uidoc As NotesUIDocument '3
Set uidoc = ws.CurrentDocument '4
Call uidoc.Document.ReplaceItemValue("SaveOptions", "1") '5
Call uidoc.Refresh(True) '6
uidoc.Close '7
End Sub '8
Открываем новый документ по данной форме, жмём кнопку — вуаля, в базе сохранился документ и никаких запросов. Стоит закомментировать строку 5 или 6 — запрос выводится, а документ сохраняется только при нажатии "Да".
 
A

Akupaka

nvy
Хочешь я расскажу тебе страаашную тайну о том, как маленький метод uidoc.Refresh(True) сохраняет документ? ))
Причем, SaveOptions тут роли не играет. Я вот не помню, кажется должно быть RT-поле на форме еще.
Могу и ошибаться, т.к. на глюк этот наталкивался, но особо не плясал вокруг него.
 
N

nvyush

nvy
Хочешь я расскажу тебе страаашную тайну о том, как маленький метод uidoc.Refresh(True) сохраняет документ? ))
Причем, SaveOptions тут роли не играет. Я вот не помню, кажется должно быть RT-поле на форме еще.
Могу и ошибаться, т.к. на глюк этот наталкивался, но особо не плясал вокруг него.
Мои эксперименты говорят об обратном. uidoc.Refresh(True) сохраняет документ без запроса при наличии поля SaveOptions = "1" даже при отсутствии РТ-поля и даже (о ужас!) при Continue = False в Querysave. Стоит убрать SaveOptions и сохранения документа при uidoc.Refresh(True) не происходит.
<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">Кому интересно, можно провести несложный опыт</div></div><div class="sp-body"><div class="sp-content">Создаём форму, на ней текстовые вычисляемые поля Form и SaveOptions="1".
Добавляем обработку события:
Код:
Sub Querysave(Source As Notesuidocument, Continue As Variant)
Continue = False
End Sub
Добавляем кнопку с кодом:
Код:
Sub Click(Source As Button)
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Set uidoc = ws.CurrentDocument
Call uidoc.Refresh(True)
uidoc.Save
End Sub
Открываем форму, жмём кнопку, получаем сообщение "Сохранение отменено" и видим в базе сохранённый документ.
Убираем SaveOptions, открываем форму, жмём кнопку, получаем сообщение "Сохранение отменено" и документа в базе не видим.
Так что утверждение "SaveOptions тут роли не играет" не соответствует действительности.
 
A

Akupaka

Так что утверждение "SaveOptions тут роли не играет" не соответствует действительности.
Согласен :)
Думаю, когда я с этим игрался, то я просто не обратил внимание было ли поле SaveOptions - форма была не тестовая, а огромная.
Даа... Хитрое поле :)
 
Мы в соцсетях:

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