Журнал регистрации 1С: уровни событий, фильтры, хранение и чистка

· 9 мин

Содержание

Журнал регистрации в 1С 8.3 включают в Конфигураторе: меню Администрирование → Настройка журнала регистрации, затем выберите уровень «Регистрировать все события» (или нужный уровень ошибок) и нажмите «ОК». Настройка действует на всю информационную базу и начинает работать для новых сеансов, перезапуск сервера не нужен.

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

Для чего администратору и бухгалтеру журнал регистрации

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

На практике журнал выручает в таких ситуациях:

  • 🔍 «Кто удалил документ?» — видно пользователя, время и сам объект.
  • 🧾 «Кто перепровёл закрытый период?» — события проведения и изменения данных с датой.
  • 🔐 Подозрительные входы — неудачные попытки аутентификации, вход с чужого компьютера.
  • ⚙️ Сбои регламентных заданий и обменов — текст ошибки сохраняется в событии.
  • 🛠 Изменение конфигурации — фиксируется обновление структуры базы и смена пользователей.

Журнал не заменяет резервную копию. Он показывает, что произошло с данными, но вернуть удалённый документ из него нельзя. Для этого нужна копия базы на дату до изменения.

Не путайте журнал регистрации с технологическим журналом. Технологический журнал включают отдельным файлом logcfg.xml, он пишет низкоуровневые события платформы (запросы, блокировки, исключения) и нужен для расследования производительности. Для вопросов «кто и что сделал» он избыточен.

Перед включением: права, место на диске, окно для работ

Подготовка займёт несколько минут, но избавит от сюрпризов.

  1. Права. В Конфигуратор нужно войти пользователем с административными правами. В типовых конфигурациях это роль «Полные права» или «Администратор системы».
  2. Монопольный режим не нужен. Сменить уровень журнала можно при работающих пользователях. Новый уровень подхватят сеансы, открытые после изменения.
  3. Место на диске. При уровне «все события» журнал активной базы на 20–30 пользователей легко вырастает на сотни мегабайт в месяц, в больших базах — на гигабайты. Проверьте свободное место там, где лежат файлы журнала.
  4. Политика хранения. Решите заранее, сколько месяцев истории держать. От этого зависит, как делить журнал по периодам и когда его сокращать.

Где физически лежит журнал:

Тип базыКаталог журнала
Файловая<каталог базы>\1Cv8Log\
Клиент-серверная (Windows, служба по умолчанию)C:\Program Files\1cv8\srvinfo\reg_1541\<GUID базы>\1Cv8Log\

GUID базы — длинный идентификатор вида a1b2c3d4-.... Чтобы понять, какой каталог принадлежит нужной базе, откройте в нём файл 1Cv8.lgf или посмотрите идентификатор базы в консоли кластера.

Формат хранения бывает двух видов:

  • 📄 Последовательный — файлы 1Cv8.lgf (справочник значений) и много файлов *.lgp (сами события).
  • 🗄 SQLite — один файл 1Cv8.lgd.

Последовательный формат проще переносить и архивировать по частям. Формат SQLite удобнее для поиска, но один большой файл тяжелее чистить и он хуже переносит аварийные остановки сервера.

Включаем журнал регистрации в 1С 8.3 по шагам

Через Конфигуратор

  1. Запустите 1С, выберите базу и нажмите «Конфигуратор».
  2. Войдите пользователем с административными правами.
  3. Откройте меню Администрирование → Настройка журнала регистрации.
  4. В блоке уровня регистрации отметьте нужный вариант (подробно — в следующем разделе).
  5. Задайте разделение журнала по периодам, если пользуетесь последовательным форматом.
  6. Нажмите «ОК».

Проверка: откройте Администрирование → Журнал регистрации и войдите в базу ещё одним сеансом в режиме «1С:Предприятие». В журнале должны появиться события начала сеанса.

Программно, без Конфигуратора

