Журнал регистрации 1С:Предприятия 8.3: события, отборы, хранение и очистка

· 9 мин

Содержание

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

Журнал — механизм платформы, а не конкретной конфигурации. Он одинаково работает в БП 3.0, ЗУП 3.1, УТ 11 и любой другой базе на 1С:Предприятии 8.3. Различается только путь к форме журнала в пользовательском режиме и набор дополнительных событий, которые пишет сама конфигурация.

Из чего состоит запись журнала регистрации

Каждая строка журнала — одно событие. У события есть набор полей, по которым его потом ищут и фильтруют.

ПолеЧто в нём
ДатаДата и время события по часам сервера (в файловой базе — по часам компьютера)
ПользовательИмя пользователя информационной базы; пусто, если пользователи не заведены
КомпьютерИмя компьютера, с которого шла работа
ПриложениеТонкий клиент, толстый клиент, Конфигуратор, веб-клиент, фоновое задание, COM-соединение и т. д.
СобытиеТип события: Сеанс.Начало, Данные.Изменение и т. п.
УровеньОшибка, Предупреждение, Информация, Примечание
МетаданныеВид объекта: например, Документ.РеализацияТоваровУслуг
Данные / Представление данныхСсылка на конкретный объект: «Реализация 0000-000125 от 14.03»
КомментарийТекст ошибки или пояснение, которое записала конфигурация
СеансНомер сеанса, в рамках которого произошло событие
ТранзакцияСтатус транзакции: зафиксирована, отменена, не завершена, без транзакции

Для серверной базы добавляются поля рабочего сервера и IP-портов. Они нужны, когда надо понять, на каком рабочем процессе кластера случилась ошибка.

💡 Самые полезные поля для расследований — «Сеанс» и «Транзакция». По номеру сеанса восстанавливают всю цепочку действий одного человека за один вход, а по статусу транзакции видно, записалось изменение в базу или откатилось.

Какие события фиксирует журнал регистрации 1С

События сгруппированы по префиксу. Ниже — основные группы, которые пишет платформа.

  • 🔑 Сеанс — Начало, Завершение, Аутентификация, Ошибка аутентификации. По ним видно, кто входил в базу и кто пытался войти с неверным паролем.
  • 📝 Данные — Добавление, Изменение, Удаление, Проведение, Отмена проведения. Пишутся при записи объектов: документов, справочников, наборов записей регистров.
  • 👤 Пользователи — добавление, изменение и удаление пользователей информационной базы.
  • ⚙️ Информационная база — изменение конфигурации, обновление структуры, выгрузка в файл .dt и загрузка из него, изменение параметров базы.
  • 🔄 Транзакция — начало, фиксация и отмена транзакции.
  • ⏱ Фоновое задание и Регламентное задание — запуск, успешное завершение, ошибка выполнения, отмена.
  • 🚫 Доступ — Доступ и Отказ в доступе к данным. Пишутся только если в базе настроена регистрация событий доступа, например к персональным данным.

Кроме событий платформы, конфигурация пишет свои. В БП 3.0 и ЗУП 3.1 это, например, события обмена данными, обновления информационной базы, работы интернет-поддержки, загрузки классификаторов. Их имена обычно начинаются с названия подсистемы.

Разработчик добавляет собственное событие одной строкой:

ЗаписьЖурналаРегистрации("Загрузка прайса",
    УровеньЖурналаРегистрации.Ошибка,
    Метаданные.Справочники.Номенклатура,
    ,
    "Не найден файл " + ИмяФайла);

Как найти причину ошибки через журнал

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

Порядок поиска:

  1. Откройте журнал и сразу задайте период — например, последний час. Без периода форма большой базы может открываться минутами.
  2. В отборе уровня оставьте только «Ошибка».
  3. Добавьте отбор по пользователю, если знаете, у кого был сбой.
  4. Откройте найденную запись двойным щелчком. В поле «Комментарий» будет текст вроде {ОбщийМодуль.ОбменДаннымиСервер.Модуль(1234)}: Ошибка при вызове метода контекста (Записать).
  5. Посмотрите номер сеанса и включите отбор по нему, сняв ограничение на уровень. Станет видно, что человек делал за несколько секунд до ошибки.

