Как устроен журнал регистрации в 1С 8.3 и как с ним работать администратору
Содержание
Журнал регистрации в 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 нужной базы:
- Откройте файл
1CV8Clst.lstв каталогеreg_1541любым текстовым редактором (только для чтения!). В нём рядом с именем базы стоит её идентификатор. - Или выполните на сервере
rac infobase summary list --cluster=<id кластера>— команда выводит идентификаторы и имена баз. Идентификатор кластера даётrac cluster list. - Ещё проще — отсортировать папки внутри
reg_1541по дате изменения: у рабочей базы1Cv8Logобновляется постоянно.
Два формата файлов
| Формат | Файлы | Особенности |
|---|---|---|
| Последовательный (старый) | 1Cv8.lgf + набор *.lgp | быстрая запись, файлы легко архивировать и удалять по периодам |
| SQLite (новый) | один или несколько *.lgd | удобный отбор, но медленнее на больших объёмах |
Какой формат создаётся по умолчанию, зависит от версии платформы, на которой создавали базу. Посмотрите содержимое 1Cv8Log, и всё станет ясно.
Не удаляйте и не редактируйте файл 1Cv8.lgf у работающей базы. В нём словари пользователей, компьютеров и метаданных. Без него записи из *.lgp не прочитать.
Как открыть журнал регистрации в 1С
В пользовательском режиме
В Бухгалтерии 3.0, ЗУП 3.1, УТ 11 и других конфигурациях на БСП:
- Откройте раздел
Администрирование. - Перейдите в
Обслуживание. - Нажмите ссылку
Журнал регистрации.
Универсальный способ для любой конфигурации — Все функции → Стандартные → Журнал регистрации. Если пункта «Все функции» нет в главном меню, включите его: Сервис и настройки → Параметры → Отображать команду «Все функции».
В Конфигураторе
Меню Администрирование → Журнал регистрации. Здесь журнал можно открыть, даже если пользовательский режим не запускается из-за ошибки. Это удобно, когда база падает при старте.
Кому журнал доступен
Просмотр управляется правом «Журнал регистрации» на уровне конфигурации. В типовых решениях оно есть у профиля «Администратор». Обычный бухгалтер журнал не видит — и это правильно: там видны действия всех пользователей.
Настройка журнала регистрации: уровень событий и периоды
Настройка делается только в Конфигураторе: Администрирование → Настройка журнала регистрации.
Уровень регистрации
В окне выбирают, что писать:
- 🚫 не регистрировать;
- ❌ только ошибки;
- ⚠️ ошибки и предупреждения;
- ℹ️ ошибки, предупреждения и информацию;
- 📚 все события (включая примечания).
Ключевой момент, который часто упускают: события изменения данных («Данные. Изменение», «Данные. Удаление», проведение) пишутся с уровнем «Информация». Если оставить «только ошибки», журнал не скажет, кто удалил документ. Для бухгалтерских баз ставьте минимум «ошибки, предупреждения и информацию».
«Все события» добавляют примечания — это заметно увеличивает объём. Включайте такой режим на время расследования, а потом возвращайте обратно.
Разделение журнала по периодам
В той же форме задают, как дробить файлы: по дням, месяцам и т.д. Для активной базы на 20–50 пользователей разумно разделять по дням или неделям. Тогда старые периоды легко архивировать и удалять, не трогая текущие.
Сокращение журнала
Кнопка «Сократить» удаляет записи до указанной даты. Перед удалением платформа предлагает сохранить удаляемые события в файл — соглашайтесь, если записи могут понадобиться при проверке или споре с сотрудником.
Настройку журнала меняйте в нерабочее время или предупредите пользователей: смена формата и сокращение большого журнала занимают время и нагружают диск.
Как читать журнал и настраивать отбор событий
Открыв журнал без отбора на рабочей базе, вы получите десятки тысяч строк. Работать с ним нужно только через отбор: кнопка Установить отбор (в Конфигураторе — пиктограмма воронки).
Поля отбора, которые используются чаще всего:
- Интервал — всегда сужайте до нескольких часов или дней.
- Пользователи — выбираются из списка, можно несколько.
- События — дерево: Сеанс, Данные, Пользователи, Информационная база, Фоновое задание и др.
- Метаданные — конкретный вид документа или справочника.
- Данные — сам объект, например «Реализация 00-000123».
- Уровень — например, только ошибки.
- Компьютер, Приложение, Сеанс, Комментарий.
Как читать строку журнала:
- колонка «Событие» говорит, что произошло;
- «Представление данных» — над каким объектом;
- «Комментарий» — текст ошибки или пояснение, которое оставил код;
- «Транзакция» со статусом «Отменена» значит, что изменение откатилось и в базу не попало.
Двойной щелчок по строке открывает подробности события. Из детального окна можно перейти к самому объекту, если он ещё существует.
Последнее про статус транзакции стоит запомнить. Если вы видите «Данные. Проведение» с отменённой транзакцией, документ на самом деле не провёлся — где-то дальше в журнале будет ошибка с причиной.
Практические примеры: кто удалил документ, кто заходил, почему упало задание
Кто удалил или изменил документ
- Интервал — с момента, когда документ точно был, до текущего.
- События —
Данные → УдалениеиДанные → Изменение. - Метаданные — нужный вид документа.
- Ищите номер документа в колонке «Представление данных».
Пометка на удаление выглядит как обычное изменение объекта. Физическое удаление (после «Удаления помеченных объектов») — отдельное событие «Данные. Удаление». В журнале видно, кто выполнял обработку удаления.
Кто и с какого компьютера входил в базу
Отбор: события Сеанс → Начало и Сеанс → Ошибка аутентификации, интервал — ночь или выходные. Колонки «Компьютер» и «Приложение» покажут, откуда шли подключения. Серия ошибок аутентификации подряд с одного компьютера — повод сменить пароли и проверить, кто имеет доступ к этой машине.
Почему не выполнилось регламентное задание или обмен
Отбор: уровень «Ошибка», приложение «Фоновое задание», интервал — время запуска. В комментарии будет текст исключения со стеком: имя модуля и номер строки. Этого обычно хватает, чтобы понять, сломался ли обмен на конкретном объекте или упал на соединении.
Кто обновлял конфигурацию
Отбор по событиям раздела «Информационная база». Видно пользователя, время и приложение «Конфигуратор». Полезно, когда после обновления что-то сломалось и нужно сопоставить время.
Журнал регистрации из кода: запись своих событий и выгрузка
Конфигурация может писать в журнал свои события методом ЗаписьЖурналаРегистрации. Это нужно для обработок, обменов и интеграций, где хочется видеть свой протокол рядом с платформенным.
Попытка
ЗагрузитьФайл(ИмяФайла);
ЗаписьЖурналаРегистрации("Обмен.ЗагрузкаИзБанка",
УровеньЖурналаРегистрации.Информация, , ,
"Загружен файл: " + ИмяФайла);
Исключение
ЗаписьЖурналаРегистрации("Обмен.ЗагрузкаИзБанка",
УровеньЖурналаРегистрации.Ошибка, , ,
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ВызватьИсключение;
КонецПопытки;
Своё имя события удобно делать составным через точку: в отборе такие события группируются, их легко найти среди платформенных.
Выгрузить записи в таблицу значений для анализа или отчёта можно методом ВыгрузитьЖурналРегистрации:
Отбор = Новый Структура;
Отбор.Вставить("ДатаНачала", НачалоДня(ТекущаяДатаСеанса()));
Отбор.Вставить("Уровень", УровеньЖурналаРегистрации.Ошибка);
Записи = Новый ТаблицаЗначений;
ВыгрузитьЖурналРегистрации(Записи, Отбор);
Для Каждого Строка Из Записи Цикл
Сообщить(Строка(Строка.Дата) + " | " + Строка.Пользователь + " | " + Строка.Комментарий);
КонецЦикла;
Метод выполняется на сервере и требует права на журнал регистрации. На большом журнале всегда задавайте ДатаНачала: без отбора выгрузка всего журнала займёт минуты и съест память рабочего процесса.
Объём, скорость и типичные проблемы журнала регистрации
На базе с 30–50 активными пользователями журнал легко вырастает до десятков гигабайт за год. Последствия: журнал долго открывается, отбор «висит», на сервере кончается место на диске.
Что помогает:
- 📅 разделение по дням или неделям, чтобы старые файлы можно было архивировать;
- 🗜️ архивирование старых периодов: файлы журнала хорошо сжимаются;
- ✂️ регулярное сокращение через Конфигуратор с выгрузкой удаляемого в файл;
- 🎚️ уровень «Все события» — только на время расследования;
- 💾 отдельный быстрый диск под
srvinfo, если сервер 1С обслуживает много баз.
Каталог 1Cv8Log включите в резервное копирование
отдельно от бэкапа SQL. Иначе после восстановления базы история действий пропадёт.
Частые вопросы о журнале регистрации 1С
Можно ли восстановить удалённый документ по журналу регистрации?
Попадает ли журнал регистрации в выгрузку .dt?
Можно ли запретить администратору чистить журнал?
Пишет ли журнал, какие реквизиты изменились в документе?
Как посмотреть журнал, если база не запускается?
Администрирование → Журнал регистрации. Если не открывается и Конфигуратор, скопируйте папку 1Cv8Log и подключите её к любой пустой базе той же версии платформы, заменив её собственный журнал.