К статье
Практический материал

Администрирование · 10 мин

Как сделать и настроить журнал событий в 1С

Как включить, настроить и читать журнал регистрации в 1С: уровни протоколирования, фильтры, выгрузка, программная запись событий и типовые ошибки администраторов.

Журнал событий в 1С называется журналом регистрации — это встроенный механизм платформы, который фиксирует действия пользователей, ошибки, вызовы фоновых заданий и изменения данных. Он работает без доработок конфигурации: достаточно выбрать уровень протоколирования и знать, где искать записи. Ниже разобрано, как включить журнал, настроить его состав, находить нужные события и дополнять его собственными записями из кода.

Практическая ценность журнала регистрации проявляется в трёх ситуациях: расследование инцидентов («кто изменил документ»), диагностика ошибок (почему не проводится документ или падает обмен) и аудит доступа (кто и когда входил в базу). Без корректной настройки журнал либо переполняется лишними событиями, либо не содержит нужной информации.

Где находится журнал регистрации и как его открыть

В клиентском приложении журнал регистрации открывается через меню «Все функции — Стандартные — Журнал регистрации» либо через типовой раздел «Администрирование — Обслуживание — Журнал регистрации» (точный путь зависит от конфигурации). В конфигураторе журнал доступен через меню «Администрирование — Журнал регистрации».

Для просмотра журнала пользователю нужны права администратора или специальное право «Журнал регистрации» (ViewEventLog). Обычный пользователь без этих прав журнал не увидит — это осознанное ограничение, поскольку журнал может содержать сведения о данных, к которым у сотрудника нет доступа.

Физически журнал хранится внутри информационной базы: в файловом варианте — в каталоге базы, в клиент-серверном — на сервере СУБД. Прямое редактирование файлов журнала не предусмотрено и может повредить базу, поэтому вся работа ведётся только штатными средствами платформы.

Настройка уровней регистрации событий

Основная настройка выполняется в диалоге «Настройка журнала регистрации»: в клиенте — «Администрирование — Обслуживание — Журнал регистрации — Настройка», в конфигураторе — «Администрирование — Журнал регистрации — Настройка». Там задаётся, какие категории событий записывать.

Платформа предлагает несколько уровней протоколирования: не регистрировать ничего, регистрировать только ошибки, ошибки и предупреждения, ошибки, предупреждения и информацию, а также регистрацию всех событий включая примечания. Дополнительно можно включить запись событий доступа к данным и отказа в доступе — это нужно для аудита безопасности, но заметно увеличивает объём журнала.

Маршрут решения

Какой уровень выбрать

Рабочая база с большим числом пользователей, инциденты редкиУровень «Ошибки и предупреждения» — достаточно для диагностики и не перегружает журнал
Расследуется инцидент или настраивается новый обменВременно включите полную регистрацию, после решения задачи верните уровень обратно
Требуется аудит доступа к даннымВключите события доступа и отказа в доступе, но запланируйте регулярное сокращение журнала
Журнал растёт слишком быстроСнизьте уровень до ошибок и настройте периодическое сокращение старых записей

Изменение настроек применяется сразу и не требует перезапуска сеансов. Однако учтите: события, произошедшие до смены уровня, задним числом не появятся — если инцидент случился при выключенной регистрации, восстановить его из журнала невозможно.

Как искать события: фильтры и отборы

Журнал крупной базы содержит тысячи записей в день, поэтому без фильтров работать с ним бессмысленно. В форме журнала нажмите «Установить отбор» и задайте условия: интервал дат, пользователь, компьютер, приложение (тонкий клиент, веб-клиент, фоновое задание), тип события, важность (ошибка, предупреждение, информация), а также представление данных — например, конкретный документ.

Особенно полезен отбор по событию. Имена событий стандартизированы: «Данные. Добавление», «Данные. Изменение», «Данные. Удаление», «Сеанс. Аутентификация», «Фоновое задание. Ошибка выполнения» и другие. Зная имя события, можно быстро ответить на вопросы вроде «кто удалил документ» или «почему упало регламентное задание».

Как найти, кто изменил документ
  1. 1
    Откройте журнал регистрации и установите отбор
  2. 2
    Укажите интервал дат, в который могло произойти изменение
  3. 3
    В поле «Данные» выберите нужный документ через подбор
  4. 4
    Добавьте отбор по событию «Данные. Изменение» и «Данные. Удаление»
  5. 5
    Снимите отбор по пользователю — виновник заранее неизвестен
  6. 6
    В полученном списке смотрите колонки «Пользователь» и «Дата»
  7. 7
    Двойной клик по записи откроет детали события с комментарием

Колонка «Комментарий» в деталях события часто содержит ключевую информацию: текст ошибки, имя процедуры, параметры вызова. Именно её читают в первую очередь при диагностике сбоев.

Запись собственных событий из кода

Если стандартных событий недостаточно — например, нужно фиксировать запуск собственной обработки или результат обмена — используйте встроенный метод платформы ЗаписьЖурналаРегистрации(). Он доступен и на сервере, и на клиенте (с передачей на сервер).

bsl
Процедура ВыполнитьОбмен() Экспорт
	Попытка
		// ... логика обмена ...
		ЗаписьЖурналаРегистрации("Обмен данными. Загрузка",
			УровеньЖурналаРегистрации.Информация, , ,
			"Загружено объектов: " + Формат(Счетчик, "ЧГ="));
	Исключение
		ЗаписьЖурналаРегистрации("Обмен данными. Загрузка",
			УровеньЖурналаРегистрации.Ошибка, , ,
			ОписаниеОшибки());
	КонецПопытки;
