Я делал это до использования LotusScript. Это немного больно, но основная идея заключается в следующем:
- Создайте массив или новый объект документа в событии QueryOpen и сохраните значения для всех элементов в текущем документе.
- В вашем событии QuerySave сравните значения текущего документа с созданной вами копией в памяти, а затем запишите все различия.
Вы можете создать поле в форме для записи этих изменений и просто добавлять к нему каждый раз.
Остерегайтесь других обработчиков событий, которые вносят изменения при каждом открытии документа. Вам может потребоваться скопировать исходные значения в событии PostOpen, например, если вы изменяете некоторые поля в событии QueryOpen при каждом открытии документа, иначе вы получите ложные журналы изменений.
Надеюсь, это поможет!