R
rtyu
Есть БД db1 в Лотусе. Есть форма form1. В форме 2 поля: field1, field2. Поля должны быть обязательно заполнены, чтобы потом корректно формировались отчеты. Поэтому на событие QuerySave добавлена проверка, что field1 и field2 заполнены. Если не заполнены - ошибка и документ не сохраняется.
Есть пользователь user1 с правами создавать документы в db1. У даного пользователя на локальном компьютере стоит Lotus Notes + Designer. Там же он создал базу db2, которая програмно создает документы в db1. Он делает примерно следующее:
Dim workspace As New Notesuiworkspace
Dim session As New NotesSession
Dim db1 As NotesDatabase
Dim doc As notesdocument
Set db1 = session.Getdatabase("Server", "Path", false)
Set doc = db1.CreateDocument
doc.Form = "form_1"
doc.field_1 = "value_1"
Call workspace.Editdocument(true, doc)
// или возможно
// Call doc.Save( True, True )
После такого кода проверка QuerySave не срабатывает и в db1 пишутся документы с вообще отсутствующим полем field_2. Как можно запретить user1 програмно создавать документы? Или как можно отловить событие перед тем, как документ програмно сохраняется, чтобы провалидировать?
Есть пользователь user1 с правами создавать документы в db1. У даного пользователя на локальном компьютере стоит Lotus Notes + Designer. Там же он создал базу db2, которая програмно создает документы в db1. Он делает примерно следующее:
Dim workspace As New Notesuiworkspace
Dim session As New NotesSession
Dim db1 As NotesDatabase
Dim doc As notesdocument
Set db1 = session.Getdatabase("Server", "Path", false)
Set doc = db1.CreateDocument
doc.Form = "form_1"
doc.field_1 = "value_1"
Call workspace.Editdocument(true, doc)
// или возможно
// Call doc.Save( True, True )
После такого кода проверка QuerySave не срабатывает и в db1 пишутся документы с вообще отсутствующим полем field_2. Как можно запретить user1 програмно создавать документы? Или как можно отловить событие перед тем, как документ програмно сохраняется, чтобы провалидировать?