Журнал регистрации 1С в файлах .lgp: где лежит, как прочитать и почистить

· 9 мин

Содержание

Файл с расширением .lgp — это кусок журнала регистрации 1С:Предприятия 8.3 в последовательном (текстовом) формате. Открывать его удобнее всего из самой 1С: Администрирование → Поддержка и обслуживание → Журнал регистрации в пользовательском режиме или Администрирование → Журнал регистрации в Конфигураторе. Платформа сама читает все файлы .lgp и подставляет расшифровку из словаря 1Cv8.lgf.

Блокнотом файл тоже открывается, но вместо имён пользователей и событий вы увидите числовые индексы. Поэтому файлы .lgp никогда не копируют поодиночке: без словаря .lgf они почти ничего не говорят. А если папка журнала разрослась до гигабайт, старые .lgp можно вынести в архив, не останавливая учёт, — главное не трогать словарь и текущий файл.

Что хранится в файлах LGP и где их найти

Журнал регистрации пишет, кто, когда и что сделал в базе: входы и выходы, запись и проведение документов, ошибки, обновления конфигурации, фоновые задания. В последовательном формате он хранится набором файлов в папке 1Cv8Log:

  • 📘 1Cv8.lgf — словарь. В нём перечислены пользователи, компьютеры, приложения, события, объекты метаданных, серверы и порты. Каждому значению присвоен номер.
  • 📄 ГГГГММДДЧЧММСС.lgp — файлы с самими событиями, например 20261001000000.lgp. Имя — дата и время начала периода. В записях вместо «Иванов» стоит номер из словаря.
  • 🗂 .lgx — индексные файлы, если они есть. Платформа строит их для быстрого поиска, это не данные, а служебная структура.

Где лежит папка:

Вариант базыПуть к журналу
Файловая<каталог базы>\1Cv8Log, рядом с файлом 1Cv8.1CD
Клиент-серверная<каталог srvinfo>\reg_1541\<GUID базы>\1Cv8Log на рабочем сервере

Каталог srvinfo по умолчанию находится в C:\Program Files\1cv8\srvinfo, но при установке службы его часто переносят. Точный путь виден в параметрах запуска службы агента сервера 1С (ключ -d). GUID базы показывает консоль администрирования серверов в свойствах информационной базы.

Кроме последовательного формата есть второй — SQLite: весь журнал лежит в одном файле 1Cv8.lgd. Если в папке 1Cv8Log нет ни одного .lgp, но есть .lgd, база пишет журнал в новом формате, и всё, что ниже сказано про разбор .lgp вручную, к ней не относится.

Как открыть файл LGP средствами 1С

Самый надёжный способ — смотреть журнал через платформу. Она сама сопоставит индексы со словарём, отфильтрует период и покажет данные в таблице.

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

  1. Откройте базу под пользователем с полными правами.
  2. Перейдите в Администрирование → Поддержка и обслуживание → Журнал регистрации (БП 3.0, ЗУП 3.1, УТ 11 и другие конфигурации на БСП).
  3. Нажмите «Установить отбор» и ограничьте период: на больших журналах без отбора форма открывается минутами.
  4. Двойной клик по строке показывает подробности: данные, представление объекта, сеанс, транзакцию.

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

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

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

Если нужен журнал чужой или удалённой базы

Файлы .lgp без словаря 1Cv8.lgf бесполезны: восстановить по ним имена пользователей и событий нельзя. Поэтому журнал всегда копируют целиком, всю папку 1Cv8Log. Дальше есть два пути:

  • 🧪 создать пустую файловую базу , остановить с ней работу и заменить её папку 1Cv8Log скопированной. После запуска журнал будет читаться, но названия объектов метаданных покажутся корректно только при той же конфигурации;
  • 🛠 разобрать файлы внешней утилитой или своим скриптом (про формат — в следующем разделе).

Как устроена запись внутри LGP

Файл .lgp — это текст в кодировке UTF-8. В начале стоит заголовок с версией формата вида 1CV8LOG(ver 2.0) и идентификатор, дальше идут записи в фигурных скобках, по одной на событие. Упрощённо запись выглядит так:

{20261001093015,N,
{0,0},3,1,2,15,4,I,"",0,
{"U"},"",1,1,0,7,0,
{0}
},

Смысл основных полей по порядку:

ПолеПримерЧто означает
Дата и время2026100109301501.10.2026 09:30:15
Статус транзакцииNN — без транзакции, U — зафиксирована, R — отменена, C — не завершена
Транзакция{0,0}Дата и номер транзакции в шестнадцатеричном виде
Пользователь3Номер в словаре 1Cv8.lgf
Компьютер1Номер в словаре
Приложение2Тонкий клиент, Конфигуратор, фоновое задание и т. п.
Соединение15Номер соединения
Событие4Номер события в словаре
ВажностьII — информация, W — предупреждение, E — ошибка, N — примечание
Комментарий""Текст, часто здесь сообщение об ошибке
Метаданные0Номер объекта метаданных в словаре

За ними следуют данные события, представление данных, сервер, порты и номер сеанса. Расположение хвостовых полей в разных версиях платформы немного отличается, поэтому самописный разборщик проверяйте на своём журнале.

Не правьте .lgp и .lgf руками в рабочей базе. Лишняя запятая или скобка, и платформа перестанет читать журнал целиком.

Как перевести LGP в текст, Excel или XML

Прямого «конвертера .lgp в .txt» в 1С нет, но он и не нужен. Платформа отдаёт журнал в любом нужном виде.

