Журнал регистрации 1С: уровни событий, фильтры, хранение и чистка
Содержание
Журнал регистрации в 1С 8.3 включают в Конфигураторе: меню Администрирование → Настройка журнала регистрации, затем выберите уровень «Регистрировать все события» (или нужный уровень ошибок) и нажмите «ОК». Настройка действует на всю информационную базу и начинает работать для новых сеансов, перезапуск сервера не нужен.
Есть два пути. Конфигуратор подходит всегда: и для файловой, и для серверной базы. Программный способ (метод встроенного языка) нужен, когда доступа в Конфигуратор нет или настройку надо менять по расписанию. Смотреть уже записанные события можно и в Конфигураторе, и в пользовательском режиме.
Для чего администратору и бухгалтеру журнал регистрации
Журнал регистрации — это встроенный в платформу протокол событий базы. Он пишет, кто, когда и с какого компьютера входил в программу, что менял и какие ошибки возникали.
На практике журнал выручает в таких ситуациях:
- 🔍 «Кто удалил документ?» — видно пользователя, время и сам объект.
- 🧾 «Кто перепровёл закрытый период?» — события проведения и изменения данных с датой.
- 🔐 Подозрительные входы — неудачные попытки аутентификации, вход с чужого компьютера.
- ⚙️ Сбои регламентных заданий и обменов — текст ошибки сохраняется в событии.
- 🛠 Изменение конфигурации — фиксируется обновление структуры базы и смена пользователей.
Журнал не заменяет резервную копию. Он показывает, что произошло с данными, но вернуть удалённый документ из него нельзя. Для этого нужна копия базы на дату до изменения.
Не путайте журнал регистрации с технологическим журналом. Технологический журнал включают отдельным файлом logcfg.xml, он пишет низкоуровневые события платформы (запросы, блокировки, исключения) и нужен для расследования производительности. Для вопросов «кто и что сделал» он избыточен.
Перед включением: права, место на диске, окно для работ
Подготовка займёт несколько минут, но избавит от сюрпризов.
- Права. В Конфигуратор нужно войти пользователем с административными правами. В типовых конфигурациях это роль «Полные права» или «Администратор системы».
- Монопольный режим не нужен. Сменить уровень журнала можно при работающих пользователях. Новый уровень подхватят сеансы, открытые после изменения.
- Место на диске. При уровне «все события» журнал активной базы на 20–30 пользователей легко вырастает на сотни мегабайт в месяц, в больших базах — на гигабайты. Проверьте свободное место там, где лежат файлы журнала.
- Политика хранения. Решите заранее, сколько месяцев истории держать. От этого зависит, как делить журнал по периодам и когда его сокращать.
Где физически лежит журнал:
| Тип базы | Каталог журнала |
|---|---|
| Файловая | <каталог базы>\1Cv8Log\ |
| Клиент-серверная (Windows, служба по умолчанию) | C:\Program Files\1cv8\srvinfo\reg_1541\<GUID базы>\1Cv8Log\ |
GUID базы — длинный идентификатор вида a1b2c3d4-.... Чтобы понять, какой каталог принадлежит нужной базе, откройте в нём файл 1Cv8.lgf или посмотрите идентификатор базы в консоли кластера.
Формат хранения бывает двух видов:
- 📄 Последовательный — файлы
1Cv8.lgf(справочник значений) и много файлов*.lgp(сами события). - 🗄 SQLite — один файл
1Cv8.lgd.
Последовательный формат проще переносить и архивировать по частям. Формат SQLite удобнее для поиска, но один большой файл тяжелее чистить и он хуже переносит аварийные остановки сервера.
Включаем журнал регистрации в 1С 8.3 по шагам
Через Конфигуратор
- Запустите 1С, выберите базу и нажмите «Конфигуратор».
- Войдите пользователем с административными правами.
- Откройте меню
Администрирование → Настройка журнала регистрации. - В блоке уровня регистрации отметьте нужный вариант (подробно — в следующем разделе).
- Задайте разделение журнала по периодам, если пользуетесь последовательным форматом.
- Нажмите «ОК».
Проверка: откройте Администрирование → Журнал регистрации и войдите в базу ещё одним сеансом в режиме «1С:Предприятие». В журнале должны появиться события начала сеанса.
Программно, без Конфигуратора
В управляемом приложении уровень журнала меняют методом УстановитьИспользованиеЖурналаРегистрации(). Ему передают массив уровней, которые нужно писать. Текущие настройки читает ПолучитьИспользованиеЖурналаРегистрации(). Код выполняется на сервере, у пользователя должны быть административные права.
&НаСервере
Процедура ВключитьПолныйЖурналНаСервере()
Уровни = Новый Массив;
Уровни.Добавить(УровеньЖурналаРегистрации.Ошибка);
Уровни.Добавить(УровеньЖурналаРегистрации.Предупреждение);
Уровни.Добавить(УровеньЖурналаРегистрации.Информация);
Уровни.Добавить(УровеньЖурналаРегистрации.Примечание);
УстановитьИспользованиеЖурналаРегистрации(Уровни);
КонецПроцедуры
Такой код удобно положить во внешнюю обработку и запускать на базах, где Конфигуратор недоступен (например, в облачном размещении с ограниченным доступом).
Какой уровень событий выбрать
В настройке пять вариантов. Каждый следующий включает всё, что пишет предыдущий.
| Уровень | Что попадает в журнал | Когда выбирать |
|---|---|---|
| Не регистрировать | Ничего | Почти никогда: теряется вся история |
| Регистрировать ошибки | Только ошибки | Тестовые и учебные базы |
| Ошибки и предупреждения | + предупреждения | Базы с жёстким лимитом места |
| Ошибки, предупреждения и информацию | + входы, выходы, служебные события | Компромисс для крупных баз |
| Регистрировать все события | + примечания, включая изменение данных | Рабочие учётные базы |
Для рабочей бухгалтерской базы ставьте «Регистрировать все события». Только на этом уровне видно, кто изменил или удалил конкретный документ. На уровне ошибок вы узнаете о сбое, но не узнаете, кто стёр счёт-фактуру.
Разделение по периодам задаёт, как часто платформа начинает новый файл *.lgp: по дням, неделям, месяцам или годам. Ориентир простой:
- 📅 по месяцам — для большинства баз до 50 пользователей;
- 📆 по неделям или дням — для нагруженных баз, где месячный файл получается громоздким;
- 🗓 по годам — только для маленьких баз с редкими изменениями.
Мелкие файлы быстрее открываются, их легко архивировать и удалять по одному.
Как найти в журнале регистрации нужное событие
Открыть журнал можно двумя путями:
- в Конфигураторе:
Администрирование → Журнал регистрации; - в пользовательском режиме БП 3.0, ЗУП 3.1, УТ 11:
Администрирование → Обслуживание, группа «Протоколы работы программы», ссылка «Журнал регистрации».
Сразу после открытия жмите отбор. Без него 1С пытается загрузить всё подряд, и на большом журнале форма «думает» минутами.
Поля отбора, которые реально помогают
- 🕒 Период — всегда сужайте до дней, когда случилась проблема.
- 👤 Пользователь — если подозреваете конкретного сотрудника.
- 💻 Компьютер — имя ПК, с которого шла работа.
- 📌 Событие — тип действия, например «Данные. Удаление» или «Сеанс. Аутентификация».
- 🗂 Метаданные — вид объекта: документ «Реализация (акты, накладные, УПД)», справочник «Контрагенты».
- 🔎 Данные — конкретный объект, например нужный документ.
- ⚠️ Уровень — чтобы оставить только ошибки.
- 🔁 Статус транзакции — отличает зафиксированные изменения от отменённых.
События, которые чаще всего ищут
| Событие | Что означает |
|---|---|
| Сеанс. Начало / Сеанс. Завершение | Вход в программу и выход из неё |
| Сеанс. Ошибка аутентификации | Неверный пароль или попытка входа под чужим именем |
| Данные. Изменение | Запись объекта: документа, элемента справочника |
| Данные. Проведение | Проведение документа |
| Данные. Удаление | Непосредственное удаление объекта из базы |
| Пользователи. Изменение | Правка списка пользователей или их свойств |
Пометка на удаление записывается как изменение объекта, а не как удаление. Удаление появится позже, когда администратор запустит удаление помеченных объектов, и пользователем в такой строке будет он.
Примеры поиска
Кто удалил документ. Период — день пропажи, событие «Данные. Удаление», метаданные — вид документа. В строке будет пользователь, компьютер и представление удалённого объекта с номером и датой.
Кто перепровёл документ задним числом. Откройте документ, затем журнал с отбором по полю «Данные» на этот документ. Список покажет все записи и проведения по нему в хронологии.
Почему не отработал обмен. Уровень «Ошибка», период — ночь обмена. Комментарий события содержит текст исключения, его можно скопировать и искать по нему.
Если событие отмечено статусом транзакции «Отменена», изменение в базу не попало. Такие строки не доказывают, что пользователь что-то испортил.
Найденные строки можно выгрузить. Из формы журнала журнал сохраняют в файл для передачи разработчику или аудитору. Программно это делает метод ВыгрузитьЖурналРегистрации() с теми же отборами.
Когда журнал пуст или не открывается
Проблемы с журналом сводятся к нескольким сценариям. Выберите свой.
Удалять или переименовывать файлы журнала на серверной базе можно только когда с базой никто не работает. Иначе пользователи получат ошибки при записи событий, а фоновые задания могут прерваться. Делайте это в нерабочее время и предупредите пользователей заранее.
Как держать журнал регистрации компактным
Журнал никогда не сокращается сам. Если за ним не следить, через год-два он начинает тормозить открытие, резервное копирование и перенос базы.
Сокращение средствами 1С
В Конфигураторе в окне настройки журнала есть кнопка сокращения. Порядок:
Администрирование → Настройка журнала регистрации.- Нажмите кнопку сокращения журнала.
- Укажите дату: всё, что раньше, будет удалено из журнала.
- Отметьте сохранение удаляемых событий в файл и задайте путь.
- Подтвердите. На большом журнале операция идёт долго, не прерывайте её.
Всегда сохраняйте удаляемые события в файл. Налоговая проверка или внутреннее расследование могут прийти через год, и выгрузка окажется единственным доказательством.
Ручное архивирование файлов
При последовательном формате и делении по периодам старые файлы *.lgp можно просто перенести в архив. Файл 1Cv8.lgf не трогайте: в нём справочник пользователей, компьютеров и метаданных, без него события не прочитать.
Чего не делать
- 🚫 Не ставьте «Не регистрировать», чтобы «ускорить базу». Выигрыш минимален, а история пропадёт.
- 🚫 Не удаляйте весь каталог
1Cv8Logна работающей базе. - 🚫 Не чистите журнал перед проверкой или аудитом: это выглядит как сокрытие следов.
Если базы много и журнал нужен в долгую, практики выгружают его по расписанию во внешнее хранилище: регламентное задание вызывает ВыгрузитьЖурналРегистрации() за прошедшие сутки и кладёт файл в архив. Тогда в самой базе достаточно держать 3–6 месяцев истории.
Свои события в журнале регистрации
Платформа пишет системные события, но разработчик может добавлять и свои. Это полезно для доработок: протоколировать загрузку прайса, отправку писем, ручную корректировку остатков.
ЗаписьЖурналаРегистрации(
"Загрузка прайса",
УровеньЖурналаРегистрации.Информация,
Метаданные.Справочники.Номенклатура,
,
"Загружено строк: " + Формат(КоличествоСтрок, "ЧГ=0"));
Параметры по порядку: имя события, уровень, объект метаданных, данные (ссылка на объект, здесь пропущены) и комментарий. Событие с уровнем «Информация» запишется, только если в настройке журнала включён этот уровень или выше.
Давайте своим событиям имена с общим префиксом, например «Доработки.Загрузка прайса». Потом их легко собрать одним отбором по событию.
Частые вопросы
Включён ли журнал регистрации в новой базе по умолчанию?
Можно ли по журналу восстановить удалённый документ?
Пишет ли журнал, что именно изменили в документе?
Сохраняется ли журнал при выгрузке базы в .dt?
1Cv8Log.