Как настроить журнал регистрации в 1С 8.3 и держать его в порядке

· 10 мин

Содержание

Настройка журнала регистрации в 1С 8.3 делается в Конфигураторе: Администрирование → Настройка журнала регистрации. Там выбирают уровень (какие события писать), разделение журнала по периодам и сокращение старых записей. Смотреть события можно и из пользовательского режима, а вот менять параметры хранения — только в Конфигураторе или кодом.

Частое заблуждение: «журнал разросся до 20 ГБ — значит, надо выключить регистрацию». Выключать не нужно. Достаточно поделить журнал на периоды, убрать старые события по регламенту и, если база серверная и нагруженная, сменить формат хранения. Так журнал перестаёт расти бесконечно, а история, нужная при разборе ошибок, остаётся.

С чего начать: где открыть журнал и его настройки

Журнал доступен в трёх местах. Набор событий везде один, отличаются удобство и права.

Где открытьПутьЧто можно
КонфигураторАдминистрирование → Журнал регистрацииПросмотр, отбор, выгрузка
КонфигураторАдминистрирование → Настройка журнала регистрацииУровень, периоды, сокращение
Типовые БП 3.0, ЗУП 3.1, УТ 11Администрирование → Обслуживание → Журнал регистрацииПросмотр с отбором, переход к объекту
Любая конфигурацияГлавное меню → Функции для технического специалиста → Стандартные → Журнал регистрацииПросмотр стандартной формой платформы

Пункт «Функции для технического специалиста» появляется, если он включён в параметрах: Главное меню → Сервис → Параметры → Режим технического специалиста. Для просмотра журнала нужны административные права в базе.

Перед первой настройкой стоит проверить три вещи:

  • 🔎 сколько сейчас занимает папка журнала (о расположении — ниже);
  • 🔎 какой формат используется: файлы .lgf/.lgp или один .lgd;
  • 🔎 есть ли резервная копия базы и папки журнала, если собираетесь сокращать.

Уровень регистрации и хранение событий

Открываем Администрирование → Настройка журнала регистрации в Конфигураторе. В окне два блока: что регистрировать и как хранить.

Какой уровень выбрать

Переключатель уровня задаёт, какие события попадают в журнал:

УровеньЧто пишетсяКогда выбирать
Не регистрироватьНичегоПочти никогда: при сбое не на что опереться
ОшибкиТолько ошибкиТестовые копии, учебные базы
Ошибки и предупреждения+ предупрежденияНебольшие базы с редкими изменениями
Ошибки, предупреждения и информация+ входы, выходы, изменения данныхРабочие базы, вариант по умолчанию для учёта
Все события+ примечанияРасследование конкретного инцидента, на время

Для рабочей бухгалтерской базы разумный выбор — «все события» или уровень с информацией. Именно на уровне «Информация» пишутся события Данные. Изменение, Данные. Удаление, Сеанс. Начало. Без них не ответить на вопрос «кто удалил документ».

Уровень «Ошибки» экономит место, но стирает следы действий пользователей. Если в базе ведётся учёт, такой уровень оставлять нельзя: при споре «кто провёл задним числом» ответа не будет.

Разделение журнала по периодам

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

Зачем это нужно:

  • 📁 старые файлы закрыты и не меняются — их можно архивировать;
  • ⚡ просмотр за короткий период работает быстрее;
  • 🧹 удалить историю старше года можно целым файлом, без долгого сокращения.

Для базы на 10–30 пользователей обычно хватает разбивки по месяцам. Для сотни пользователей и интенсивного обмена — по дням или неделям: месячный файл там вырастает до гигабайтов.

Сокращение журнала

Кнопка «Сократить» в окне настройки удаляет события до указанной даты. Платформа предлагает сохранить удалённое в файл — соглашайтесь, это единственная копия.

Порядок:

  1. Сделайте копию папки журнала (или убедитесь, что она есть в бэкапе сервера).
  2. Нажмите «Сократить», укажите дату, например начало прошлого года.
  3. Отметьте сохранение удалённых событий и укажите путь вне каталога базы.
  4. Дождитесь окончания. На журнале в несколько гигабайтов это занимает минуты.

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

Где лежат файлы журнала

Журнал хранится не в таблицах базы, а в отдельной папке 1Cv8Log. Это важно: бэкап через выгрузку .dt журнал не сохраняет.

Вариант базыРасположение
Файловая<каталог базы>\1Cv8Log
Клиент-серверная<каталог кластера>\reg_1541\<идентификатор базы>\1Cv8Log

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

Два формата хранения:

Отбор событий: как быстро найти нужное

Журнал без отбора бесполезен: за день в рабочей базе набираются десятки тысяч строк. В форме журнала кнопка «Установить отбор» открывает окно с полями.

Самые полезные отборы:

ЗадачаЧто указать в отборе
Кто удалил документПериод, событие Данные. Удаление, при необходимости метаданные (вид документа)
Кто менял проведённый документСобытие Данные. Изменение, метаданные, в поле «Данные» — сам документ
Подбор пароля, чужие входыСобытие Сеанс. Ошибка аутентификации, компьютер
Почему упал обмен или регламентное заданиеУровень «Ошибка», период сбоя, приложение «Фоновое задание»
Что делал конкретный сотрудникПользователь, период одного дня

Мини-кейс: пропала накладная

Бухгалтер сообщает: в понедельник накладной за прошлый месяц нет в списке. Отбор: период — с конца прошлого месяца по понедельник, событие Данные. Удаление, метаданные — нужный вид документа. Если строк нет, расширьте отбор на Данные. Изменение: документ могли не удалить, а перенести датой в другой период. В строке события видно пользователя, компьютер и время. Дальше по номеру сеанса смотрите, что ещё этот сеанс менял в тот день, — часто находится вся цепочка правок.