В управляемом приложении уровень журнала меняют методом УстановитьИспользованиеЖурналаРегистрации(). Ему передают массив уровней, которые нужно писать. Текущие настройки читает ПолучитьИспользованиеЖурналаРегистрации(). Код выполняется на сервере, у пользователя должны быть административные права.

&НаСервере
Процедура ВключитьПолныйЖурналНаСервере()
	Уровни = Новый Массив;
	Уровни.Добавить(УровеньЖурналаРегистрации.Ошибка);
	Уровни.Добавить(УровеньЖурналаРегистрации.Предупреждение);
	Уровни.Добавить(УровеньЖурналаРегистрации.Информация);
	Уровни.Добавить(УровеньЖурналаРегистрации.Примечание);
	УстановитьИспользованиеЖурналаРегистрации(Уровни);
КонецПроцедуры

Такой код удобно положить во внешнюю обработку и запускать на базах, где Конфигуратор недоступен (например, в облачном размещении с ограниченным доступом).

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

В настройке пять вариантов. Каждый следующий включает всё, что пишет предыдущий.

УровеньЧто попадает в журналКогда выбирать
Не регистрироватьНичегоПочти никогда: теряется вся история
Регистрировать ошибкиТолько ошибкиТестовые и учебные базы
Ошибки и предупреждения+ предупрежденияБазы с жёстким лимитом места
Ошибки, предупреждения и информацию+ входы, выходы, служебные событияКомпромисс для крупных баз
Регистрировать все события+ примечания, включая изменение данныхРабочие учётные базы

Для рабочей бухгалтерской базы ставьте «Регистрировать все события». Только на этом уровне видно, кто изменил или удалил конкретный документ. На уровне ошибок вы узнаете о сбое, но не узнаете, кто стёр счёт-фактуру.

Разделение по периодам задаёт, как часто платформа начинает новый файл *.lgp: по дням, неделям, месяцам или годам. Ориентир простой:

  • 📅 по месяцам — для большинства баз до 50 пользователей;
  • 📆 по неделям или дням — для нагруженных баз, где месячный файл получается громоздким;
  • 🗓 по годам — только для маленьких баз с редкими изменениями.

Мелкие файлы быстрее открываются, их легко архивировать и удалять по одному.

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

Открыть журнал можно двумя путями:

  • в Конфигураторе: Администрирование → Журнал регистрации;
  • в пользовательском режиме БП 3.0, ЗУП 3.1, УТ 11: Администрирование → Обслуживание, группа «Протоколы работы программы», ссылка «Журнал регистрации».

Сразу после открытия жмите отбор. Без него 1С пытается загрузить всё подряд, и на большом журнале форма «думает» минутами.

Поля отбора, которые реально помогают

  • 🕒 Период — всегда сужайте до дней, когда случилась проблема.
  • 👤 Пользователь — если подозреваете конкретного сотрудника.
  • 💻 Компьютер — имя ПК, с которого шла работа.
  • 📌 Событие — тип действия, например «Данные. Удаление» или «Сеанс. Аутентификация».
  • 🗂 Метаданные — вид объекта: документ «Реализация (акты, накладные, УПД)», справочник «Контрагенты».
  • 🔎 Данные — конкретный объект, например нужный документ.
  • ⚠️ Уровень — чтобы оставить только ошибки.
  • 🔁 Статус транзакции — отличает зафиксированные изменения от отменённых.

События, которые чаще всего ищут

СобытиеЧто означает
Сеанс. Начало / Сеанс. ЗавершениеВход в программу и выход из неё
Сеанс. Ошибка аутентификацииНеверный пароль или попытка входа под чужим именем
Данные. ИзменениеЗапись объекта: документа, элемента справочника
Данные. ПроведениеПроведение документа
Данные. УдалениеНепосредственное удаление объекта из базы
Пользователи. ИзменениеПравка списка пользователей или их свойств

Пометка на удаление записывается как изменение объекта, а не как удаление. Удаление появится позже, когда администратор запустит удаление помеченных объектов, и пользователем в такой строке будет он.

Примеры поиска

