Как настроить журнал регистрации в 1С 8.3 и держать его в порядке
Содержание
Настройка журнала регистрации в 1С 8.3 делается в Конфигураторе: Администрирование → Настройка журнала регистрации. Там выбирают уровень (какие события писать), разделение журнала по периодам и сокращение старых записей. Смотреть события можно и из пользовательского режима, а вот менять параметры хранения — только в Конфигураторе или кодом.
Частое заблуждение: «журнал разросся до 20 ГБ — значит, надо выключить регистрацию». Выключать не нужно. Достаточно поделить журнал на периоды, убрать старые события по регламенту и, если база серверная и нагруженная, сменить формат хранения. Так журнал перестаёт расти бесконечно, а история, нужная при разборе ошибок, остаётся.
С чего начать: где открыть журнал и его настройки
Журнал доступен в трёх местах. Набор событий везде один, отличаются удобство и права.
| Где открыть | Путь | Что можно |
|---|---|---|
| Конфигуратор | Администрирование → Журнал регистрации | Просмотр, отбор, выгрузка |
| Конфигуратор | Администрирование → Настройка журнала регистрации | Уровень, периоды, сокращение |
| Типовые БП 3.0, ЗУП 3.1, УТ 11 | Администрирование → Обслуживание → Журнал регистрации | Просмотр с отбором, переход к объекту |
| Любая конфигурация | Главное меню → Функции для технического специалиста → Стандартные → Журнал регистрации | Просмотр стандартной формой платформы |
Пункт «Функции для технического специалиста» появляется, если он включён в параметрах: Главное меню → Сервис → Параметры → Режим технического специалиста. Для просмотра журнала нужны административные права в базе.
Перед первой настройкой стоит проверить три вещи:
- 🔎 сколько сейчас занимает папка журнала (о расположении — ниже);
- 🔎 какой формат используется: файлы
.lgf/.lgpили один.lgd; - 🔎 есть ли резервная копия базы и папки журнала, если собираетесь сокращать.
Уровень регистрации и хранение событий
Открываем Администрирование → Настройка журнала регистрации в Конфигураторе. В окне два блока: что регистрировать и как хранить.
Какой уровень выбрать
Переключатель уровня задаёт, какие события попадают в журнал:
| Уровень | Что пишется | Когда выбирать |
|---|---|---|
| Не регистрировать | Ничего | Почти никогда: при сбое не на что опереться |
| Ошибки | Только ошибки | Тестовые копии, учебные базы |
| Ошибки и предупреждения | + предупреждения | Небольшие базы с редкими изменениями |
| Ошибки, предупреждения и информация | + входы, выходы, изменения данных | Рабочие базы, вариант по умолчанию для учёта |
| Все события | + примечания | Расследование конкретного инцидента, на время |
Для рабочей бухгалтерской базы разумный выбор — «все события» или уровень с информацией. Именно на уровне «Информация» пишутся события Данные. Изменение, Данные. Удаление, Сеанс. Начало. Без них не ответить на вопрос «кто удалил документ».
Уровень «Ошибки» экономит место, но стирает следы действий пользователей. Если в базе ведётся учёт, такой уровень оставлять нельзя: при споре «кто провёл задним числом» ответа не будет.
Разделение журнала по периодам
В том же окне задаётся, на какие периоды делить журнал. Платформа начинает новый файл с каждым периодом: днём, неделей, месяцем и так далее.
Зачем это нужно:
- 📁 старые файлы закрыты и не меняются — их можно архивировать;
- ⚡ просмотр за короткий период работает быстрее;
- 🧹 удалить историю старше года можно целым файлом, без долгого сокращения.
Для базы на 10–30 пользователей обычно хватает разбивки по месяцам. Для сотни пользователей и интенсивного обмена — по дням или неделям: месячный файл там вырастает до гигабайтов.
Сокращение журнала
Кнопка «Сократить» в окне настройки удаляет события до указанной даты. Платформа предлагает сохранить удалённое в файл — соглашайтесь, это единственная копия.
Порядок:
- Сделайте копию папки журнала (или убедитесь, что она есть в бэкапе сервера).
- Нажмите «Сократить», укажите дату, например начало прошлого года.
- Отметьте сохранение удалённых событий и укажите путь вне каталога базы.
- Дождитесь окончания. На журнале в несколько гигабайтов это занимает минуты.
Сокращать удобнее в нерабочее время: пока пользователи активно работают, в тот же журнал идёт запись новых событий, и операция длится дольше.
Где лежат файлы журнала
Журнал хранится не в таблицах базы, а в отдельной папке 1Cv8Log. Это важно: бэкап через выгрузку .dt журнал не сохраняет.
| Вариант базы | Расположение |
|---|---|
| Файловая | <каталог базы>\1Cv8Log |
| Клиент-серверная | <каталог кластера>\reg_1541\<идентификатор базы>\1Cv8Log |
Каталог кластера по умолчанию — srvinfo в папке установки сервера 1С, например C:\Program Files\1cv8\srvinfo. Идентификатор базы — это GUID; нужную папку проще всего найти по свежей дате изменения файлов или по списку баз кластера в файле 1CV8Clst.lst.
Два формата хранения:
- 📄 старый — файл
1Cv8.lgf(справочник пользователей , компьютеров, событий) и файлы событий.lgpпо периодам; - 🗄 новый — база SQLite
1Cv8.lgd.
Отбор событий: как быстро найти нужное
Журнал без отбора бесполезен: за день в рабочей базе набираются десятки тысяч строк. В форме журнала кнопка «Установить отбор» открывает окно с полями.
Самые полезные отборы:
| Задача | Что указать в отборе |
|---|---|
| Кто удалил документ | Период, событие Данные. Удаление, при необходимости метаданные (вид документа) |
| Кто менял проведённый документ | Событие Данные. Изменение, метаданные, в поле «Данные» — сам документ |
| Подбор пароля, чужие входы | Событие Сеанс. Ошибка аутентификации, компьютер |
| Почему упал обмен или регламентное задание | Уровень «Ошибка», период сбоя, приложение «Фоновое задание» |
| Что делал конкретный сотрудник | Пользователь, период одного дня |
Мини-кейс: пропала накладная
Бухгалтер сообщает: в понедельник накладной за прошлый месяц нет в списке. Отбор: период — с конца прошлого месяца по понедельник, событие Данные. Удаление, метаданные — нужный вид документа. Если строк нет, расширьте отбор на Данные. Изменение: документ могли не удалить, а перенести датой в другой период. В строке события видно пользователя, компьютер и время. Дальше по номеру сеанса смотрите, что ещё этот сеанс менял в тот день, — часто находится вся цепочка правок.
Приёмы, которые экономят время:
- 🎯 сначала сужайте период, потом всё остальное — это самый быстрый фильтр;
- 🎯 в типовых конфигурациях из строки журнала можно открыть сам объект, двойным щелчком по полю данных;
- 🎯 в стандартной форме платформы колонки настраиваются — добавьте «Транзакция» и «Сеанс», они помогают связать цепочку событий одного действия.
Если сотрудник утверждает, что «ничего не трогал», смотрите отбор по сеансу. Номер сеанса связывает вход, все изменения и выход в одну цепочку, даже если под одним пользователем работали двое.
Регламент обслуживания журнала регистрации
Под регламентом здесь понимается простое правило: кто, когда и что делает с журналом, чтобы он не рос бесконечно и при этом хранил нужную историю.
Сколько хранить
Срок задаёт сама компания. Ориентиры из практики:
- 📅 онлайн, в рабочем журнале, — 6–12 месяцев: за этот срок обычно всплывают все вопросы по закрытым периодам;
- 📅 в архиве — до конца срока, за который возможны проверки и споры по учёту, обычно несколько лет;
- 📅 расследование инцидента — выгрузить нужный отрезок отдельно и хранить вместе с материалами.
Пример регламента
Архивирование закрытых периодов
Для старого формата файлы прошлых периодов можно переносить скриптом. Скрипт ниже перемещает файлы событий старше 12 месяцев в архивную папку:
$log = "C:\Program Files\1cv8\srvinfo\reg_1541\<GUID базы>\1Cv8Log"
$arch = "D:\Archive\1Cv8Log\<имя базы>"
New-Item -ItemType Directory -Force -Path $arch | Out-Null
Get-ChildItem -Path $log -Filter *.lgp |
Where-Object { $_.LastWriteTime -lt (Get-Date).AddMonths(-12) } |
Move-Item -Destination $arch
Файл 1Cv8.lgf не трогайте: в нём справочники пользователей и событий, без него текущие записи не прочитать. Перенесённые события исчезнут из просмотра журнала в базе — это и есть цель.
Запускайте скрипт только для закрытых периодов. Текущий файл периода открыт сервером, и попытка его переместить даст ошибку или повредит журнал.
Разбор ошибок по журналу регистрации
Журнал — первое место, куда смотреть при сбое. Пользователь видит короткое окно, а в журнале лежат полный текст и контекст.
Порядок разбора:
- Узнайте у пользователя время сбоя с точностью до 10–15 минут и имя в базе.
- Отберите события уровня «Ошибка» за этот интервал по этому пользователю.
- Откройте строку и прочитайте поле «Комментарий»: там текст исключения и часто модуль со строкой.
- Посмотрите события того же сеанса до ошибки: что пользователь делал перед сбоем.
- Если ошибок много, сгруппируйте их по событию — так видно, что повторяется массово.
Что чаще всего находится таким разбором:
- ❌ ошибки регламентных заданий — обмены, загрузка курсов валют, интернет-поддержка; приложение в строке будет «Фоновое задание»;
- ❌ конфликты блокировок при одновременном проведении;
- ❌ ошибки расширений и внешних обработок после обновления конфигурации;
- ❌ серии неудачных входов — подбор пароля или забытый пароль у сотрудника.
В типовых конфигурациях есть готовый отчёт «Контроль журнала регистрации» в разделе Администрирование → Обслуживание → Отчеты администратора. Он сводит ошибки и предупреждения за период, его можно отправлять администратору по расписанию через рассылку отчётов.
Выгрузка для разработчика
Если ошибку разбирает программист, отберите нужный интервал и сохраните журнал в файл кнопкой в форме просмотра. Выгрузка кодом тоже возможна — методом платформы:
Отбор = Новый Структура;
Отбор.Вставить("ДатаНачала", НачалоДня(ТекущаяДата()));
Отбор.Вставить("Уровень", УровеньЖурналаРегистрации.Ошибка);
ВыгрузитьЖурналРегистрации("C:\Temp\errors.xml", Отбор);
Свои события в журнал пишут методом ЗаписьЖурналаРегистрации(): например, отметка о запуске и завершении собственной обработки. Это удобнее отладочных сообщений: история остаётся.
Скорость: когда журнал тормозит базу
Большой журнал сам по себе базу не ломает, но замедляет его открытие, отбор и иногда запись событий на нагруженном сервере.
Переход с формата lgd на lgf
Приём практиков для нагруженных серверных баз: вернуть старый текстовый формат. Платформа выбирает формат по тому, какой файл находит в папке журнала.
- Предупредите пользователей: на время переключения все сеансы базы будут завершены.
- Остановите службу агента сервера 1С (или заблокируйте сеансы и завершите их в консоли кластера).
- Переименуйте папку
1Cv8Log, например в1Cv8Log_old— это сохранит историю. - Создайте новую пустую папку
1Cv8Logи в ней пустой файл1Cv8.lgf. - Запустите службу и войдите в базу: новые события начнут писаться в старом формате.
Обратный переход делается так же, только в пустой папке создаётся файл 1Cv8.lgd. Старая история при этом останется в переименованной папке: читать её можно, вернув папку на место во время отдельного окна обслуживания.
Остановка службы сервера 1С обрывает сеансы всех баз кластера, а не только одной. Делайте это вечером или в выходной, предупредив пользователей заранее.
Технологический журнал — это другое
Если нужно понять, какой запрос тормозит или где взаимоблокировка, журнал регистрации не поможет. Для этого включают технологический журнал файлом logcfg.xml в каталоге conf платформы. Он пишет события сервера и СУБД, а не действия пользователей, и включается на время диагностики.