Способ 1. Вывести список из формы журнала

  1. Откройте журнал регистрации и задайте отбор.
  2. В меню «Ещё» выберите «Вывести список ».
  3. Отметьте нужные колонки и нажмите «ОК» — получится табличный документ.
  4. Сохраните его через «Сохранить как» в .txt, .xlsx или .mxl.

Подходит для разовых выборок на несколько тысяч строк: например, все удаления документов за месяц.

Способ 2. Выгрузка в XML кодом

Для автоматического разбора используйте метод платформы ВыгрузитьЖурналРегистрации. Он пишет отобранные записи в XML-файл, где вместо индексов уже стоят расшифрованные значения. Пример для внешней обработки, выполняемый на сервере:

&НаСервереБезКонтекста
Процедура ВыгрузитьОшибкиЗаНеделю(ИмяФайла)

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

    ВыгрузитьЖурналРегистрации(ИмяФайла, Отбор);

КонецПроцедуры

Если нужна таблица прямо в 1С, а не файл, тот же отбор передайте в ПолучитьЖурналРегистрации(ТаблицаЗначений, Отбор). Учтите, что метод работает только на сервере и требует административных прав.

Способ 3. Внешний разбор

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

А при чём тут .cf?

Ни при чём. Файл .cf — это выгрузка конфигурации, .lgp — журнал событий. Конвертировать одно в другое невозможно. Если вы ищете способ «достать конфигурацию из логов», такого способа нет: журнал хранит только факты действий, а не код и не данные базы.

Настройка журнала регистрации

Объём и состав .lgp определяются настройками в Конфигураторе: Администрирование → Настройка журнала регистрации.

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

  • 🔴 только ошибки — минимальный объём, подходит для небольших файловых баз;
  • 🟠 ошибки и предупреждения;
  • 🟡 ошибки, предупреждения и информация;
  • 🟢 все события — включая примечания; полная картина, но файлы растут быстрее всего;
  • ⚪ не регистрировать — журнал отключён.

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

Период разделения журнала задаёт, как часто платформа начинает новый файл .lgp: по дням, неделям, месяцам и т. д. Для активной базы ставьте разделение по дням или неделям. Мелкие файлы проще архивировать и удалять, а форма журнала открывается быстрее.

В том же окне меняется и формат хранения: последовательный (.lgp + .lgf) или SQLite (.lgd). При смене формата платформа переносит существующие записи, поэтому на большом журнале операция идёт долго. Делайте её вне рабочего времени.

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

Архивация и очистка старых файлов LGP

Журнал не чистится сам. На базе с сотней пользователей папка 1Cv8Log легко дорастает до десятков гигабайт за пару лет.

Штатное сокращение журнала

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

Это безопасный путь: платформа сама разберётся со словарём и индексами.

Перенос старых файлов вручную

Поскольку каждый .lgp охватывает свой период, старые файлы можно переносить в архив. Правила:

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

Пример задания для планировщика Windows на PowerShell: упаковать в архив и удалить .lgp старше 90 дней.

$log  = "D:\1C\Bases\Buh\1Cv8Log"
$arch = "E:\Archive\1Cv8Log"
$date = Get-Date -Format "yyyyMMdd"
$old  = Get-ChildItem $log -Filter *.lgp |
        Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-90) }

if ($old) {
    New-Item -ItemType Directory -Force -Path $arch | Out-Null
    $files = @($old.FullName) + "$log\1Cv8.lgf"
    Compress-Archive -Path $files -DestinationPath "$arch\log_$date.zip"
    $old | Remove-Item
}

Скрипт берёт файлы по дате последней записи, поэтому текущий .lgp в выборку не попадает. Запустите его сначала без строки Remove-Item и проверьте содержимое архива.

Для серверной базы путь будет вида ...\srvinfo\reg_1541\<GUID>\1Cv8Log. Ошибка в GUID — и скрипт почистит журнал другой базы. Проверьте путь дважды.

Полный сброс журнала

Крайняя мера — удалить всю папку 1Cv8Log, платформа создаст новую при следующей записи. Делать это можно только при остановленной работе с базой: для файловой — когда все пользователи вышли, для серверной — после остановки службы агента сервера 1С. Остановка службы обрывает сеансы всех пользователей всех баз на этом сервере, поэтому планируйте её на нерабочее время и предупредите людей. История действий при этом пропадёт безвозвратно, так что сначала скопируйте папку в архив.

Типичные ошибки при работе с файлами логов

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

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

Можно ли открыть .lgp без установленной 1С?
Как текст — да, любым редактором с поддержкой UTF-8. Но без платформы или своего разборщика вы увидите номера из словаря вместо имён пользователей и событий.
Сколько хранить журнал регистрации?
Закон срок не задаёт, это решение компании. Практичный вариант — держать в базе 3–6 месяцев, а старые файлы со словарём хранить в архиве не меньше срока, за который могут понадобиться разбирательства по проводкам.
Попадает ли журнал в выгрузку .dt?
Нет. Выгрузка информационной базы журнал регистрации не содержит. Его копируют отдельно, папкой 1Cv8Log.
Видно ли в журнале, какие именно поля документа изменили?
Стандартный журнал фиксирует факт записи или проведения объекта, пользователя и время, но не старые и новые значения реквизитов. Для этого в типовых конфигурациях используют отдельный механизм версионирования объектов.
Чем последовательный формат лучше SQLite?
Файлы .lgp проще архивировать по периодам и разбирать внешними инструментами. Формат SQLite хранит всё в одном файле, который нельзя порезать вручную, зато в нём быстрее работает поиск по отбору.