Приёмы, которые экономят время:

  • 🎯 сначала сужайте период, потом всё остальное — это самый быстрый фильтр;
  • 🎯 в типовых конфигурациях из строки журнала можно открыть сам объект, двойным щелчком по полю данных;
  • 🎯 в стандартной форме платформы колонки настраиваются — добавьте «Транзакция» и «Сеанс», они помогают связать цепочку событий одного действия.

Если сотрудник утверждает, что «ничего не трогал», смотрите отбор по сеансу. Номер сеанса связывает вход, все изменения и выход в одну цепочку, даже если под одним пользователем работали двое.

Регламент обслуживания журнала регистрации

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

Сколько хранить

Срок задаёт сама компания. Ориентиры из практики:

  • 📅 онлайн, в рабочем журнале, — 6–12 месяцев: за этот срок обычно всплывают все вопросы по закрытым периодам;
  • 📅 в архиве — до конца срока, за который возможны проверки и споры по учёту, обычно несколько лет;
  • 📅 расследование инцидента — выгрузить нужный отрезок отдельно и хранить вместе с материалами.

Пример регламента

Регламент обслуживания журнала регистрации
Выполнено: 0 / 6

Архивирование закрытых периодов

Для старого формата файлы прошлых периодов можно переносить скриптом. Скрипт ниже перемещает файлы событий старше 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 не трогайте: в нём справочники пользователей и событий, без него текущие записи не прочитать. Перенесённые события исчезнут из просмотра журнала в базе — это и есть цель.

Запускайте скрипт только для закрытых периодов. Текущий файл периода открыт сервером, и попытка его переместить даст ошибку или повредит журнал.

Разбор ошибок по журналу регистрации

Журнал — первое место, куда смотреть при сбое. Пользователь видит короткое окно, а в журнале лежат полный текст и контекст.

Порядок разбора:

  1. Узнайте у пользователя время сбоя с точностью до 10–15 минут и имя в базе.
  2. Отберите события уровня «Ошибка» за этот интервал по этому пользователю.
  3. Откройте строку и прочитайте поле «Комментарий»: там текст исключения и часто модуль со строкой.
  4. Посмотрите события того же сеанса до ошибки: что пользователь делал перед сбоем.
  5. Если ошибок много, сгруппируйте их по событию — так видно, что повторяется массово.

Что чаще всего находится таким разбором:

  • ❌ ошибки регламентных заданий — обмены, загрузка курсов валют, интернет-поддержка; приложение в строке будет «Фоновое задание»;
  • ❌ конфликты блокировок при одновременном проведении;
  • ❌ ошибки расширений и внешних обработок после обновления конфигурации;
  • ❌ серии неудачных входов — подбор пароля или забытый пароль у сотрудника.

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

Выгрузка для разработчика

Если ошибку разбирает программист, отберите нужный интервал и сохраните журнал в файл кнопкой в форме просмотра. Выгрузка кодом тоже возможна — методом платформы:

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

Свои события в журнал пишут методом ЗаписьЖурналаРегистрации(): например, отметка о запуске и завершении собственной обработки. Это удобнее отладочных сообщений: история остаётся.

Скорость: когда журнал тормозит базу

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

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

Переход с формата lgd на lgf

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

  1. Предупредите пользователей: на время переключения все сеансы базы будут завершены.
  2. Остановите службу агента сервера 1С (или заблокируйте сеансы и завершите их в консоли кластера).
  3. Переименуйте папку 1Cv8Log, например в 1Cv8Log_old — это сохранит историю.
  4. Создайте новую пустую папку 1Cv8Log и в ней пустой файл 1Cv8.lgf.
  5. Запустите службу и войдите в базу: новые события начнут писаться в старом формате.

Обратный переход делается так же, только в пустой папке создаётся файл 1Cv8.lgd. Старая история при этом останется в переименованной папке: читать её можно, вернув папку на место во время отдельного окна обслуживания.

Остановка службы сервера 1С обрывает сеансы всех баз кластера, а не только одной. Делайте это вечером или в выходной, предупредив пользователей заранее.

Технологический журнал — это другое

Если нужно понять, какой запрос тормозит или где взаимоблокировка, журнал регистрации не поможет. Для этого включают технологический журнал файлом logcfg.xml в каталоге conf платформы. Он пишет события сервера и СУБД, а не действия пользователей, и включается на время диагностики.

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

Сохраняется ли журнал регистрации при выгрузке базы в .dt?
Нет. Журнал лежит в папке 1Cv8Log отдельно от данных. Для его сохранности копируйте эту папку вместе с бэкапом базы.
Можно ли узнать, кто удалил документ, если уровень был «Ошибки»?
Нет. При таком уровне события изменения и удаления данных не пишутся, восстановить их задним числом нельзя.
Влияет ли размер журнала на скорость работы пользователей?
Обычно на повседневную работу почти не влияет. Тормозит открытие самого журнала и запись событий на очень больших объёмах в формате SQLite.
Может ли пользователь без прав администратора стереть свои следы в журнале?
Средствами базы — нет: сокращение доступно только в Конфигураторе и требует административных прав. Защищать стоит и саму папку журнала на сервере.
Перенос базы на другой сервер переносит журнал?
Только если скопировать папку 1Cv8Log вручную в каталог новой базы. Выгрузка и загрузка .dt даёт базу с пустым журналом.