Принцип работы:
С помощью подписок на события все регистрируется и складывается в справочник ВЖС_ЖурналРегистрацииСобытий. Затем фоновое задание, запущенное от имени служебного пользователя забирает все из этого справочника и складывает в PostgreSQL-БД. Отчетом смотрим что на что кто и когда менял.
Краткий инструктаж:
1. Качаем и ставим последний релиз PostgreSQL http://www.postgresql.org/
2. Для Win-платформы качаем последний ODBC-драйвер http://www.postgresql.org/ftp/odbc/versions/msi/
3. Создаем базу данных через PGAdmin
4. Запускаем конфигурацию от имени администратора и настраиваем константы
5. Вносим/правим тестовые данные
6. Запускаем конфигурацию от имени пользователя "ФоновыеЗадания"
7. Ждем минутку
8. В сеансе администратора формируем отчет и, если до этого все было правильно настроено, видим протокол изменений от имени администратора
9. Интегрируем в свои конфы
10. Плюсуем, комментируем :)
Плюшки:
1. Самая очевидная, ради которой все и затевалось - не пухнет основная база, что особо критично для файлового варианта
2. Записываются не только изменения, но и начальное состояние реквизитов при записи нового объекта
3. В отчете есть возможность отобрать историю изменений отдельных реквизитов, не засоряя вывод всей остальной информацией
4. Возможность врEменной блокировки ведения истории, когда программист точно уверен что не надо протоколировать изменения, достаточно "поднять" флаг приостановки, выполнить свое черное дело и потом не забыть его "опустить"
5. Возможность записи произвольных событий, я например складываю в протокол события печати некоторых документов с указанием имени печатной формы документа
6. В протокол записывается имя клиентского сеанса, что актуально для терминального варианта работы с базой - фиксируется имя клиентского компьютера, с которого был открыт терминальный сеанс
7. Для ссылочных данных записывается не только старое и новое значение, но и текстовое представление ссылочного объекта, что дает возможность увидеть объект именно в том виде, в котором он был во время записи события
8. Разработка абсолютно бесплатная и поставляется AS IS
Для автоматического сброса накопленных изменений можно запустить 1С как службу. Лично я для этих целей использую чудный продукт AnVir Task Manager http://www.anvir.net а точнее его возможность запуска приложений как служб.
зы: на моих базах успешно катается уже полгода, нареканий нет, 1С-база не пухнет и все довольны
ззы: при интеграции в коммерческие продукты авторский "откат" приветствуется :)