Тот же приём работает для регламентных заданий. Если ночной обмен или загрузка курсов валют не прошли, ищите событие Регламентное задание.Ошибка выполнения или Фоновое задание.Ошибка выполнения за нужную ночь. В комментарии будет причина: нет связи с сервером, истёк срок сертификата, конфликт блокировок.

Что вы ищете в журнале?

Контроль действий пользователей и аудит по журналу регистрации

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

Самый быстрый путь — встать на нужный объект. Откройте журнал, в отборе по полю «Данные» выберите конкретный документ или элемент справочника. Журнал покажет все события по нему: создание, каждую запись, проведение, пометку на удаление.

Если объект уже удалён окончательно, выбрать его в отборе не получится. Тогда отбирайте по виду метаданных, например Справочник.Контрагенты, и событию Данные.Удаление. Представление удалённого объекта останется в колонке «Представление данных».

Чего журнал не покажет

Журнал регистрации фиксирует факт записи объекта, но не хранит, какие именно реквизиты изменились. Вы увидите «Петрова изменила Реализацию № 125 в 15:42», но не узнаете, что до этого сумма была 12 000, а стала 21 000.

Чтобы видеть старые и новые значения, нужна история изменений объектов (версионирование). В типовых конфигурациях на БСП она включается в Администрирование → Общие настройки, в группе про историю изменений, и настраивается по видам объектов. Включайте её заранее: задним числом восстановить прежние значения из журнала нельзя.

Ещё два ограничения:

  • 👥 Если в базе нет списка пользователей или все работают под одним именем, поле «Пользователь» ничего не скажет. Остаются только «Компьютер» и время.
  • 🗄 Изменения, сделанные напрямую в СУБД или внешней обработкой в обход записи объекта, журнал не увидит или покажет неполно.

Аудит входов

Для проверки входов используйте события Сеанс.Аутентификация и Сеанс.Ошибка аутентификации. Серия неудачных попыток подряд с одного компьютера — повод сменить пароль пользователя и проверить, кто имеет доступ к этому рабочему месту.

Отборы и фильтры: как быстро сузить журнал регистрации

Форма журнала в «Такси» открывается с отбором по умолчанию. Его меняют кнопкой «Установить отбор» (в разных конфигурациях она может называться просто «Отбор»). В Конфигураторе отбор задаётся кнопкой отбора на панели формы журнала.

Доступные условия:

  • 📅 Период — начало и конец интервала. Задавайте его всегда.
  • ⚠️ Уровень — ошибки, предупреждения, информация, примечания.
  • 👤 Пользователи и Компьютеры — один или несколько.
  • 💻 Приложения — например, только Конфигуратор или только фоновые задания.
  • 📌 События — дерево групп, можно отметить отдельные события.
  • 🧩 Метаданные и Данные — вид объекта и конкретный объект.
  • 🔢 Сеансы, статус транзакции, комментарий, рабочие серверы.

Отборы суммируются по «И»: «пользователь Петрова + событие Удаление + период март» вернёт только её удаления за март.

💡 Вместо прокрутки списка используйте контекстный отбор: щёлкните правой кнопкой по значению в ячейке (пользователь, событие, сеанс) и выберите отбор по этому значению. Так из одной найденной ошибки за пару кликов строится вся цепочка событий.

Если нужен анализ за большой период или выгрузка в Excel, удобнее получить данные программно. Метод ВыгрузитьЖурналРегистрации() выгружает записи с отбором в таблицу значений, дальше её можно обработать или вывести в отчёт.

Таблица = Новый ТаблицаЗначений;
Отбор = Новый Структура;
Отбор.Вставить("ДатаНачала", НачалоДня(ТекущаяДата()));
Отбор.Вставить("Уровень", УровеньЖурналаРегистрации.Ошибка);
ВыгрузитьЖурналРегистрации(Таблица, Отбор);
Сообщить("Ошибок за сегодня: " + Формат(Таблица.Количество(), "ЧГ=0"));

