В списке доступа к базе данных в Lotus Notes есть отметка - создание документов. При отсутствии этой отметки пользователь не может создавать в базе документы. Все правильно и хорошо. Пока. Пока не сталкиваемся с этим на практике! По самой простой и понятной логике казалось бы должно происходить следующее: у пользователя не стоит этой галки => у него нет прав создавать документы => при попытке создания документа должно быть выдано системное сообщение о нехватке прав и должно быть отказано в создании документа.
Лотус же действует по-другому! (блядь, ну почему? Почему?!) у пользователя не стоит этой галки => у него нет прав создавать документы => при попытке создания документа ничего не сообщается. Открывается форма создания документа. Доступны для ввода поля в документе. Ошибка возникает только тогда, когда документ сохраняется!!!
Т.е. пользователь забил туеву хучу данных, все проверил, все уточнил... А ему потом хуяк - у тебя нет прав! Кто крайний? Правильно - разработчик базы : ))) И даже если в этом состоянии пользователю дать права на создание документов, то открытый и заполненный документ не сохранится. Соответственно, пользователю нужно все перезабивать заново! Кто очень сильно недоволен? Правильно - пользователь. Кто крайний? Правильно - разработчик базы : )))
Что-то я не наблюдаю в этой цепочке того пидараса из IBM, который выдумал такой алгоритм работы : )
Вот и приходится писать дополнительный код для очевидных вещей...
Sub Queryopen(Source As Notesuidocument, Mode As Integer, Isnewdoc As Variant, Continue As Variant)
If isnewdoc Then
Dim sess As New NotesSession
Dim db As NotesDatabase
Dim acl As NotesACL
Dim aclentry As NotesACLEntry
Set db = sess.CurrentDatabase
Set acl = db.ACL
Set aclentry = acl.GetEntry(sess.UserName)
If Not(aclentry.CanCreateDocuments) Then
Messagebox "Вы не можете создавать документы в этой базе данных", 16, "Не достаточно прав"
continue = False
End
End If
End If
End Sub
Подписаться на:
Комментарии к сообщению (Atom)
Комментариев нет:
Отправить комментарий