При администрировании и сопровождении баз данных 1С нередко возникает задача выяснить, кто, когда и какие изменения внес в определенный элемент справочника или документ. Стандартный подход администратора — открыть Журнал регистрации, установить отбор по конкретному объекту в поле Данные и проанализировать события. Однако часто специалисты сталкиваются с ситуацией, когда журнал оказывается абсолютно пустым, даже если объект только что был перезаписан вручную. Разберем по шагам, почему платформа перестает фиксировать события изменения данных, как вернуть журнал в рабочее состояние и какие альтернативные механизмы позволяют полноценно отслеживать историю правок.
Самая распространенная причина, с которой столкнулся автор темы, — изменение настроек логирования на уровне конфигуратора или программным кодом. Платформа 1С позволяет администратору оптимизировать размер журнала регистрации и нагрузку на дисковую подсистему сервера, ограничивая список регистрируемых событий. Если уровень детализации был изменен, системные события изменения данных перестают записываться в базу журнала.
Проанализируем порядок проверки и восстановления настроек через конфигуратор:
Также стоит помнить, что регистрация событий может быть отключена или перенастроена динамически из встроенного языка с помощью специализированного метода платформы:
// Программная проверка и включение регистрации всех событий
ПараметрыЖР = Новый Структура;
ПараметрыЖР.Вставить("Использование", Истина);
УстановитьИспользованиеЖурналаРегистрации(ПараметрыЖР);
Если параметры логирования в конфигураторе включены на максимум, но записи все равно отсутствуют, рассмотрим возможные проблемы с фильтрацией:
Данные.Изменение отображаться не будет. Рекомендуется нажать кнопку Сбросить отбор и установить фильтр заново, указав только ссылку на проверяемый элемент в поле Данные.Выясним еще одну неочевидную ситуацию: объект перезаписывается пользователем, но запись в журнал не добавляется. Событие Данные.Изменение фиксируется платформой только при успешной фиксации транзакции записи в СУБД. Если в обработчиках ПередЗаписью, ПриЗаписи самого объекта или в назначенных подписках на события отрабатывает логика с установкой флага Отказ = Истина, транзакция откатывается. При этом на экране пользователь может увидеть предупреждение, а в журнал изменений никаких новых сведений записано не будет.
В современных версиях платформы 1С:Предприятие 8.3 журнал регистрации по умолчанию хранится в формате базы данных SQLite (файл 1Cv8.lgd в каталоге кластера серверов). Разберем технические проблемы, которые могут приводить к потере или невидимости записей:
srvinfo. Если свободное место исчерпано либо у службы сервера (пользователь USR1CV8) отсутствуют права на модификацию файлов журнала, запись событий приостанавливается.1Cv8.lgd может оказаться в поврежденном состоянии. В этом случае новые транзакции журнала зависают. Для устранения неполадки администратору требуется временно остановить службу кластера серверов 1С и выполнить проверку целостности файла сторонней утилитой SQLite либо архивировать старый файл журнала и дать платформе возможность создать чистый 1Cv8.lgd.Важно понимать фундаментальное ограничение встроенного журнала регистрации платформы: он сохраняет лишь факт модификации (кто изменил, с какого компьютера, дата и ссылка на объект). Журнал регистрации не показывает, какие именно реквизиты, суммы, реквизиты строк табличных частей или комментарии были изменены до и после нажатия кнопки «Записать».
Если для бизнес-процессов требуется детальный аудит содержимого, рассмотрим штатные механизмы конфигураций и платформы: