Lotus на практике. Как вести лог доступа к документу? (Lotus Script)

О чем этот текст?

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

Основная часть

...
'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




Ссылки:

К содержанию

© Copyright 2004-2017 - CMS Made Simple
Сайт работает на CMS Made Simple version 1.4.1

© Все печеньки Break-people.ru принадлежат авторам проекта.

Яндекс цитирования Рейтинг@Mail.ru Яндекс.Метрика