Журнал регистрации 1С: где лежат файлы .lgp и как их прочитать
Содержание
Журнал регистрации 1С открывают из самой программы: в режиме 1С:Предприятие через Функции для технического специалиста → Стандартные → Журнал регистрации, в Конфигураторе — через Администрирование → Журнал регистрации. Отдельной программы lgp.exe нет: .lgp — это расширение файлов, в которых платформа хранит записи журнала. Запускать их как программу бесполезно, их читает просмотрщик 1С.
Типичная ситуация: утром бухгалтер говорит, что «из базы пропала реализация за прошлую неделю». Чтобы понять, кто и когда её удалил, нужен журнал. А если база уже недоступна или это копия с другого сервера — нужно открыть сами файлы .lgp и .lgf. Оба пути разобраны ниже по шагам.
Что хранит журнал регистрации и из каких файлов он состоит
Журнал регистрации — встроенный протокол информационной базы. Платформа пишет туда:
- 🔑 входы и выходы пользователей, ошибки аутентификации;
- 📝 создание, изменение, проведение и удаление объектов;
- ⚙️ обновление конфигурации и структуры базы;
- ⛔ ошибки выполнения кода, сбои фоновых и регламентных заданий;
- 💬 собственные события, которые программист пишет методом
ЗаписьЖурналаРегистрации().
Физически журнал лежит в папке 1Cv8Log. Формата два, и от него зависит, какие файлы вы увидите.
| Формат | Файлы | Как устроен |
|---|---|---|
| Последовательный (текстовый) | 1Cv8.lgf + много файлов ГГГГММДДЧЧММСС.lgp | .lgf — словарь (пользователи, компьютеры, события, объекты), .lgp — сами записи по периодам |
| SQLite | один файл 1Cv8.lgd | Записи и словари внутри одной базы SQLite |
Пример имени файла данных: 20261005000000.lgp — записи, начиная с 5 октября 2026 года. Сколько таких файлов будет, зависит от настройки разделения журнала по периодам.
Файл .lgp без своего .lgf почти бесполезен. В записях стоят номера, а расшифровка номеров (кто пользователь, что за событие) лежит в словаре. Копируйте папку 1Cv8Log целиком.
Журнал регистрации не путают с технологическим журналом. Технологический журнал включают отдельно файлом logcfg.xml, он пишет вызовы СУБД, блокировки, исключения рабочих процессов и нужен для разбора производительности. Журнал регистрации — про действия пользователей и прикладные события.
Как открыть журнал регистрации 1С из программы
Есть три способа открыть журнал регистрации, если база запускается.
В режиме 1С:Предприятие
- Запустите базу под пользователем с правом на просмотр журнала (см. раздел о правах).
- Откройте главное меню (кнопка с тремя полосками в левом верхнем углу) →
Функции для технического специалиста. - Если пункта нет, включите его:
Сервис и настройки → Параметры → Режим технического специалиста. - В списке разверните
Стандартные→Журнал регистрации.
Из раздела администрирования типовой конфигурации
В Бухгалтерии 3.0, ЗУП 3.1, УТ 11 и других конфигурациях на БСП журнал вынесен в раздел Администрирование → Обслуживание. Там он открывается в форме БСП: с удобным отбором по пользователю, событию и объекту, а также с кнопкой просмотра данных изменённого объекта.
В Конфигураторе
Откройте Администрирование → Журнал регистрации. Форма старше и аскетичнее, но в ней есть то, чего нет в пользовательском режиме: открытие файлов журнала другой базы (следующий раздел).
В любом окне журнала сначала ставьте отбор по интервалу дат. Без отбора платформа читает весь журнал, и на базе с журналом в несколько гигабайт окно открывается минутами.
Как прочитать файлы .lgp и .lgf отдельно от базы
Это и есть тот случай, когда ищут «запуск lgp.exe». Файлы есть, а база на другом сервере, повреждена или вообще удалена. Двойной щелчок по .lgp ничего не даст: это текст со служебными номерами.
Способ 1. Открыть через Конфигуратор любой базы
- Скопируйте папку
1Cv8Logцеликом в рабочий каталог, напримерD:\logs\buh\1Cv8Log. - Запустите Конфигуратор любой файловой базы. Подойдёт пустая, созданная за минуту.
- Откройте
Администрирование → Журнал регистрации. - В окне журнала выберите в меню
Файл → Открытьи укажите файл1Cv8.lgf(или1Cv8.lgdдля формата SQLite) из скопированной папки. - Поставьте отбор по датам и ищите нужные события.
Способ 2. Подложить журнал в пустую базу
- Создайте новую пустую файловую базу .
- Закройте все её сеансы.
- Удалите в каталоге пустой базы папку
1Cv8Logи скопируйте на её место папку из нужной базы. - Откройте журнал любым способом из предыдущего раздела.
Объекты в журнале останутся с представлениями, которые платформа записала в момент события, — номер и дату документа вы увидите. А вот открыть сам документ двойным щелчком не получится: его нет в пустой базе.
Способ 3. Прочитать текстом
Файлы .lgp и .lgf — обычный текст в кодировке UTF-8. Их открывают любым редактором, который тянет большие файлы, и ищут строки поиском. Для разовой проверки «был ли вход пользователя Иванов 3 октября» этого хватает. Файл 1Cv8.lgd открывается любым просмотрщиком SQLite.
Не работайте с живыми файлами журнала на рабочем сервере. Сначала скопируйте папку, потом открывайте копию. Внешний редактор может заблокировать файл, и платформа не сможет дописать новые события.
Права доступа к журналу регистрации
Права нужны двух видов: в самой 1С и на уровне файловой системы.
Права в конфигурации
Просмотр журнала разрешает право «Журнал регистрации» в роли. В типовых конфигурациях оно есть в полных правах и в роли администратора системы.
На конфигурациях с БСП права раздают не ролями, а профилями групп доступа: Администрирование → Настройки пользователей и прав → Группы доступа. Пользователь, включённый в группу с профилем «Администратор», журнал видит. Бухгалтеру без административного профиля пункт либо не показывается, либо форма откроется с сообщением о нехватке прав.
Если журнал нужен руководителю или аудитору только на чтение, не давайте ему профиль «Администратор» целиком. Программист добавит право «Журнал регистрации» в отдельную роль через расширение конфигурации, а вы включите эту роль в новый профиль.
Права на файлы
- 📂 Файловая база: у каждого пользователя Windows должно быть право на изменение каталога базы, включая
1Cv8Log. Без записи в журнал база может не открыться совсем. - 🖥️ Серверная база: писать в журнал должна учётная запись, от которой запущена служба сервера 1С (по умолчанию
USR1CV8). Ей нужны права на каталогsrvinfo. - 🛡️ Антивирус: добавьте
1Cv8Logиsrvinfoв исключения. Проверка каждого изменения файла журнала заметно тормозит работу.
Журнал в файловой и клиент-серверной базе: где искать логи
Сам журнал работает одинаково, различается место хранения и то, кто в него пишет.
| Файловая база | Клиент-серверная база | |
|---|---|---|
| Где лежит | Каталог базы → 1Cv8Log | srvinfo\reg_1541\<GUID базы>\1Cv8Log на центральном сервере кластера |
| Кто пишет | Клиентское приложение каждого пользователя | Процессы сервера 1С |
| Как найти базу | Путь из списка баз | GUID в файле 1CV8Clst.lst |
| Доступ к файлам | Тот же сетевой ресурс, что и база | Только с сервера, где запущена служба |
Каталог srvinfo при установке сервера как службы обычно лежит в C:\Program Files\1cv8\srvinfo. Точный путь виден в параметрах запуска службы «Агент сервера 1С:Предприятия» (ключ -d).
Как найти папку нужной серверной базы:
- Откройте каталог
srvinfo\reg_1541. - Откройте файл
1CV8Clst.lstтекстовым редактором (только читать, не сохранять). - Найдите поиском имя базы. Рядом с ним стоит GUID вида
a1b2c3d4-…. - Подпапка с этим GUID — каталог базы, внутри неё
1Cv8Log.
Номер 1541 в имени каталога — порт менеджера кластера. Если кластер поднят на другом порту, папка называется иначе, например reg_2541.
Как читать события: уровни, имена событий и формат строки
В окне журнала события показаны по-русски. В файлах и при выгрузке кодом встречаются служебные имена. Самые частые:
| Служебное имя | В окне журнала | Что искать |
|---|---|---|
_$Session$_.Start / .Finish | Сеанс. Начало / Завершение | Кто и когда работал |
_$Session$_.AuthenticationError | Сеанс. Ошибка аутентификации | Подбор пароля, неверный вход |
_$Data$_.New / .Update | Данные. Добавление / Изменение | Кто создал или исправил объект |
_$Data$_.Delete | Данные. Удаление | Кто удалил документ |
_$Data$_.Post / .Unpost | Данные. Проведение / Отмена проведения | Перепроведение задним числом |
_$InfoBase$_.ConfigUpdate | Информационная база. Изменение конфигурации | Кто менял конфигурацию |
_$PerformError$_ | Ошибка выполнения | Ошибки кода с текстом исключения |
_$Job$_.Fail | Фоновое задание. Ошибка выполнения | Упавшие регламентные задания |
Уровни важности в файле обозначены буквами: I — информация, W — предупреждение, E — ошибка, N — примечание.
Строка в .lgp выглядит как набор полей в фигурных скобках. Первое поле — дата и время в виде 20261005143012, дальше статус транзакции, номера пользователя, компьютера, приложения и события из словаря .lgf, буква важности, комментарий, объект и его представление. Приложение тоже кодируется: 1CV8C — тонкий клиент, 1CV8 — толстый, Designer — Конфигуратор, BackgroundJob — фоновое задание, COMConnection — внешнее соединение.
Как быстро найти, кто удалил документ
- Отбор по периоду: от даты, когда документ точно был, до сегодня.
- Отбор по событию: «Данные. Удаление» и «Данные. Пометка удаления» (если есть в списке событий вашей версии).
- Отбор по метаданным: нужный вид документа.
- В найденной строке смотрите колонки «Пользователь», «Компьютер» и «Представление данных».
Если удаление не нашлось, проверьте уровень журнала: при настройке «Регистрировать ошибки» изменения данных туда просто не пишутся.
Ошибки при открытии журнала и что с ними делать
Администрирование → Настройка журнала регистрации → выберите «Регистрировать все события». Старые события это не вернёт, писаться будут новые.Переименование файла журнала и сокращение журнала на серверной базе делайте вне рабочего времени. Для замены файла придётся завершить сеансы пользователей, иначе файл занят процессом сервера.
Настройка журнала, чтобы проблема не повторилась
В Конфигураторе: Администрирование → Настройка журнала регистрации. Там три полезные вещи:
- 📊 уровень регистрации — для учётной базы ставьте «все события», иначе не найдёте, кто изменил документ;
- 🗂️ разделение журнала по периодам — для последовательного формата отдельные файлы
.lgpза период проще архивировать; - ✂️ сокращение журнала — удаляет записи старше выбранной даты и может сохранить их в отдельный файл.
Автоматизация: выгрузка и анализ журнала кодом
Для регулярных проверок окно журнала неудобно. Встроенный язык даёт метод ВыгрузитьЖурналРегистрации(): он выбирает записи с отбором в таблицу значений или в XML-файл. Метод работает только на сервере и требует права на журнал регистрации.
Пример: собрать ошибки за текущий день.
&НаСервере
Процедура ОшибкиЗаСегодняНаСервере()
Отбор = Новый Структура;
Отбор.Вставить("ДатаНачала", НачалоДня(ТекущаяДатаСеанса()));
Отбор.Вставить("Уровень", УровеньЖурналаРегистрации.Ошибка);
Таблица = Новый ТаблицаЗначений;
ВыгрузитьЖурналРегистрации(Таблица, Отбор);
Для Каждого Строка Из Таблица Цикл
Сообщить(Формат(Строка.Дата, "ДФ='dd.MM.yyyy HH:mm'") + " | "
+ Строка.ИмяПользователя + " | " + Строка.Комментарий);
КонецЦикла;
КонецПроцедуры
Чтобы выгрузить то же самое в файл, первым параметром передайте путь: ВыгрузитьЖурналРегистрации("D:\logs\errors.xml", Отбор).
Что ещё автоматизируют на практике:
- Свои события. Метод
ЗаписьЖурналаРегистрации("Обмен.Загрузка", УровеньЖурналаРегистрации.Ошибка, , , ТекстОшибки)пишет ошибку обмена под понятным именем, и её потом легко отобрать. - Регламентное задание. Ночью выгружать ошибки за сутки и отправлять письмо администратору.
- Внешние системы анализа. Для десятков баз журналы собирают в ClickHouse или Elasticsearch открытыми загрузчиками, которые читают
.lgpи.lgdнапрямую. Там строят графики ошибок и входов. - Архив. Скрипт раз в месяц копирует закрытые файлы
.lgpза прошлый период в архивное хранилище. Текущий, открытый на запись файл не трогайте.