Журнал регистрации 1Cv8.lgd: где он лежит и как его прочитать

· 10 мин

Содержание

Файл LGD в 1С — это журнал регистрации информационной базы в формате SQLite, обычно с именем 1Cv8.lgd. Открыть его проще всего самой 1С: Администрирование → Обслуживание → Журнал регистрации в Бухгалтерии 3.0 или Администрирование → Журнал регистрации в Конфигураторе. Если базы под рукой нет, файл читают любой программой для SQLite: DB Browser for SQLite, SQLiteStudio или консольной sqlite3.

Платформа пишет журнал в одном из двух форматов. Старый, последовательный — это файл 1Cv8.lgf и пачка *.lgp по периодам. Формат SQLite — один файл 1Cv8.lgd. Он появился в платформе 8.3.5, а начиная с 8.3.12 новые базы по умолчанию снова создаются с последовательным журналом. Поэтому LGD чаще всего встречается в базах, созданных на релизах 8.3.5–8.3.11, и в тех, где формат выбрали вручную.

Что за файл 1Cv8.lgd и где его искать

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

Файл лежит в папке 1Cv8Log. Её расположение зависит от варианта работы базы.

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

Каталог srvinfo задаётся при установке сервера. Для службы, установленной с параметрами по умолчанию, это обычно C:\Program Files\1cv8\srvinfo. Идентификатор базы — GUID, его видно в свойствах базы в консоли администрирования кластера. Подходящую папку в reg_1541 можно найти и по дате изменения: у рабочей базы журнал обновляется постоянно.

💡 Рядом с 1Cv8.lgd в папке 1Cv8Log бывает файл 1Cv8.lgf нулевого или маленького размера. Это нормально: платформа держит служебные файлы обоих форматов.

Как понять, какой перед вами LGD-файл

Расширение .lgd используют не только в 1С. Прежде чем ставить программы, убедитесь, что это журнал регистрации, а не файл чужого приложения.

Проверка занимает минуту:

  1. 📁 Имя и место. Файл 1Cv8.lgd в папке 1Cv8Log — почти наверняка журнал 1С.
  2. 🔍 Заголовок файла. Откройте копию в любом HEX-просмотрщике (или в Far Manager по F3). Файл SQLite начинается со строки SQLite format 3.
  3. 📄 Старый формат по ошибке переименован. Если внутри текст и первая строка вида 1CV8LOG(ver 2.0), это файл последовательного формата .lgf, а не SQLite.
  4. ⚖️ Размер. Журнал рабочей базы весит от десятков мегабайт до десятков гигабайт. Файл в несколько килобайт — либо пустой журнал, либо не журнал.

В PowerShell заголовок можно посмотреть без сторонних программ:

$b = Get-Content -Path "D:\copy\1Cv8.lgd" -Encoding Byte -TotalCount 16
[System.Text.Encoding]::ASCII.GetString($b)

В PowerShell 7 параметр -Encoding Byte заменён на -AsByteStream.

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

Способы открыть LGD-файл: от простого к сложному

Выбор зависит от того, есть ли у вас доступ к самой базе и что нужно получить: посмотреть пару событий или посчитать статистику за год.

СпособКогда подходитОграничения
Журнал регистрации в 1СЕсть доступ к базе с правами администратораФильтры только те, что есть в форме
Пустая база + чужой 1Cv8LogПрислали только папку журналаНужна платформа не ниже 8.3.5
DB Browser for SQLite, SQLiteStudioНужно посмотреть таблицы и сделать выборкуДаты и пользователи хранятся кодами
sqlite3 и скриптыБольшой журнал, регулярные отчётыНужно писать SQL

Способ 1. Открыть журнал из самой 1С

Если база работает, файл вообще не нужно трогать руками.

  1. Зайдите в базу пользователем с полными правами.
  2. В Бухгалтерии 3.0 и ЗУП 3.1 откройте Администрирование → Обслуживание → Журнал регистрации.
  3. Нажмите Установить отбор и задайте период, пользователя, событие или объект метаданных.
  4. Двойной щелчок по строке открывает подробности события с данными и комментарием.

В Конфигураторе тот же журнал открывается через Администрирование → Журнал регистрации. Там же, в Администрирование → Настройка журнала регистрации, задают уровень регистрации и сокращают журнал.

Способ 2. Прочитать чужой журнал через пустую базу

