Добавление регистрации в форме Lotus Notes - PullRequest
1 голос
/ 20 января 2012

Я хочу добавить возможности ведения журнала в моем приложении Lotus Notes.По сути, я хочу иметь возможность регистрировать, кто вносит изменения, когда они вносятся и какие поля изменяются в документе.Каков наилучший способ сделать это?Я думаю также добавить это в конце каждого документа, чтобы пользователь знал, кто вносит изменения.

Ответы [ 3 ]

4 голосов
/ 21 января 2012

OpenNTF имеет несколько инструментов для этой цели, которые вы можете использовать, включая Open Audit и Audit Manager .

1 голос
/ 20 января 2012

Я делал это до использования LotusScript. Это немного больно, но основная идея заключается в следующем:

  • Создайте массив или новый объект документа в событии QueryOpen и сохраните значения для всех элементов в текущем документе.
  • В вашем событии QuerySave сравните значения текущего документа с созданной вами копией в памяти, а затем запишите все различия.

Вы можете создать поле в форме для записи этих изменений и просто добавлять к нему каждый раз.

Остерегайтесь других обработчиков событий, которые вносят изменения при каждом открытии документа. Вам может потребоваться скопировать исходные значения в событии PostOpen, например, если вы изменяете некоторые поля в событии QueryOpen при каждом открытии документа, иначе вы получите ложные журналы изменений.

Надеюсь, это поможет!

0 голосов
/ 20 января 2012

Подход "грубой силы" также может работать. Каждый раз, когда документ сохраняется, создайте копию этой версии в (отдельной) базе данных. Это создаст контрольный журнал документов. Документы можно сравнить, чтобы извлечь изменения.

В этом подходе есть некоторые накладные расходы, но по моему опыту оно того стоило Реализация проста, и все изменения фиксируются без влияния на фактический документ. Вся необходимая информация собирается и доступна для (автономной) обработки.

...