Настройка уровня записи журнала регистрации

Сколько событий попадает в журнал, решает настройка уровня. Её меняют в Конфигураторе: Администрирование → Настройка журнала регистрации.

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

Не отключайте журнал полностью ради экономии места — после первого же спорного удаления документа выяснить, кто это сделал, будет нечем.

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

Программно уровень читают и задают методами ПолучитьИспользованиеЖурналаРегистрации() и УстановитьИспользованиеЖурналаРегистрации(). Это нужно, например, в обработках, которые администратор запускает удалённо.

Где хранится журнал регистрации и как его сократить

Журнал лежит не в таблицах базы, а в отдельных файлах в каталоге 1Cv8Log.

  • 📁 Файловая база — подкаталог 1Cv8Log рядом с файлом 1Cv8.1CD.
  • 🖥 Клиент-серверная база — на сервере 1С, в каталоге кластера: <каталог srvinfo>\reg_1541\<идентификатор базы>\1Cv8Log. При установке по умолчанию srvinfo находится в каталоге установки платформы.

Идентификатор базы — это GUID. Его видно в консоли администрирования серверов 1С в свойствах информационной базы.

Два формата файлов

У журнала 8.3 два формата хранения:

ФорматФайлыОсобенность
Последовательный1Cv8.lgf и набор *.lgpФайлы делятся по периодам, старые легко архивировать
SQLiteодин файл 1Cv8.lgdУдобен для поиска, но со временем растёт до гигабайт и медленнее пишется

Какой формат у вашей базы, видно по расширениям файлов в 1Cv8Log.

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

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

Чистят его штатно:

  1. Откройте Конфигуратор, Администрирование → Настройка журнала регистрации.
  2. Нажмите кнопку сокращения журнала.
  3. Укажите дату: события до неё будут удалены.
  4. При необходимости отметьте сохранение удаляемых событий в файл — получится архив, который потом можно открыть в Конфигураторе.

Не удаляйте каталог 1Cv8Log или файлы .lgp вручную при работающих пользователях. Сервер держит файлы открытыми; удаление на ходу приводит к ошибкам записи и сломанному журналу. Если без ручной чистки не обойтись — делайте это в нерабочее время, предупредив пользователей, что их сеансы будут завершены, и только после остановки службы сервера 1С. Удаляемые файлы сначала скопируйте в архив.

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

Журнал регистрации и технологический журнал: что выбрать

Журнал регистрации отвечает на вопросы «кто» и «что сделал». Для вопросов «почему тормозит» и «где взаимоблокировка» его мало.

ЗадачаИнструмент
Кто удалил документ, кто входил в базуЖурнал регистрации
Текст ошибки у пользователя, сбой регламентного заданияЖурнал регистрации
Какие были значения реквизитов до измененияИстория изменений (версионирование)
Медленные запросы, блокировки, падения рабочих процессовТехнологический журнал

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

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

Можно ли открыть журнал регистрации без прав администратора?
Нет. В типовых конфигурациях форма журнала доступна пользователям с правом администрирования. Обычный пользователь видит только собственные сообщения об ошибках на экране.
Почему время в журнале не совпадает с временем на моём компьютере?
В клиент-серверной базе события пишутся по часам сервера 1С. Если сервер в другом часовом поясе или его часы сбиты, время разойдётся.
Журнал пустой или в нём только старые записи — что случилось?
Проверьте уровень записи в настройке журнала: возможно, стоит «Не регистрировать события». Второй вариант — журнал недавно сократили или каталог 1Cv8Log заменили.
Попадает ли журнал регистрации в выгрузку .dt?
Нет. Файл .dt содержит конфигурацию и данные базы, журнал хранится отдельно. Чтобы сохранить его при переносе базы, скопируйте каталог 1Cv8Log.
Сколько места занимает журнал регистрации?
Зависит от числа пользователей и уровня записи. В базе на 20–30 человек с уровнем «Информация» журнал за год легко дорастает до нескольких гигабайт, поэтому размер 1Cv8Log стоит проверять хотя бы раз в квартал.