Этот приём выручает, когда клиент прислал только папку 1Cv8Log, а саму базу передать не может.

  1. Создайте новую пустую файловую базу без конфигурации, например в D:\LogViewer.
  2. Запустите её один раз в Конфигураторе и закройте. Платформа создаст свою папку 1Cv8Log.
  3. Удалите содержимое этой папки и положите туда присланные файлы: 1Cv8.lgd и всё, что было рядом.
  4. Снова откройте пустую базу в Конфигураторе и выберите Администрирование → Журнал регистрации.

Вы увидите события чужой базы. Имена объектов метаданных и пользователей отобразятся так, как они записаны в журнале, — конфигурация для этого не нужна.

💡 Платформа для просмотра должна быть не старее той, на которой писался журнал. Формат SQLite читают версии с номером не ниже 8.3.5.

Способ 3. DB Browser for SQLite или SQLiteStudio

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

  1. Скопируйте 1Cv8.lgd в отдельную папку.
  2. Установите DB Browser for SQLite и откройте копию: File → Open Database Read Only. Режим «только чтение» защищает от случайной правки.
  3. На вкладке Database Structure видны таблицы. События лежат в таблице Events, а справочники — в таблицах с окончанием Codes: пользователи, компьютеры, приложения, события, метаданные.
  4. На вкладке Execute SQL выполняйте запросы из следующего раздела.

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

Способ 4. Консольная sqlite3

Для журналов на 5–20 ГБ графические программы открываются медленно. Консоль справляется быстрее.

copy "D:\Bases\Buh\1Cv8Log\1Cv8.lgd" "D:\copy\1Cv8.lgd"
sqlite3 -readonly "D:\copy\1Cv8.lgd"

Внутри консоли полезны три команды:

  • .tables — список таблиц;
  • .schema Events — колонки таблицы событий;
  • .mode csv и .output result.csv — вывод результата запроса в файл.

Примеры запросов к журналу LGD

Имена колонок могут немного различаться между версиями платформы, поэтому перед первым запросом посмотрите .schema Events. В примерах ниже использованы колонки, которые встречаются в журналах 8.3: date, userCode, computerCode, eventCode, comment.

Дата в журнале хранится целым числом — десятитысячными долями секунды от 1 января 1 года. Перевод в обычную дату:

SELECT datetime(date / 10000 - 62135596800, 'unixepoch') AS dt, comment
FROM Events
ORDER BY rowID DESC
LIMIT 20;

Число 62135596800 — это количество секунд между 01.01.0001 и 01.01.1970. Сверьте пару записей с журналом в 1С: время в файле записано так, как его видел сервер.

Кто чаще всего работал в базе:

SELECT u.name AS user, COUNT(*) AS events
FROM Events e
JOIN UserCodes u ON u.code = e.userCode
GROUP BY u.name
ORDER BY events DESC
LIMIT 10;

События за конкретный день (пример — 15 марта 2026 года):

SELECT datetime(e.date / 10000 - 62135596800, 'unixepoch') AS dt,
       u.name AS user, ev.name AS event, e.comment
FROM Events e
JOIN UserCodes u  ON u.code  = e.userCode
JOIN EventCodes ev ON ev.code = e.eventCode
WHERE e.date BETWEEN (strftime('%s','2026-03-15') + 62135596800) * 10000
                 AND (strftime('%s','2026-03-16') + 62135596800) * 10000
ORDER BY e.date;

Поиск по тексту комментария — например, по фрагменту ошибки обмена:

SELECT datetime(date / 10000 - 62135596800, 'unixepoch') AS dt, comment
FROM Events
WHERE comment LIKE '%Ошибка при выполнении обмена%'
ORDER BY date DESC;

💡 Поиск LIKE в SQLite не различает регистр только для латиницы. Для кириллицы пишите фрагмент в том регистре, в каком он стоит в сообщении.

Автоматизация: скрипты и обработки для журнала

Если журнал разбирают регулярно, руками каждый раз открывать файл неудобно. Есть два пути: читать файл скриптом снаружи или выгружать журнал средствами самой 1С.

Скрипт на Python

Модуль sqlite3 входит в стандартную поставку Python, ставить ничего не нужно. Скрипт открывает копию журнала только на чтение и сохраняет события за последние 7 дней в CSV:

import csv, sqlite3, time

SRC = r"D:\copy\1Cv8.lgd"
OFFSET = 62135596800
since = int((time.time() - 7 * 86400 + OFFSET) * 10000)

