О чем этот текст?
В любой компании есть плохие люди. Они постоянно гадят. В первую очередь - тебе. Потому, что ты будешь искать того, кто на этот раз стер всю информацию. Ну и просто, для успокоения нужно вести лог операций доступа к документу. Код - обрывок. Его нужно вставить в том месте, где происходит сохранение документа.
Основная часть
...
'uidoc - текущий документ
Dim rtx As NotesRichTextItem
Dim rtxc As NotesRichTextItem
Dim richStyle As NotesRichTextStyle
Set session = new NotesSession
Set richStyle = session.CreateRichTextStyle
If(uidoc.IsNewDoc)Then
Set rtxc= doc.GetFirstItem( "fieldAuthor" )
Call rtxc.AppendText(session1.CommonUserName)
richstyle.Bold=False
richstyle.NotesColor=Cint(0)
Call rtxc.AppendStyle(richstyle)
Call rtxc.AppendText(" ("+Format(Now(), "Short Date")+" "+Format(Now(), "Short Time")+")")
richstyle.Bold=False
richstyle.NotesColor=Cint(0)
Call rtxc.AppendStyle(richstyle)
Else
Set rtx= doc.GetFirstItem( "fieldChanges" )
Call rtx.AddNewline(1)
richstyle.NotesColor=Cint(0)
richstyle.Bold=False
Call rtx.AppendStyle(richstyle)
Call rtx.AppendText("Документ изменен: ")
richstyle.Bold=True
richstyle.NotesColor=Cint(4)
Call rtx.AppendStyle(richstyle)
Call rtx.AppendText(session1.CommonUserName)
richstyle.Bold=False
richstyle.NotesColor=Cint(2)
Call rtx.AppendStyle(richstyle)
Call rtx.AppendText(" ("+Format(Now(), "Short Date")+" "+Format(Now(), "Short Time")+")")
richstyle.Bold=False
richstyle.NotesColor=Cint(0)
Call rtx.AppendStyle(richstyle)
End If
'Делаем что-нибудь ещё, если надо и сохраняем uidoc
...
Примечание: fieldAuthor и fieldChanges, должны существовать на форме. Типа NotesRichTextItem.
Получается, если документ новый, то будет записан Автор документа.
А если документ не новый, то будет записано, что в такое-то время, такую-то дату тот-то вносил изменения. В принципе можно расширить форму и хранить предыдущее состояние всех полей документа и полностью писать, что именно изменено в документе. Чтобы сразу знать, за что казнить пользователя.
Автор: Joe1000
Ссылки:
К содержанию