VitRom
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Странно, что предъявляются такие требования к человеку, которому в руки даётся админ-клиент(!!!)... Какой накроется функционал -- первое, но далеко не единственное(!), что приходит на ум -- делегирование, потом шедулер, правила... Короче, посмотри сам всю базу, все скрипты -- там много интересного, хотя и кое-где замудрено немного. Есть работающий вариант -- ПОСЛЕ заведения юзера давать (или нет) ему "роль". НО для этого нужно доработать шаблон. Ниже кусок из рабочей базы (коряво, но работает) В "Other" / "Database Script" пропиши QueryDocumentDelete Код: Use "Del" ' ссылка на либу, кот. описана ниже Sub Querydocumentdelete(Source As Notesuidatabase, Continue As Variant) Call Change ' вызов из либы Del If D = 1 Then ' флажок "denied" ? Continue = False ' тогда резкий облом End If End Sub | В "Ресурсах" / "Script Libraries" сделай либу "Del" Код: Option Public Dim D As Integer Dim P As Integer ' не помню, нафига оно тут Sub Change Dim s As New NotesSession Dim workspace As New NotesUIWorkspace Dim db As NotesDatabase Dim acl As NotesACL Dim e As String Dim entry As NotesACLEntry Dim c As Variant Set db = s.CurrentDatabase e = s.UserName ' Достаем имя пользователя Set acl = db.ACL ' Достаем список ролей Set entry = acl.GetEntry(e) D = 0 If entry Is Nothing Then D = 1 Exit Sub End If c = Arraygetindex(entry.roles,"[Supervisor]") If Isnull(c) Then D = 1 End Sub | [Supervisor] -- роль, которая (не)дана юзеру. Для полного кайфа можно (и даже нужно!!!) доработать проверку, чтобы проверка делалась только, если форма дока -- "мемо" (или как-то там). |