Как устроен журнал регистрации в 1С 8.3 и как с ним работать администратору

· 9 мин

Содержание

Журнал регистрации в 1С открывается так: в Бухгалтерии 3.0 и ЗУП 3.1 — Администрирование → Обслуживание → Журнал регистрации, в Конфигураторе — Администрирование → Журнал регистрации. Хранится он не в таблицах базы, а в папке 1Cv8Log: у файловой базы — рядом с файлом 1Cv8.1CD, у серверной — в каталоге кластера на сервере 1С.

Типичная ситуация: утром главбух обнаруживает, что закрытый квартал «поехал», а проведённая вчера реализация исчезла. Первый вопрос — кто и когда это сделал. Ответ почти всегда есть в журнале регистрации, если его заранее правильно настроили. Механизм общий для платформы 8.3, поэтому всё ниже работает в любой типовой конфигурации.

Что записывает журнал регистрации 1С и зачем он нужен

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

Что платформа фиксирует сама:

  • 🔑 входы и выходы пользователей, неудачные попытки аутентификации;
  • 📝 запись, проведение, отмену проведения и удаление объектов;
  • 👤 изменения в списке пользователей;
  • ⚙️ обновление конфигурации и структуры базы;
  • ❌ ошибки выполнения, в том числе в фоновых и регламентных заданиях.

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

Для чего журнал нужен на практике:

ЗадачаЧто смотрим
Найти, кто изменил или удалил документсобытия «Данные. …», отбор по метаданным
Проверить, кто заходил в базу ночью«Сеанс. Начало», «Сеанс. Аутентификация»
Понять, почему не прошёл обмен или регламентное заданиезаписи уровня «Ошибка» с текстом в комментарии
Выяснить, кто обновлял конфигурациюсобытия раздела «Информационная база»
Подбор пароля или чужой вход«Сеанс. Ошибка аутентификации»

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

Где хранится журнал регистрации: путь к файлам 1Cv8Log

Журнал всегда хранится в файлах, даже если база работает на MS SQL или PostgreSQL. Поэтому бэкап SQL-базы его не содержит.

Файловая база

Папка 1Cv8Log лежит в том же каталоге, что и 1Cv8.1CD. Путь к каталогу виден в окне запуска 1С: выделите базу, внизу окна будет строка вида File="D:\Bases\Buh". Значит, журнал — в D:\Bases\Buh\1Cv8Log.

Клиент-серверная база

Журнал лежит на сервере 1С в каталоге кластера:

C:\Program Files\1cv8\srvinfo\reg_1541\<GUID информационной базы>\1Cv8Log

На Linux путь обычно начинается с домашнего каталога пользователя usr1cv8: /home/usr1cv8/.1cv8/1C/1cv8/reg_1541/<GUID>/1Cv8Log. Если сервер ставили с нестандартным каталогом srvinfo, он указан в параметрах запуска службы ragent.

Как узнать GUID нужной базы:

  1. Откройте файл 1CV8Clst.lst в каталоге reg_1541 любым текстовым редактором (только для чтения!). В нём рядом с именем базы стоит её идентификатор.
  2. Или выполните на сервере rac infobase summary list --cluster=<id кластера> — команда выводит идентификаторы и имена баз. Идентификатор кластера даёт rac cluster list.
  3. Ещё проще — отсортировать папки внутри reg_1541 по дате изменения: у рабочей базы 1Cv8Log обновляется постоянно.

Два формата файлов

ФорматФайлыОсобенности
Последовательный (старый)1Cv8.lgf + набор *.lgpбыстрая запись, файлы легко архивировать и удалять по периодам
SQLite (новый)один или несколько *.lgdудобный отбор, но медленнее на больших объёмах

Какой формат создаётся по умолчанию, зависит от версии платформы, на которой создавали базу. Посмотрите содержимое 1Cv8Log, и всё станет ясно.

Не удаляйте и не редактируйте файл 1Cv8.lgf у работающей базы. В нём словари пользователей, компьютеров и метаданных. Без него записи из *.lgp не прочитать.

Как открыть журнал регистрации в 1С

В пользовательском режиме

В Бухгалтерии 3.0, ЗУП 3.1, УТ 11 и других конфигурациях на БСП:

  1. Откройте раздел Администрирование.
  2. Перейдите в Обслуживание.
  3. Нажмите ссылку Журнал регистрации.

Универсальный способ для любой конфигурации — Все функции → Стандартные → Журнал регистрации. Если пункта «Все функции» нет в главном меню, включите его: Сервис и настройки → Параметры → Отображать команду «Все функции».

В Конфигураторе

Меню Администрирование → Журнал регистрации. Здесь журнал можно открыть, даже если пользовательский режим не запускается из-за ошибки. Это удобно, когда база падает при старте.

Кому журнал доступен

Просмотр управляется правом «Журнал регистрации» на уровне конфигурации. В типовых решениях оно есть у профиля «Администратор». Обычный бухгалтер журнал не видит — и это правильно: там видны действия всех пользователей.

Настройка журнала регистрации: уровень событий и периоды

Настройка делается только в Конфигураторе: Администрирование → Настройка журнала регистрации.