КонецПроцедуры

Параметры метода: имя события (придумайте осмысленное, с точками-разделителями — так удобнее фильтровать), уровень важности, объект метаданных, данные (ссылка на объект) и комментарий. Четвёртый параметр позволяет привязать запись к конкретному документу или элементу справочника — тогда в журнале по ней можно перейти к объекту.

Собственные события подчиняются общим настройкам уровня: если в настройках выбран режим «только ошибки», записи с уровнем «Информация» сохраняться не будут. Учитывайте это при проектировании логирования критичных процедур.

Выгрузка, сокращение и обслуживание журнала

Журнал регистрации можно выгрузить в файл через пункт «Выгрузить журнал регистрации» в конфигураторе или через метод ВыгрузитьЖурналРегистрации() из кода. Выгрузка полезна для анализа во внешних инструментах, передачи в техподдержку или архивирования перед сокращением.

Со временем журнал разрастается и может замедлять работу базы, особенно файловой. Для очистки используйте диалог «Сократить журнал регистрации» (в конфигураторе или в разделе обслуживания): укажите дату, до которой удалить записи, и при необходимости сохраните удаляемую часть в файл. Сокращение — необратимая операция, поэтому перед ней делайте выгрузку.

В клиент-серверном варианте полезно настроить регламент: периодическое сокращение журнала регламентным заданием или по расписанию администратора. Разумная практика — хранить в активной базе записи за последние недели или месяцы, а более старые переносить в архивные выгрузки.

Проверка результата и типичные ошибки

После настройки убедитесь, что журнал действительно пишет нужные события. Выполните тестовое действие — например, измените любой документ под тестовым пользователем — и найдите соответствующую запись в журнале с отбором по этому пользователю.

Контрольные точки

Как проверить результат

Запись о тестовом изменении документа
Норма

Событие «Данные. Изменение» присутствует с указанием пользователя и времени

Тревожный признак

Записи нет — проверьте уровень регистрации в настройках

Запись собственного события из кода
Норма

Событие с вашим именем видно в журнале с заданным уровнем важности

Тревожный признак

Записи нет — уровень события ниже порога в настройках журнала

Размер и скорость открытия журнала
Норма

Журнал открывается за секунды, записи за старые периоды сокращены

Тревожный признак

Журнал открывается минутами — требуется сокращение

Ошибки фоновых заданий
Норма

События «Фоновое задание. Ошибка выполнения» содержат текст ошибки

Тревожный признак

Задание падает, а записей нет — включён слишком низкий уровень регистрации

Типичные ошибки
01
Включение полной регистрации навсегда — журнал раздувается, поиск и открытие замедляются, полезные события тонут в шуме
02
Отключение регистрации ради экономии места — при инциденте нечего анализировать, расследование становится невозможным
03
Запись в журнал из каждой итерации цикла — тысячи однотипных записей; логируйте итог операции, а не каждый шаг
04
Сокращение журнала без предварительной выгрузки — история событий теряется безвозвратно
05
Игнорирование колонки «Комментарий» — администратор видит ошибку, но не читает её текст и ищет причину вслепую

Если журнал не пишет события, проверьте по порядку: уровень регистрации в настройках, права текущего пользователя на просмотр журнала и корректность фильтров — часто записи есть, но скрыты забытым отбором.

Итог

Что важно запомнить

Журнал регистрации создаётся платформой автоматически: настройте уровень протоколирования под задачу, ищите события фильтрами по дате, пользователю и типу, добавляйте свои записи методом ЗаписьЖурналаРегистрации и регулярно сокращайте журнал с предварительной выгрузкой.

Частые вопросы о журнале событий 1С

Можно ли полностью отключить журнал регистрации?

Да, в настройках есть режим «Не регистрировать». Однако делать это в рабочей базе не рекомендуется: при ошибке или инциденте вы лишитесь единственного штатного источника информации о произошедшем. Если журнал мешает объёмом — лучше снизить уровень до ошибок и настроить регулярное сокращение.

Как узнать, кто удалил документ, если в журнале нет записи?

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

Чем журнал регистрации отличается от истории изменений объектов?

Журнал фиксирует сам факт события — кто, когда и что изменил, — но не хранит старые и новые значения полей. История данных (механизм версионирования платформы) сохраняет сами версии объектов с различиями. Для аудита изменений критичных данных их разумно использовать вместе.

Почему журнал регистрации долго открывается?

Чаще всего из-за большого объёма накопленных записей, особенно в файловых базах и при включённой полной регистрации. Решение — сократить журнал до разумного периода, предварительно выгрузив старую часть, и понизить уровень протоколирования. Также помогает открытие журнала сразу с установленным отбором по датам.

Можно ли записывать в журнал события из внешних систем?

Напрямую внешняя система писать в журнал 1С не может, но можно создать HTTP-сервис или веб-сервис в конфигурации, который принимает сообщения и вызывает ЗаписьЖурналаРегистрации() с указанием источника в имени события. Так внешние интеграции получают единый централизованный лог внутри базы.

Видит ли обычный пользователь журнал регистрации?

Нет, если у него нет права «Журнал регистрации» в роли. Это сделано намеренно: журнал содержит сведения о действиях всех пользователей и может включать представления данных, доступ к которым ограничен. Выдавайте это право только администраторам и сотрудникам, ведущим аудит.