Журнал регистрации событий 1С: как открыть, найти нужную запись и не дать ему разрастись
Содержание
Журнал регистрации в 1С 8.3 открывается из раздела Администрирование → Обслуживание (группа «Отчеты администратора») в БП 3.0, ЗУП 3.1 и УТ 11, а в любой конфигурации — через Главное меню → Все функции → Стандартные → Журнал регистрации или из Конфигуратора: Администрирование → Журнал регистрации. Права на просмотр есть у пользователя с ролью «Администратор» или «Полные права».
Частое заблуждение — что журнал регистрации событий хранится внутри базы и пропадает вместе с ней. Это не так. Журнал — отдельные файлы в папке 1Cv8Log рядом с файловой базой или в каталоге сервера. Поэтому его можно найти, скопировать и проанализировать даже тогда, когда сама база не запускается, а очистка журнала не трогает учётные данные.
Как открыть журнал регистрации в режиме Предприятия
Механизм журнала общий для платформы 8.3, но кнопка входа в разных конфигурациях находится в разных местах.
| Конфигурация | Где искать журнал |
|---|---|
| Бухгалтерия предприятия 3.0 | Администрирование → Обслуживание → Журнал регистрации |
| ЗУП 3.1 | Администрирование → Обслуживание → Журнал регистрации |
| Управление торговлей 11 | НСИ и администрирование → Обслуживание → Журнал регистрации |
| Любая, в том числе нетиповая | Главное меню → Все функции → Стандартные → Журнал регистрации |
Если пункта «Все функции» в главном меню нет, включите его:
- Откройте
Главное меню → Сервис → Параметры. - Поставьте флажок «Отображать команду “Все функции”».
- Нажмите «Применить» — пункт появится в главном меню без перезапуска.
В типовых конфигурациях на БСП журнал открывается своей формой: с удобным отбором, группировкой и переходом к изменённому объекту. Стандартная форма из «Все функции» проще, зато работает в любой базе.
Ещё один короткий путь — из самого объекта. В карточке документа или справочника нажмите Еще и найдите команду истории или журнала регистрации по этому объекту (в типовых конфигурациях она есть в меню «Еще» у большинства объектов). Откроется журнал уже с отбором по данным.
Журнал на сервере 1С: где лежат файлы и что даёт консоль кластера
В клиент-серверном варианте журнал физически хранится на рабочем сервере 1С, в каталоге кластера:
C:\Program Files\1cv8\srvinfo\reg_1541\<GUID базы>\1Cv8Log\
Для файловой базы путь проще: <каталог базы>\1Cv8Log\.
Каталог srvinfo может быть переназначен при установке службы. Точный путь виден в параметрах службы «Агент сервера 1С:Предприятия 8.3» — ключ -d в строке запуска.
Как понять, какой GUID относится к вашей базе
Папки в reg_1541 названы идентификаторами, а не именами баз. Сопоставить их можно двумя способами:
- 📄 открыть файл
1CV8Clst.lstв каталогеreg_1541текстовым редактором и найти имя базы — GUID стоит рядом; - 🖥 выполнить в утилите администрирования кластера команду
rac infobase summary list --cluster=<id кластера>— в выводе естьinfobase(GUID) иname. Идентификатор кластера даётrac cluster list.
Что можно сделать в консоли администрирования
Сама консоль кластера (оснастка «Администрирование серверов 1С Предприятия») журнал регистрации не показывает. Её роль в расследованиях другая:
- 👥 посмотреть текущие сеансы и соединения: кто сейчас в базе, с какого компьютера, в каком приложении;
- 🔒 увидеть блокировки и «зависшие» сеансы, которые потом дадут записи об ошибках в журнале;
- ⚙️ проверить свойства информационной базы и рабочего сервера.
Сам журнал смотрят клиентом 1С, подключённым к этой базе, — из Предприятия или Конфигуратора.
Если база не открывается, а журнал нужен
Рабочий приём администратора: создайте пустую файловую базу
, остановите в ней работу, скопируйте в её каталог папку 1Cv8Log с сервера и откройте журнал регистрации через Конфигуратор этой пустой базы. Записи будут видны с датами, пользователями и комментариями. Имена объектов метаданных отобразятся корректно, если пустую базу создать из той же конфигурации.
Отбор и поиск событий в журнале регистрации
В журнале за год у базы на 20 пользователей легко набирается несколько миллионов записей. Без отбора он открывается медленно, а нужное теряется. Начинайте всегда с фильтра.
В стандартной форме нажмите Отбор, в форме БСП — Установить отбор. Основные поля:
| Поле отбора | Когда использовать |
|---|---|
| Интервал (дата начала и окончания) | Всегда. Сузьте до дня или часа, когда случилась проблема |
| Пользователь | Кто провёл, изменил или удалил документ |
| Компьютер | С какого рабочего места заходили |
| Приложение | Тонкий клиент, Конфигуратор, фоновое задание, COM-соединение, веб-клиент |
| Событие | «Данные. Удаление», «Сеанс. Аутентификация», обновление конфигурации и т. д. |
| Уровень (важность) | Ошибка, Предупреждение, Информация, Примечание |
| Метаданные | Конкретный вид документа или справочника |
| Данные | Конкретный объект: документ № 125 от 03.04 |
Типовые задачи и готовые отборы
- 🗑 Кто удалил документ. Событие «Данные. Удаление», в метаданных — вид документа. Пометку на удаление ищите по событию «Данные. Изменение»: снятие и установка пометки записываются как изменение объекта.
- 🔑 Кто и когда входил в базу. События «Сеанс. Начало» и «Сеанс. Аутентификация». Неудачные попытки входа — «Сеанс. Аутентификация (ошибка)».
- ⚙️ Когда обновляли конфигурацию. Отбор по приложению «Конфигуратор» и событиям группы «Информационная база».
- ❌ Что падало вчера вечером. Интервал — вечер, уровень — только «Ошибка».
Двойной щелчок по записи открывает её подробности: полный текст комментария, данные, номер сеанса и статус транзакции. Для ошибок там чаще всего стоит полный стек: модуль, строка, текст исключения.
Выгрузка и анализ журнала через SQL и встроенный язык
Когда записей миллионы, удобнее анализировать журнал вне формы. Способов два.
Запросы SQL к журналу в формате SQLite
У журнала два формата хранения:
- 📁 последовательный: файл
1Cv8.lgf(справочник пользователей , компьютеров, событий) и файлы*.lgpс записями; - 🗄 SQLite: один файл
1Cv8.lgd— это обычная база SQLite.
Формат .lgd можно открыть любым клиентом SQLite: утилитой sqlite3 или DB Browser for SQLite. Работайте только с копией файла: открытый на запись рабочий журнал можно повредить, а сервер держит его заблокированным.
Сначала посмотрите структуру:
.tables
.schema EventLog
Основная таблица записей — EventLog. Пользователи, компьютеры и события вынесены в справочные таблицы и связаны с ней по коду. Пример: сколько ошибок дал каждый пользователь.
SELECT u.name AS user_name, COUNT(*) AS cnt
FROM EventLog e
JOIN UserCodes u ON u.code = e.userCode
WHERE e.severity = 3
GROUP BY u.name
ORDER BY cnt DESC;
Имена полей и коды уровней важности сверьте с выводом .schema в вашей копии: структура .lgd не документирована как публичный интерфейс и может отличаться между версиями платформы. Дату в этой базе хранят числом, поэтому для отбора по периоду сначала посмотрите на значения поля date в нескольких строках.
Выгрузка средствами 1С
Встроенный язык даёт метод платформы ВыгрузитьЖурналРегистрации. Он кладёт записи в таблицу значений или в XML-файл по заданному отбору. Удобно для обработки, которая раз в сутки собирает ошибки и отправляет их администратору.
Отбор = Новый Структура;
Отбор.Вставить("ДатаНачала", НачалоДня(ТекущаяДата()));
Отбор.Вставить("ДатаОкончания", КонецДня(ТекущаяДата()));
Отбор.Вставить("Уровень", УровеньЖурналаРегистрации.Ошибка);
Записи = Новый ТаблицаЗначений;
ВыгрузитьЖурналРегистрации(Записи, Отбор);
Для Каждого Запись Из Записи Цикл
Сообщить(Строка(Запись.Дата) + " | " + Запись.ИмяПользователя + " | " + Запись.Комментарий);
КонецЦикла;
Код выполняйте на сервере: в клиентском контексте метод недоступен. Для обычного пользователя без административных прав выгрузка вернёт ошибку доступа.
Настройка уровня регистрации и разделения журнала
Объём журнала зависит от двух настроек. Обе задаются в Конфигураторе: Администрирование → Настройка журнала регистрации.
Уровень регистрации
| Уровень | Что попадает | Когда выбирать |
|---|---|---|
| Не регистрировать | Ничего | Почти никогда: расследовать будет нечего |
| Регистрировать ошибки | Только ошибки | Слабый сервер, огромный поток операций |
| Ошибки и предупреждения | Плюс предупреждения | Компромисс для крупных баз |
| Ошибки, предупреждения и информацию | Плюс входы, изменения данных | Обычный выбор для учётной базы |
| Регистрировать все события | Плюс примечания | На время расследования |
Если поставить «Регистрировать ошибки», в журнал перестанут попадать изменения и удаления данных. Ответить на вопрос «кто удалил документ» после этого будет нельзя.
Разделение по периодам
В той же форме задаётся, как делить журнал на файлы: по часам, дням, неделям, месяцам или годам. Для базы на десятки пользователей разумно делить по месяцам. Тогда старые периоды лежат отдельными файлами, их легко архивировать, а текущий файл остаётся небольшим.
Для журнала в последовательном формате деление видно сразу — в папке 1Cv8Log появляются файлы *.lgp с датой периода в имени.
Разбор ошибок и диагностика сбоев по журналу
Журнал — первое место, куда смотрят после жалобы «1С выдала ошибку и закрылась». Порядок работы:
- Узнайте у пользователя примерное время и его имя в базе.
- Поставьте отбор: интервал ±15 минут, пользователь, уровень «Ошибка».
- Откройте запись двойным щелчком и прочитайте комментарий целиком — там текст исключения и место в коде.
- Посмотрите соседние записи этого же сеанса (отбор по номеру сеанса): что пользователь делал перед сбоем.
- Проверьте статус транзакции. «Отменена» означает, что изменения не записались и документ нужно провести заново.
Когда журнала регистрации недостаточно
Журнал фиксирует события прикладного уровня: кто, что и когда сделал. Он не покажет длительность запросов, взаимоблокировки на СУБД и аварии рабочих процессов. Для этого включают технологический журнал — файл logcfg.xml в каталоге conf платформы, например C:\Program Files\1cv8\conf\. Его включают точечно на время диагностики: при подробных настройках он за час занимает гигабайты.
Очистка, сокращение и архивация журнала регистрации
Журнал за несколько лет в нагруженной базе вырастает до десятков гигабайт. Он не замедляет проведение документов напрямую, но долго открывается, тяжелее копируется и занимает место на диске сервера.
Сокращение через Конфигуратор
- Откройте Конфигуратор нужной базы.
- Перейдите в
Администрирование → Настройка журнала регистрации. - Нажмите «Сократить».
- Укажите дату: записи раньше неё будут удалены.
- Включите сохранение удаляемых записей в файл и укажите путь — так получится архив, который потом можно открыть.
Перед сокращением сделайте копию папки 1Cv8Log. Удалённые записи без сохранения в файл восстановить нельзя, а они бывают нужны при спорах о том, кто и когда изменил документ. Сокращение большого журнала на сервере нагружает диск — запускайте его вне рабочего времени.
Архивация вручную
Если журнал разделён по периодам, старые файлы *.lgp можно переносить в архив. Порядок для сервера:
- Предупредите пользователей и выберите время без работы в базе.
- Скопируйте файлы старых периодов из
1Cv8Logв архивный каталог. - Удалите из рабочей папки только файлы закрытых периодов. Файл
1Cv8.lgfи текущий период не трогайте.
Ручное удаление файлов из каталога сервера во время работы пользователей может дать ошибки записи в журнал. Если сомневаетесь, остановите службу агента сервера — при этом все сеансы пользователей оборвутся, поэтому делайте это только в согласованное окно обслуживания.
Сколько хранить
Правило из практики: держать в рабочем журнале 3–6 месяцев, остальное — в архиве не меньше срока, за который могут возникнуть вопросы по данным. Для учётной базы удобная граница — закрытый и сданный отчётный период плюс запас.
Частые вопросы о журнале регистрации
Можно ли запретить пользователю видеть журнал регистрации?
Видно ли в журнале, какое именно поле документа изменили?
Почему в журнале время отличается от времени на компьютере пользователя?
Влияет ли размер журнала на скорость работы базы?
Попадает ли журнал в выгрузку .dt?
.dt содержит данные и конфигурацию. Журнал копируйте отдельно — всей папкой 1Cv8Log.