Журнал регистрации 1Cv8.lgd: где он лежит и как его прочитать
Содержание
Файл 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С. Прежде чем ставить программы, убедитесь, что это журнал регистрации, а не файл чужого приложения.
Проверка занимает минуту:
- 📁 Имя и место. Файл
1Cv8.lgdв папке1Cv8Log— почти наверняка журнал 1С. - 🔍 Заголовок файла. Откройте копию в любом HEX-просмотрщике (или в Far Manager по F3). Файл SQLite начинается со строки
SQLite format 3. - 📄 Старый формат по ошибке переименован. Если внутри текст и первая строка вида
1CV8LOG(ver 2.0), это файл последовательного формата.lgf, а не SQLite. - ⚖️ Размер. Журнал рабочей базы весит от десятков мегабайт до десятков гигабайт. Файл в несколько килобайт — либо пустой журнал, либо не журнал.
В 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С
Если база работает, файл вообще не нужно трогать руками.
- Зайдите в базу пользователем с полными правами.
- В Бухгалтерии 3.0 и ЗУП 3.1 откройте
Администрирование → Обслуживание → Журнал регистрации. - Нажмите Установить отбор и задайте период, пользователя, событие или объект метаданных.
- Двойной щелчок по строке открывает подробности события с данными и комментарием.
В Конфигураторе тот же журнал открывается через Администрирование → Журнал регистрации. Там же, в Администрирование → Настройка журнала регистрации, задают уровень регистрации и сокращают журнал.
Способ 2. Прочитать чужой журнал через пустую базу
Этот приём выручает, когда клиент прислал только папку 1Cv8Log, а саму базу передать не может.
- Создайте новую пустую файловую базу
без конфигурации, например в
D:\LogViewer. - Запустите её один раз в Конфигураторе и закройте. Платформа создаст свою папку
1Cv8Log. - Удалите содержимое этой папки и положите туда присланные файлы:
1Cv8.lgdи всё, что было рядом. - Снова откройте пустую базу в Конфигураторе и выберите
Администрирование → Журнал регистрации.
Вы увидите события чужой базы. Имена объектов метаданных и пользователей отобразятся так, как они записаны в журнале, — конфигурация для этого не нужна.
💡 Платформа для просмотра должна быть не старее той, на которой писался журнал. Формат SQLite читают версии с номером не ниже 8.3.5.
Способ 3. DB Browser for SQLite или SQLiteStudio
Подходит, когда нужно посмотреть структуру и сделать выборку, которой нет в форме 1С.
- Скопируйте
1Cv8.lgdв отдельную папку. - Установите DB Browser for SQLite и откройте копию:
File → Open Database Read Only. Режим «только чтение» защищает от случайной правки. - На вкладке Database Structure видны таблицы. События лежат в таблице
Events, а справочники — в таблицах с окончаниемCodes: пользователи, компьютеры, приложения, события, метаданные. - На вкладке 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 без флага «только чтение» может создать служебные файлы рядом с журналом и помешать платформе.