Уровень регистрации

В окне выбирают, что писать:

  • 🚫 не регистрировать;
  • ❌ только ошибки;
  • ⚠️ ошибки и предупреждения;
  • ℹ️ ошибки, предупреждения и информацию;
  • 📚 все события (включая примечания).

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

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

Разделение журнала по периодам

В той же форме задают, как дробить файлы: по дням, месяцам и т.д. Для активной базы на 20–50 пользователей разумно разделять по дням или неделям. Тогда старые периоды легко архивировать и удалять, не трогая текущие.

Сокращение журнала

Кнопка «Сократить» удаляет записи до указанной даты. Перед удалением платформа предлагает сохранить удаляемые события в файл — соглашайтесь, если записи могут понадобиться при проверке или споре с сотрудником.

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

Как читать журнал и настраивать отбор событий

Открыв журнал без отбора на рабочей базе, вы получите десятки тысяч строк. Работать с ним нужно только через отбор: кнопка Установить отбор (в Конфигураторе — пиктограмма воронки).

Поля отбора, которые используются чаще всего:

  1. Интервал — всегда сужайте до нескольких часов или дней.
  2. Пользователи — выбираются из списка, можно несколько.
  3. События — дерево: Сеанс, Данные, Пользователи, Информационная база, Фоновое задание и др.
  4. Метаданные — конкретный вид документа или справочника.
  5. Данные — сам объект, например «Реализация 00-000123».
  6. Уровень — например, только ошибки.
  7. Компьютер, Приложение, Сеанс, Комментарий.

Как читать строку журнала:

  • колонка «Событие» говорит, что произошло;
  • «Представление данных» — над каким объектом;
  • «Комментарий» — текст ошибки или пояснение, которое оставил код;
  • «Транзакция» со статусом «Отменена» значит, что изменение откатилось и в базу не попало.

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

Последнее про статус транзакции стоит запомнить. Если вы видите «Данные. Проведение» с отменённой транзакцией, документ на самом деле не провёлся — где-то дальше в журнале будет ошибка с причиной.

Практические примеры: кто удалил документ, кто заходил, почему упало задание

Кто удалил или изменил документ

  1. Интервал — с момента, когда документ точно был, до текущего.
  2. События — Данные → Удаление и Данные → Изменение.
  3. Метаданные — нужный вид документа.
  4. Ищите номер документа в колонке «Представление данных».

Пометка на удаление выглядит как обычное изменение объекта. Физическое удаление (после «Удаления помеченных объектов») — отдельное событие «Данные. Удаление». В журнале видно, кто выполнял обработку удаления.

Кто и с какого компьютера входил в базу

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

Почему не выполнилось регламентное задание или обмен

Отбор: уровень «Ошибка», приложение «Фоновое задание», интервал — время запуска. В комментарии будет текст исключения со стеком: имя модуля и номер строки. Этого обычно хватает, чтобы понять, сломался ли обмен на конкретном объекте или упал на соединении.

Кто обновлял конфигурацию

Отбор по событиям раздела «Информационная база». Видно пользователя, время и приложение «Конфигуратор». Полезно, когда после обновления что-то сломалось и нужно сопоставить время.

Журнал регистрации из кода: запись своих событий и выгрузка

Конфигурация может писать в журнал свои события методом ЗаписьЖурналаРегистрации. Это нужно для обработок, обменов и интеграций, где хочется видеть свой протокол рядом с платформенным.

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

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

Выгрузить записи в таблицу значений для анализа или отчёта можно методом ВыгрузитьЖурналРегистрации:

Отбор = Новый Структура;
Отбор.Вставить("ДатаНачала", НачалоДня(ТекущаяДатаСеанса()));
Отбор.Вставить("Уровень", УровеньЖурналаРегистрации.Ошибка);

Записи = Новый ТаблицаЗначений;
ВыгрузитьЖурналРегистрации(Записи, Отбор);

Для Каждого Строка Из Записи Цикл
    Сообщить(Строка(Строка.Дата) + " | " + Строка.Пользователь + " | " + Строка.Комментарий);
КонецЦикла;

Метод выполняется на сервере и требует права на журнал регистрации. На большом журнале всегда задавайте ДатаНачала: без отбора выгрузка всего журнала займёт минуты и съест память рабочего процесса.

Объём, скорость и типичные проблемы журнала регистрации

На базе с 30–50 активными пользователями журнал легко вырастает до десятков гигабайт за год. Последствия: журнал долго открывается, отбор «висит», на сервере кончается место на диске.

Что помогает:

  • 📅 разделение по дням или неделям, чтобы старые файлы можно было архивировать;
  • 🗜️ архивирование старых периодов: файлы журнала хорошо сжимаются;
  • ✂️ регулярное сокращение через Конфигуратор с выгрузкой удаляемого в файл;
  • 🎚️ уровень «Все события» — только на время расследования;
  • 💾 отдельный быстрый диск под srvinfo, если сервер 1С обслуживает много баз.

Каталог 1Cv8Log включите в резервное копирование отдельно от бэкапа SQL. Иначе после восстановления базы история действий пропадёт.

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

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

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