con = sqlite3.connect(f"file:{SRC}?mode=ro", uri=True)
rows = con.execute("""
    SELECT datetime(e.date / 10000 - ?, 'unixepoch'),
           u.name, ev.name, e.comment
    FROM Events e
    JOIN UserCodes u   ON u.code  = e.userCode
    JOIN EventCodes ev ON ev.code = e.eventCode
    WHERE e.date >= ?
    ORDER BY e.date
""", (OFFSET, since))

with open("events_7d.csv", "w", newline="", encoding="utf-8-sig") as f:
    w = csv.writer(f, delimiter=";")
    w.writerow(["Дата", "Пользователь", "Событие", "Комментарий"])
    w.writerows(rows)
con.close()

Кодировка utf-8-sig нужна, чтобы Excel сразу показал кириллицу. Разделитель ; — под русскую локаль Excel.

Выгрузка средствами 1С

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

&НаСервере
Процедура ВыгрузитьОшибкиНаСервере()

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

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

    Для Каждого Запись Из Журнал Цикл
        Сообщить(Строка(Запись.Дата) + " | " + Запись.Событие + " | " + Запись.Комментарий);
    КонецЦикла;

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

Плюс этого пути — не нужно знать, в каком формате лежит журнал: метод одинаково работает и с .lgd, и с .lgf.

Регулярный запуск

  • 🕒 Python-скрипт ставят в Планировщик заданий Windows, например на 7:00 каждый день.
  • 🔁 Перед чтением скрипт копирует 1Cv8.lgd во временную папку, а работает уже с копией.
  • 📦 Готовый CSV можно забирать в Excel или в любую систему отчётов.

Программы для LGD-файлов: где скачать

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

ПрограммаДля чегоГде взять
Платформа 1С:Предприятие 8.3Просмотр журнала в привычной форме, приём с пустой базойДистрибутив по договору сопровождения у партнёра 1С
DB Browser for SQLiteГрафический просмотр таблиц и SQL-запросыsqlitebrowser.org
SQLiteStudioТо же, портативная версия без установкиsqlitestudio.pl
sqlite3 (консоль)Быстрые запросы к большим журналамsqlite.org, раздел Download
DBeaver CommunityЕсли уже пользуетесь им для других СУБДdbeaver.io
Python 3Скрипты выгрузки и отчётовpython.org

Для консольной sqlite3 на Windows скачайте архив sqlite-tools-win-x64 и распакуйте его в любую папку. Чтобы команда запускалась из любого места, добавьте эту папку в переменную PATH.

Не скачивайте «просмотрщики LGD» с сайтов-каталогов файлов. Под видом универсальной программы там часто распространяют рекламное ПО, а журнал 1С по сути — обычная база SQLite.

Ошибки при работе с LGD и как их избежать

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

Ещё три вещи, которые лучше не делать:

  • ❌ Удалять 1Cv8.lgd, чтобы освободить место. Журнал сокращают штатно: в Конфигураторе, Администрирование → Настройка журнала регистрации, кнопка сокращения журнала с выбором даты. Удалённую вручную историю уже не восстановить.
  • ❌ Править записи в файле. Журнал — доказательство действий пользователей. Изменённый вручную журнал теряет ценность при любом разбирательстве и может перестать открываться в 1С.
  • ❌ Открывать рабочий файл на сервере в режиме записи. Даже простое открытие в DB Browser без флага «только чтение» может создать служебные файлы рядом с журналом и помешать платформе.

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

Можно ли перевести журнал из LGD в старый формат?
Да, формат журнала меняют средствами платформы для конкретной базы. Перед сменой сохраните копию папки 1Cv8Log: старые записи после смены формата удобнее смотреть через приём с пустой базой.
Почему файл 1Cv8.lgd весит десятки гигабайт?
Журнал пишет все события без ограничения срока. Помогают сокращение журнала до нужной даты и снижение уровня регистрации, например до «Ошибки» в базах, где подробная история не нужна.
Видно ли в LGD, какие именно данные изменили в документе?
Журнал хранит факт изменения: кто, когда, какой объект. Значения реквизитов «было/стало» в нём не записываются. Для этого нужна отдельная версионность объектов в конфигурации.
Можно ли открыть LGD в Excel напрямую?
Нет, Excel не читает файлы SQLite. Сначала выгрузите нужные события в CSV через sqlite3, DB Browser или скрипт, а уже CSV откройте в Excel.
Нужна ли лицензия 1С, чтобы читать журнал через SQLite-программы?
Нет. DB Browser, SQLiteStudio и sqlite3 работают с файлом напрямую и платформу не запускают. Лицензия нужна только для просмотра через саму 1С.