Кто удалил документ. Период — день пропажи, событие «Данные. Удаление», метаданные — вид документа. В строке будет пользователь, компьютер и представление удалённого объекта с номером и датой.

Кто перепровёл документ задним числом. Откройте документ, затем журнал с отбором по полю «Данные» на этот документ. Список покажет все записи и проведения по нему в хронологии.

Почему не отработал обмен. Уровень «Ошибка», период — ночь обмена. Комментарий события содержит текст исключения, его можно скопировать и искать по нему.

Если событие отмечено статусом транзакции «Отменена», изменение в базу не попало. Такие строки не доказывают, что пользователь что-то испортил.

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

Когда журнал пуст или не открывается

Проблемы с журналом сводятся к нескольким сценариям. Выберите свой.

Диагностика: выберите симптом

Удалять или переименовывать файлы журнала на серверной базе можно только когда с базой никто не работает. Иначе пользователи получат ошибки при записи событий, а фоновые задания могут прерваться. Делайте это в нерабочее время и предупредите пользователей заранее.

Как держать журнал регистрации компактным

Журнал никогда не сокращается сам. Если за ним не следить, через год-два он начинает тормозить открытие, резервное копирование и перенос базы.

Сокращение средствами 1С

В Конфигураторе в окне настройки журнала есть кнопка сокращения. Порядок:

  1. Администрирование → Настройка журнала регистрации.
  2. Нажмите кнопку сокращения журнала.
  3. Укажите дату: всё, что раньше, будет удалено из журнала.
  4. Отметьте сохранение удаляемых событий в файл и задайте путь.
  5. Подтвердите. На большом журнале операция идёт долго, не прерывайте её.

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

Ручное архивирование файлов

При последовательном формате и делении по периодам старые файлы *.lgp можно просто перенести в архив. Файл 1Cv8.lgf не трогайте: в нём справочник пользователей, компьютеров и метаданных, без него события не прочитать.

Чего не делать

  • 🚫 Не ставьте «Не регистрировать», чтобы «ускорить базу». Выигрыш минимален, а история пропадёт.
  • 🚫 Не удаляйте весь каталог 1Cv8Log на работающей базе.
  • 🚫 Не чистите журнал перед проверкой или аудитом: это выглядит как сокрытие следов.

Если базы много и журнал нужен в долгую, практики выгружают его по расписанию во внешнее хранилище: регламентное задание вызывает ВыгрузитьЖурналРегистрации() за прошедшие сутки и кладёт файл в архив. Тогда в самой базе достаточно держать 3–6 месяцев истории.

Свои события в журнале регистрации

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

ЗаписьЖурналаРегистрации(
	"Загрузка прайса",
	УровеньЖурналаРегистрации.Информация,
	Метаданные.Справочники.Номенклатура,
	,
	"Загружено строк: " + Формат(КоличествоСтрок, "ЧГ=0"));

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

Давайте своим событиям имена с общим префиксом, например «Доработки.Загрузка прайса». Потом их легко собрать одним отбором по событию.

Частые вопросы

Включён ли журнал регистрации в новой базе по умолчанию?
Да, платформа ведёт журнал в новой базе сразу. Но уровень стоит проверить: в базах, перенесённых из старых копий или настроенных администратором, он мог быть понижен.
Можно ли по журналу восстановить удалённый документ?
Нет. Журнал показывает, кто и когда удалил объект, но не хранит его содержимое. Восстанавливают документ из резервной копии базы.
Пишет ли журнал, что именно изменили в документе?
Платформа фиксирует сам факт изменения, без старых и новых значений реквизитов. Для истории значений в типовых конфигурациях есть отдельный механизм версионирования объектов.
Сохраняется ли журнал при выгрузке базы в .dt?
Нет, файл выгрузки содержит только данные и конфигурацию. Журнал при переносе копируют отдельно, вместе с каталогом 1Cv8Log.
Влияет ли уровень «все события» на скорость работы?
Влияние небольшое, запись событий идёт отдельно от учётных данных. Замедление чаще дают переполненный диск и открытие журнала без отбора.