Файлы журнала регистрации .lgp: чем и как их просмотреть
Содержание
Файл LGP открывают средствами самой платформы 1С: скопируйте всю папку 1Cv8Log вместе с файлом 1Cv8.lgf, запустите Конфигуратор любой базы и откройте 1Cv8.lgf через Файл → Открыть. Платформа покажет обычное окно журнала регистрации с отборами и сортировкой. Отдельный LGP без своего LGF в 1С не откроется: в нём хранятся коды пользователей, компьютеров и событий, а расшифровка этих кодов лежит в LGF.
Есть ещё два способа. Если база работает, журнал проще посмотреть изнутри неё, без всяких файлов. Если нужен поиск по тексту на сервере без запуска 1С, файл LGP можно открыть как текст, но читать его так неудобно. Какой способ выбрать, зависит от того, где сейчас база и что вы ищете.
Что за файл LGP в 1С и где его найти
LGP — это кусок журнала регистрации информационной базы. Журнал в «старом», последовательном формате состоит из двух типов файлов:
- 📘
1Cv8.lgf— словарь. В нём перечислены пользователи, компьютеры, приложения, события, метаданные и узлы, каждому присвоен номер. - 📄
ГГГГММДДччммсс.lgp— файлы с самими событиями. Имя файла — дата и время его создания, например20260915000000.lgp. Платформа начинает новый файл по периоду, заданному в настройках журнала.
Внутри LGP записи хранятся в текстовом виде, в фигурных скобках. Вместо имени пользователя стоит число, вместо названия события — тоже число. Поэтому в «Блокноте» файл открывается, но понять, кто что сделал, по нему почти невозможно.
Где лежит папка 1Cv8Log
| Вариант базы | Путь к журналу |
|---|---|
| Файловая | <каталог базы>\1Cv8Log\ (рядом с файлом 1Cv8.1CD) |
| Клиент-серверная | <каталог кластера>\reg_1541\<GUID базы>\1Cv8Log\ на рабочем сервере 1С |
Каталог кластера для службы Windows по умолчанию находится в папке srvinfo внутри профиля пользователя, от имени которого запущена служба 1С. GUID базы виден в консоли администрирования серверов: в свойствах информационной базы. Если баз много, сопоставить GUID с именем можно и по файлу 1CV8Clst.lst в каталоге reg_1541.
Если в папке вместо LGF и LGP лежит один файл 1Cv8.lgd, журнал хранится в формате SQLite. Его открывают тем же способом, только выбирают файл .lgd.
Как открыть LGP файл через Конфигуратор 1С
Главный приём: открывают не сам LGP, а словарь 1Cv8.lgf, лежащий в той же папке. Платформа подтягивает все LGP-файлы рядом с ним.
Пошагово
- Скопируйте папку
1Cv8Logцеликом в отдельное место, напримерD:\Logs\Buh_1Cv8Log\. Работать с копией надёжнее, чем с живым журналом рабочей базы. - Проверьте, что в копии есть и
1Cv8.lgf, и нужные по датам файлы.lgp. - Запустите Конфигуратор любой базы. Подойдёт и пустая учебная база: содержимое журнала от конфигурации не зависит.
- Выберите
Файл → Открыть. - В диалоге выбора укажите тип файлов журнала регистрации и выберите
1Cv8.lgf. - Откроется окно журнала. Установите отбор по периоду, пользователю, событию или метаданным — так же, как в обычном журнале.
Отбор по периоду ставьте сразу. Если папка за несколько лет весит десятки гигабайт, без отбора окно может долго загружаться.
Если база доступна
Когда нужен журнал работающей базы, файлы копировать не нужно:
- в Конфигураторе:
Администрирование → Журнал регистрации; - в БП 3.0, ЗУП 3.1, УТ 11:
Администрирование → Обслуживание → Журнал регистрации; - в любой конфигурации в тонком клиенте:
Все функции → Стандартные → Журнал регистрации(команду «Все функции» включают в параметрах программы).
Данные будут те же, что лежат в LGP. Платформа сама читает файлы из 1Cv8Log. Права на просмотр журнала есть у пользователей с ролью администратора; обычный бухгалтер этой команды в меню может не увидеть.
Просмотр в текстовом редакторе
Для быстрого поиска по тексту комментария подойдёт Notepad++ или любой редактор, который справляется с большими файлами. Файлы в кодировке UTF-8. Ищите конкретную строку — номер документа, фрагмент текста ошибки. Найдя запись, возьмите из неё дату и время в начале строки и посмотрите это событие уже в окне журнала 1С.
LGP и хранилище конфигурации: почему их путают
В инструкциях в интернете LGP иногда называют «файлом хранилища». Это неверно. Хранилище конфигурации — отдельный механизм групповой разработки, и устроено оно по-другому.
| Журнал регистрации | Хранилище конфигурации | |
|---|---|---|
| Что хранит | События работы пользователей и системы | Версии объектов конфигурации |
| Основные файлы | 1Cv8.lgf, *.lgp или 1Cv8.lgd | 1cv8ddb.1CD и служебные каталоги |
| Чем открыть | Файл → Открыть в Конфигураторе | Конфигурация → Хранилище конфигурации |
| Зачем открывать | Найти, кто и когда изменил данные | Получить версию модуля, формы, объекта |
Если задача — достать из хранилища старую версию объекта, LGP не нужен. Подключитесь к хранилищу и откройте историю: Конфигурация → Хранилище конфигурации → История хранилища. Выделите версию и сохраните её в файл .cf или сравните с текущей конфигурацией. Отдельный объект из хранилища можно получить командой получения объектов в окне хранилища.
Если же вопрос звучит как «кто изменил объект в хранилище», ответ тоже в истории хранилища, а не в журнале базы. Журнал регистрации фиксирует изменения данных, а не правки конфигурации в хранилище.
Форматы журнала: LGP, LGF и LGD
Платформа 8.3 умеет вести журнал в двух форматах. От формата зависит, какие файлы вы увидите в папке и как их обрабатывать.
| Признак | Последовательный (LGF + LGP) | SQLite (LGD) |
|---|---|---|
| Файлы | 1Cv8.lgf + много *.lgp | Один 1Cv8.lgd |
| Чем открыть вне 1С | Текстовый редактор, без расшифровки кодов | Любой просмотрщик SQLite |
| Архивирование | Старые LGP легко перенести или упаковать по одному | Файл один, частями не перенести |
| Рост размера | Файлы делятся по периодам | Один файл растёт до сокращения журнала |
| Открыть в 1С | Выбрать 1Cv8.lgf | Выбрать 1Cv8.lgd |
Конвертировать LGP «в нормальный формат» сторонними утилитами не нужно. Если в инструкциях встречаются программы вроде V83Convert, учтите: платформа читает оба формата сама, а запускать непроверенный exe на сервере с журналом рискованно.
Как поменять формат журнала
Формат определяется тем, какие файлы лежат в папке 1Cv8Log. Распространённый способ перейти с LGD на последовательный формат:
- Дождитесь, когда в базе никто не работает . Для серверной базы завершите сеансы и временно запретите подключения, иначе платформа продолжит писать в открытый файл.
- Перенесите
1Cv8.lgdв архивную папку. Удалять не нужно: его можно будет открыть черезФайл → Открыть. - Создайте в
1Cv8Logпустой файл1Cv8.lgf. - Разрешите подключения. Новые события платформа начнёт писать в формате LGF + LGP.
Старые записи при этом в новый формат не переходят. Они остаются в архивном файле, и смотреть их нужно отдельно.
Почему LGP не открывается: ошибки и решения
Отдельно о версии платформы. Если журнал записан более новой версией 8.3, а вы открываете его Конфигуратором заметно более старой, возможна ошибка чтения. Открывайте копию платформой с номером не ниже той, на которой работает база.
Автоматизация: выгрузка журнала кодом и скриптами
Ручное открытие удобно для разовой проверки. Если журнал нужно анализировать регулярно — например, раз в неделю искать удаления документов — лучше выгружать события программно.
Выгрузка из 1С встроенным языком
Метод глобального контекста ВыгрузитьЖурналРегистрации выгружает события в таблицу значений или в XML-файл. Пример для внешней обработки, выполняемой на сервере:
&НаСервере
Процедура ВыгрузитьУдаленияНаСервере()
Отбор = Новый Структура;
Отбор.Вставить("ДатаНачала", НачалоДня(ТекущаяДата()) - 7 * 86400);
Отбор.Вставить("ДатаОкончания", КонецДня(ТекущаяДата()));
Отбор.Вставить("Событие", "_$Data$_.Delete");
События = Новый ТаблицаЗначений;
ВыгрузитьЖурналРегистрации(События, Отбор);
Для Каждого Строка Из События Цикл
Сообщить(Формат(Строка.Дата, "ДФ='дд.ММ.гггг ЧЧ:мм'") + " | "
+ Строка.ИмяПользователя + " | " + Строка.ПредставлениеДанных);
КонецЦикла;
КонецПроцедуры
Код события удаления данных — _$Data$_.Delete, записи — _$Data$_.Update. Если вместо таблицы значений передать строку с путём к файлу, метод запишет события в XML. Такой файл дальше обрабатывают чем угодно, хоть Excel, хоть скриптом.
Скрипт для поиска по LGP без запуска 1С
Когда база недоступна, а нужно понять, в каком файле искать, поможет PowerShell. Скрипт ищет строку во всех LGP за выбранный месяц и показывает, где она нашлась:
$logDir = "D:\Logs\Buh_1Cv8Log"
$text = "00БП-000125"
Get-ChildItem -Path $logDir -Filter "202609*.lgp" |
Select-String -Pattern $text -SimpleMatch -Encoding UTF8 |
Select-Object Filename, LineNumber |
Format-Table -AutoSize
Дальше откройте журнал через 1Cv8.lgf и поставьте отбор на дату из имени найденного файла. Так на большом архиве вы не ждёте загрузки всего журнала целиком.
Регулярная архивация LGP
Простой bat-файл в планировщике заданий может раз в месяц упаковывать старые LGP. Трогайте только файлы за закрытые периоды: текущий LGP платформа держит открытым.
@echo off
set LOG=D:\1C\Base\1Cv8Log
set ARC=E:\Archive\1Cv8Log
robocopy "%LOG%" "%ARC%" *.lgp /MINAGE:40
robocopy "%LOG%" "%ARC%" 1Cv8.lgf
Первая строка копирует только LGP старше 40 дней. Вторая отдельно забирает словарь 1Cv8.lgf: он меняется постоянно, поэтому под фильтр по возрасту не попадёт, а без свежего словаря архивные LGP потом не расшифровать. Удалять скопированные LGP из рабочей папки — отдельное решение, его лучше принимать вручную, сверив архив.
Как сохранить журнал целым при копировании и анализе
Журнал регистрации — главное доказательство при разборе спорных ситуаций: кто провёл документ задним числом, кто удалил контрагента. Испортить его легко, восстановить нельзя.
- 🔒 Работайте с копией. Открывать в Конфигураторе живую папку рабочей базы не нужно.
- ⏱ Копируйте в тихое время. Файл, в который идёт запись, может скопироваться не полностью.
- 📦 Переносите LGF вместе с LGP. Словарь пополняется со временем: старый LGF не расшифрует новые записи.
- 🧾 Не правьте LGP вручную. Даже сохранение в редакторе с другой кодировкой или концом строк делает файл нечитаемым для 1С.
- 🗂 Сокращайте журнал штатно. В Конфигураторе это
Администрирование → Настройка журнала регистрации: там задают уровень регистрации, период разделения файлов и сокращают журнал с сохранением удаляемых событий в файл.
Не удаляйте содержимое 1Cv8Log на работающем сервере, чтобы «освободить место». Платформа продолжит работу, но история событий за весь период пропадёт. Сначала перенесите старые LGP в архив, потом удаляйте.
Доступ к копиям журнала ограничьте. В событиях видны имена пользователей, компьютеров и представления данных — номера документов, наименования контрагентов. Хранить такие архивы в общей папке не стоит.