Кто и что сделал в базе: читаем журнал регистрации 1С по конкретному пользователю
Содержание
Логи пользователя в 1С 8.3 смотрят в журнале регистрации. В Бухгалтерии 3.0, ЗУП 3.1 и УТ 11 он открывается из Администрирование → Обслуживание → Журнал регистрации, в любой конфигурации — через Все функции → Стандартные → Журнал регистрации или из Конфигуратора: Администрирование → Журнал регистрации. Дальше ставите отбор по пользователю и периоду и видите каждый его вход, проведение, изменение и удаление.
Типичная ситуация: в понедельник главбух обнаруживает, что акт сверки за квартал «поехал», а один из документов реализации пропал. Кто удалил и когда? Ответ почти всегда лежит в журнале регистрации, если его не отключили. Механизм общий для платформы, поэтому всё ниже работает в любой конфигурации на 8.3, отличаются только пути меню.
Какие логи действий пользователей есть в 1С
Слово «логи» в 1С обозначает несколько разных механизмов. Под задачу «что делал пользователь» подходит в первую очередь журнал регистрации, но полезно знать и остальные.
| Механизм | Что фиксирует | Кому нужен |
|---|---|---|
| Журнал регистрации | Входы и выходы, запись, проведение, удаление объектов, ошибки, изменение пользователей и конфигурации | Администратор, главбух, служба безопасности |
| История изменений (версионирование объектов) | Что именно поменялось в документе или справочнике: старое и новое значение реквизитов | Главбух, аудитор |
| Активные пользователи | Кто работает в базе прямо сейчас | Администратор |
| Технологический журнал | Запросы, блокировки, исключения платформы на уровне процессов | Программист, специалист по производительности |
Журнал регистрации отвечает на вопросы «кто», «когда», «с какого компьютера» и «с каким объектом». Но он не показывает, какое поле изменилось. Если нужно понять, что было в документе до правки, нужна история изменений. Её включают заранее: задним числом версии не появятся.
Основные события, которые пишутся в журнал:
- 🔑
Сеанс. Начало,Сеанс. Завершение,Сеанс. Аутентификация,Сеанс. Ошибка аутентификации; - 📝
Данные. Добавление,Данные. Изменение,Данные. Удаление; - 📄
Данные. Проведение,Данные. Отмена проведения; - 👤
Пользователи. Изменение— смена ролей, паролей, создание учётных записей; - ⚙️ события изменения конфигурации и обновления базы;
- ❗ ошибки выполнения и записи прикладных подсистем, например обмена данными и регламентных заданий.
Пометка на удаление — это Данные. Изменение, а не удаление. Событие Данные. Удаление появится только тогда, когда объект физически удалят обработкой удаления помеченных объектов. Ищете «кто удалил документ» — проверьте оба события.
Как включить журнал регистрации и выбрать уровень
Если журнал пустой или в нём только ошибки, первым делом проверьте уровень регистрации. Его задают в Конфигураторе.
- Откройте базу в режиме Конфигуратора под администратором.
- Выберите
Администрирование → Настройка журнала регистрации. - В поле уровня выберите нужный вариант.
- Нажмите «ОК». Новые события начнут писаться сразу, перезапуск пользователям не нужен.
Уровни регистрации:
| Уровень | Что попадёт в журнал | Когда выбирать |
|---|---|---|
| Не регистрировать | Ничего | Почти никогда: расследовать будет нечего |
| Регистрировать ошибки | Только ошибки | Если база огромная и диск на пределе |
| Ошибки и предупреждения | Плюс предупреждения | Компромисс для крупных баз |
| Ошибки, предупреждения и информацию | Плюс информационные события, в том числе входы | Минимум для контроля пользователей |
| Регистрировать все события | Плюс примечания: записи и проведения | Рекомендуется, если нужно знать, кто что менял |
Для задачи «посмотреть, что делал пользователь» нужен уровень «Регистрировать все события». На уровне «только ошибки» вы увидите, что документ не провёлся, но не увидите, кто его записал.
В той же форме есть кнопка сокращения журнала. Она удаляет события до указанной даты и умеет предварительно сохранить их в файл. Перед сокращением всегда сохраняйте удаляемую часть в файл — восстановить вырезанные события обратно в журнал из Конфигуратора нельзя, а через полгода они могут понадобиться при проверке.
Отключение журнала само по себе — повод насторожиться. Смена уровня тоже регистрируется. Если журнал «вдруг» оказался пустым за нужный период, посмотрите события изменения настроек и учётных записей рядом с этой датой.
Где хранятся файлы логов 1С на диске
Журнал регистрации — это не таблица в базе, а отдельные файлы в каталоге 1Cv8Log. Расположение зависит от варианта работы.
Файловая база. Каталог 1Cv8Log лежит в папке самой базы, рядом с файлом 1Cv8.1CD. Путь к папке базы видно в окне запуска 1С: выделите базу в списке, путь написан внизу.
Клиент-серверная база . Журнал хранится на рабочем сервере 1С, в каталоге кластера:
<каталог службы>\srvinfo\reg_1541\<GUID базы>\1Cv8Log
Каталог службы по умолчанию находится в C:\Program Files\1cv8\srvinfo, но при установке его часто переносят. Точный путь виден в параметрах запуска службы «Агент сервера 1С:Предприятия 8» — ключ -d. Номер 1541 в имени папки — порт менеджера кластера. GUID базы можно узнать в консоли администрирования серверов 1С: в свойствах информационной базы.
Форматы файлов бывают двух видов:
| Формат | Файлы | Особенности |
|---|---|---|
| Последовательный (старый) | 1Cv8.lgf и набор *.lgp | Текстовые файлы, делятся по периодам, их легко архивировать и переносить |
| SQLite (новый) | один файл 1Cv8.lgd | Быстрее отбор, но файл растёт одним куском и может занимать гигабайты |
Хотите разобрать журнал, не нагружая рабочую базу? Сделайте копию файловой базы или создайте пустую файловую базу той же конфигурации и положите в её папку скопированный каталог 1Cv8Log. Журнал откроется в копии, а пользователи на рабочем сервере ничего не заметят.
Как открыть журнал и посмотреть действия конкретного пользователя
Журнал можно открыть тремя способами. Результат одинаковый, разница в удобстве отборов.
| Способ | Путь | Когда удобен |
|---|---|---|
| Из программы (БСП) | Администрирование → Обслуживание → Журнал регистрации | БП 3.0, ЗУП 3.1, УТ 11, КА, ERP: удобная форма с быстрыми отборами |
| Платформенная форма | Все функции → Стандартные → Журнал регистрации | Любая конфигурация, в том числе нетиповые и старые |
| Конфигуратор | Администрирование → Журнал регистрации | Когда в пользовательском режиме нет прав или база не стартует |
Чтобы в главном меню появилась команда «Все функции», включите её: Сервис и настройки → Параметры → Отображать команду "Все функции". Сервис и настройки — это значок с шестерёнкой или меню в правом верхнем углу окна.
Порядок, чтобы посмотреть логи одного пользователя:
- Откройте журнал регистрации под пользователем с полными правами.
- Нажмите «Установить отбор» (в платформенной форме — «Отбор»).
- Задайте интервал: начало и конец периода. Узкий интервал открывается в разы быстрее.
- В поле «Пользователь» отметьте нужного сотрудника. Можно выбрать нескольких.
- При необходимости ограничьте события: например, только
Данные. УдалениеиДанные. Изменение. - Примените отбор. В списке останутся строки с датой, пользователем, компьютером, приложением, событием и объектом.
- Двойной щелчок по строке открывает карточку события: там видно представление данных, метаданные, комментарий, номер сеанса и статус транзакции.
Колонка «Приложение» подсказывает, откуда пришло действие: тонкий клиент, веб-клиент, Конфигуратор, COM-соединение или фоновое задание. Если документы меняются «сами» ночью, это почти всегда регламентное задание или обмен, а не человек.
Поиск и анализ конкретных событий
Самая частая задача — найти, кто тронул конкретный документ. Для этого в отборе есть поле «Данные».
Кто изменил или удалил документ
- В отборе журнала откройте поле «Данные» и выберите нужный документ, например реализацию № 145.
- Период поставьте с даты создания документа по сегодняшний день.
- Пользователя не указывайте: вам нужны все, кто работал с этим объектом.
- Список покажет цепочку: кто создал, кто проводил, кто снимал проведение, кто пометил на удаление.
Если документ уже удалён физически, выбрать его в поле «Данные» не получится. Тогда отберите по метаданным: укажите вид документа (например, «Реализация (акт, накладная, УПД)») и событие Данные. Удаление. Номер и дата удалённого документа видны в колонке представления данных.
Кто заходил в базу и когда
Отбор по событиям Сеанс. Начало и Сеанс. Завершение даёт табель присутствия в базе: когда сотрудник вошёл, с какого компьютера и сколько был в программе. События Сеанс. Ошибка аутентификации показывают попытки входа с неверным паролем. Серия таких событий за короткое время — повод сменить пароль
и проверить учётную запись.
Отчёт «Анализ журнала регистрации»
В конфигурациях на БСП есть готовый отчёт: Администрирование → Обслуживание → Отчеты администратора → Анализ журнала регистрации. У него несколько вариантов: активность пользователей, анализ активности одного пользователя, контроль работы регламентных заданий. Отчёт строится быстрее, чем пролистывание журнала, и его можно сохранить в Excel или PDF как любой отчёт.
Автоматическая выгрузка и анализ логов
Пролистывать журнал руками неудобно, если нужен ежедневный контроль или отчёт для службы безопасности. Платформа даёт два встроенных метода.
ВыгрузитьЖурналРегистрации выгружает события в таблицу значений или XML-файл с отбором. ЗаписьЖурналаРегистрации пишет в журнал собственные события из кода: так программисты логируют работу своих обработок и обменов.
Пример: выгрузить все удаления за вчерашний день в таблицу значений и вывести количество по пользователям.
Таблица = Новый ТаблицаЗначений;
Отбор = Новый Структура;
Отбор.Вставить("ДатаНачала", НачалоДня(ТекущаяДата()) - 86400);
Отбор.Вставить("ДатаОкончания", НачалоДня(ТекущаяДата()) - 1);
Отбор.Вставить("Событие", "_$Data$_.Delete");
ВыгрузитьЖурналРегистрации(Таблица, Отбор);
Итоги = Таблица.Скопировать(, "ИмяПользователя");
Итоги.Колонки.Добавить("Количество", Новый ОписаниеТипов("Число"));
Итоги.ЗаполнитьЗначения(1, "Количество");
Итоги.Свернуть("ИмяПользователя", "Количество");
Для Каждого Строка Из Итоги Цикл
Сообщить(Строка.ИмяПользователя + ": " + Формат(Строка.Количество, "ЧГ=0"));
КонецЦикла;
Идентификаторы событий в отборе указываются во внутреннем виде: _$Data$_.Delete для удаления, _$Data$_.Update для изменения, _$Session$_.Start для входа. Код выполняется на сервере и требует административных прав.
Такой код удобно поставить в регламентное задание в расширении конфигурации и отправлять итог на почту ответственному. Расширение не снимает типовую конфигурацию с поддержки, поэтому обновления ставятся как обычно.
Для серверных баз есть и внешний путь: копировать каталог 1Cv8Log по расписанию на другой диск. Это и резервная копия журнала, и возможность анализировать события на отдельной машине.
Почему журнал пустой или открывается часами
| Симптом | Вероятная причина | Что сделать |
|---|---|---|
| В журнале нет нужных событий | Уровень «Не регистрировать» или «Только ошибки» | Поднять уровень; прошлые события уже не восстановить |
| Журнал пуст до определённой даты | Журнал сокращали или удаляли файлы 1Cv8Log | Искать архив журнала или резервную копию сервера |
| В колонке пользователя пусто | В базе не заведено ни одного пользователя, все работают без авторизации | Завести пользователей, иначе журнал не отвечает на вопрос «кто» |
| Журнал открывается десятки минут | Файл 1Cv8.lgd разросся до гигабайтов, отбор без интервала | Ставить узкий период до открытия; сократить журнал с сохранением в файл |
| Время событий не совпадает с реальным | Неправильное время или часовой пояс на сервере 1С | Проверить системное время рабочего сервера |
| Под одним именем работают несколько человек | Общая учётная запись «Бухгалтер» | Завести каждому свою учётную запись |
Последний пункт встречается чаще, чем кажется. Журнал честно запишет, что документ удалил «Бухгалтер», но кто сидел за компьютером, придётся выяснять по колонке «Компьютер» и графику смен. Отдельные учётные записи — единственный способ сделать журнал полезным.
Не удаляйте каталог 1Cv8Log вручную, чтобы освободить место, при работающих сеансах. Платформа держит файлы открытыми. Чистить журнал нужно штатной кнопкой сокращения в Конфигураторе, а если файлы переносите вручную — после остановки службы сервера 1С в нерабочее время, предупредив пользователей: все сеансы оборвутся.
Доступ к логам и защита данных
Журнал регистрации содержит много чувствительного: имена сотрудников, компьютеры, время работы, представления документов с фамилиями и суммами. Поэтому доступ к нему стоит ограничивать.
- 🔒 Просмотр журнала в типовых конфигурациях доступен ролям с административными правами. Не выдавайте рядовым пользователям полные права «на всякий случай».
- 🖥️ На сервере каталог
srvinfoдолжен быть доступен только учётной записи службы 1С и администраторам. Скопировав1Cv8Log, можно прочитать журнал в любой другой базе. - 📦 Архивы журнала храните там же, где резервные копии базы, с теми же правами доступа.
- 📋 Сведения о работе сотрудников относятся к персональным данным. Порядок их обработки и сроки хранения определяет закон № 152-ФЗ и локальные акты организации. Сотрудников стоит ознакомить с тем, что действия в учётной системе протоколируются.
Если журнал используется в служебном расследовании, сначала скопируйте каталог 1Cv8Log целиком и работайте с копией. Так никто не сможет сказать, что записи правили после инцидента.
Частые вопросы
Можно ли узнать, какие отчёты открывал пользователь?
ЗаписьЖурналаРегистрации в расширении.Видно ли в журнале, какие суммы поменяли в документе?
Как долго хранятся логи пользователей?
Можно ли посмотреть журнал без запуска 1С на сервере?
1Cv8Log в папку любой файловой базы той же конфигурации и откройте журнал там.Пишутся ли в журнал действия через веб-клиент и мобильный клиент?
Источники
- Федеральный закон от 27.07.2006 № 152-ФЗ «О персональных данных»