Кто, когда и что менял в базе 1С: разбираем действия сотрудника
Содержание
Посмотреть историю пользователя в 1С проще всего через журнал регистрации: Администрирование → Обслуживание → Журнал регистрации, затем отбор по полю «Пользователь» и интервалу дат. Журнал покажет входы и выходы, запись, проведение и удаление документов, ошибки — с точным временем, компьютером и номером сеанса.
Есть ещё два инструмента. История изменений (версионирование объектов) показывает, какое именно поле в документе поменяли и на что. Отчёт «Анализ журнала регистрации» собирает активность сотрудников в сводку. Журнал отвечает на вопрос «кто и когда», версии — «что было до и что стало», отчёт — «сколько и как часто».
| Инструмент | Что показывает | Когда выбрать |
|---|---|---|
| Журнал регистрации | Все события сеанса: вход, запись, проведение, удаление, ошибки | Нужно восстановить хронологию действий конкретного человека |
| История изменений объекта | Значения реквизитов до и после каждой записи | Спор о том, кто поменял сумму, контрагента или дату в документе |
| Анализ журнала регистрации | Сводки по активности, длительности работы, регламентным заданиям | Нужна картина за месяц по всем сотрудникам |
Подготовка: что проверить в настройках журнала до расследования
Журнал пишет только то, что разрешено его настройкой. Если уровень выставлен на «Регистрировать ошибки», вы увидите сбои, но не увидите, кто удалил счёт. Поэтому начните с проверки уровня — а лучше выставьте его заранее, до инцидента.
Настройка выполняется в Конфигураторе:
- Откройте базу в режиме «Конфигуратор» под пользователем с правами администратора.
- Выберите
Администрирование → Настройка журнала регистрации. - В блоке уровня отметьте «Регистрировать все события».
- Задайте разделение журнала по периодам, если база большая: так файлы журнала будут меньше и быстрее открываться.
- Нажмите «ОК».
Уровень действует только с момента изменения. Если до инцидента стоял уровень «ошибки», события изменения данных за прошлый период не восстановить никак — их просто нет в журнале.
Ещё одно условие: в базе должен быть список пользователей. Если пользователей нет и все заходят без авторизации, журнал зафиксирует события с пустым пользователем. Отличить бухгалтера от кладовщика тогда можно только по полю «Компьютер», и то если у них разные рабочие места.
💡 Отдельная учётная запись на каждого сотрудника — главная гарантия, что история пользователя вообще будет. Общий логин «Бухгалтер» на троих делает журнал бесполезным для разбора.
Как найти в журнале регистрации действия одного пользователя
Журнал открывается двумя путями:
- 🧭 В пользовательском режиме БП 3.0, ЗУП 3.1, УТ 11:
Администрирование → Обслуживание → Журнал регистрации. - 🧭 Через
Все функции → Стандартные → Журнал регистрации— работает в любой конфигурации, если в настройках интерфейса включено отображение команды «Все функции». - 🛠 В Конфигураторе:
Администрирование → Журнал регистрации.
Без отбора журнал за год может содержать сотни тысяч строк и открываться минутами. Поэтому сразу ставьте фильтр.
Отбор по пользователю и периоду
- В форме журнала нажмите команду отбора на панели.
- Укажите интервал: начало и конец периода. Чем он уже, тем быстрее работа.
- В поле «Пользователь» выберите одного или нескольких сотрудников.
- Примените отбор.
Отбор по событиям
Чтобы не тонуть во входах и выходах, сузьте список событий. Самые полезные для разбора:
- 📝
Данные. Добавление— создан новый объект. - ✏️
Данные. Изменение— объект перезаписан. - ✅
Данные. ПроведениеиДанные. Отмена проведения. - 🗑
Данные. Удаление— объект удалён непосредственно (не пометка, а физическое удаление). - 🔑
Сеанс. Начало,Сеанс. Завершение,Сеанс. Аутентификация— когда человек заходил в базу.
Пометка на удаление в журнале выглядит как изменение объекта, потому что это запись реквизита «Пометка удаления». Физическое удаление помеченных объектов обычно делает администратор обработкой, и в журнале оно будет записано за ним, а не за автором пометки.
Как читать строку журнала
| Колонка | Что в ней искать |
|---|---|
| Дата, время | Точный момент события, до секунды |
| Пользователь | Учётная запись в базе |
| Компьютер | Имя рабочего места — полезно, если подозреваете вход под чужим логином |
| Приложение | Тонкий клиент, веб-клиент, Конфигуратор, фоновое задание, COM-соединение |
| Событие | Тип операции |
| Метаданные | Вид объекта: документ, справочник, регистр |
| Данные | Ссылка на конкретный объект — двойной щелчок открывает его |
| Сеанс | Номер сеанса: все строки с одним номером — один заход в программу |
💡 Номер сеанса помогает собрать картину целиком. Нашли подозрительное удаление — поставьте отбор по этому сеансу и посмотрите, что человек делал за пять минут до и после.
Если в колонке «Приложение» стоит фоновое задание, изменение сделал не человек, а регламентная операция или обмен. Это частая причина путаницы: документ «сам» перезаписался ночью — его тронул обмен с другой базой.
История изменений документа: что было до и что стало после
Журнал отвечает, кто записал документ, но не говорит, какой реквизит поменялся. Для этого в типовых конфигурациях на БСП есть история изменений (версионирование объектов). Она по умолчанию выключена.
Включение в БП 3.0 и ЗУП 3.1:
- Откройте
Администрирование → Общие настройки. - В разделе «История изменений» установите флажок хранения истории.
- По ссылке настройки выберите виды документов и справочников и режим: хранить версии при записи или только при проведении.
После этого у документа в меню Ещё появится команда «История изменений». В открывшемся списке видны все версии с датой, автором и комментарием.
Что можно сделать с версиями:
- 🔍 Открыть одну версию — увидеть документ в том состоянии, в каком его сохранили.
- ⚖️ Выделить две версии и сравнить — отчёт подсветит изменённые реквизиты и строки табличных частей.
- ↩️ Вернуться к старой версии, если права это позволяют.
Версии занимают место в базе. Включайте историю для документов, по которым реально бывают споры: реализации, поступления, кадровые приказы, справочник контрагентов. Версионировать все регистры подряд не нужно.
История изменений тоже работает только вперёд. Если её включили сегодня, вчерашние правки не появятся. Для прошлого остаётся журнал регистрации: по отбору «Данные» с выбранным документом можно увидеть все записи этого объекта и их авторов.
Отбор журнала по конкретному объекту
Иногда вопрос стоит наоборот: не «что делала Иванова», а «кто трогал этот документ». Тогда:
- Откройте журнал и установите отбор.
- В поле «Данные» выберите документ.
- Оставьте поле «Пользователь» пустым.
Получится хронология объекта: кто создал, кто правил, кто проводил и отменял проведение.
Где хранится журнал в файловой и клиент-серверной базе
Журнал регистрации — это не таблица в базе, а отдельные файлы. От режима работы зависит, где их искать и что с ними происходит при переносе.
| Режим базы | Где лежит журнал |
|---|---|
| Файловая | Папка 1Cv8Log внутри каталога базы, рядом с файлом 1Cv8.1CD |
| Клиент-серверная (MS SQL, PostgreSQL) | На сервере 1С: каталог кластера srvinfo\reg_1541\<идентификатор базы>\1Cv8Log |
Формат файлов бывает двух видов:
- 📄 Старый последовательный: файлы
.lgfи.lgp. - 🗄 Новый, на основе SQLite: файл
.lgd. Используется в платформе 8.3 с релиза 8.3.5 для новых баз.
Новый формат быстрее отбирает события, старый удобнее для внешних анализаторов, которые читают текст.
Из этого следуют три практических вывода:
- Выгрузка
.dtне содержит журнал регистрации. Перенесли базу на другой сервер через выгрузку — история осталась на старом сервере. - В серверной базе журнал не попадает в резервную копию SQL. Его нужно копировать отдельно, вместе с каталогом кластера.
- Для расследования можно скопировать папку
1Cv8Logи разбирать её, не мешая работе пользователей.
Не удаляйте и не переименовывайте файлы журнала у работающей базы. Если журнал разросся до десятков гигабайт, сокращайте его штатно: Конфигуратор → Администрирование → Настройка журнала регистрации → Сократить. Программа удалит события до указанной даты и предложит сохранить их в файл.
Выгрузка событий кодом
Для повторяющихся проверок удобнее не листать форму, а выгрузить события в таблицу. Платформа даёт метод ВыгрузитьЖурналРегистрации. Код выполняется на сервере под администратором, например во внешней обработке:
Отбор = Новый Структура;
Отбор.Вставить("ДатаНачала", НачалоДня(ТекущаяДата()));
Отбор.Вставить("ДатаОкончания", КонецДня(ТекущаяДата()));
Отбор.Вставить("Пользователь", ПользователиИнформационнойБазы.НайтиПоИмени("Иванова"));
Отбор.Вставить("Событие", "_$Data$_.Delete");
События = Новый ТаблицаЗначений;
ВыгрузитьЖурналРегистрации(События, Отбор);
Для Каждого Запись Из События Цикл
Сообщить(Формат(Запись.Дата, "ДФ='дд.ММ.гггг ЧЧ:мм:сс'") + " | " + Запись.ПредставлениеДанных);
КонецЦикла;
Здесь _$Data$_.Delete — внутреннее имя события удаления. Для изменения используйте _$Data$_.Update, для проведения — _$Data$_.Post. Имя пользователя в НайтиПоИмени — это имя учётной записи из списка пользователей, а не ФИО.
Готовые отчёты по активности сотрудников
Листать журнал удобно для точечного разбора. Для обзора за неделю или месяц в конфигурациях на БСП есть отчёт «Анализ журнала регистрации». Он открывается из Администрирование → Обслуживание, в группе отчётов администратора.
У отчёта несколько вариантов:
- 📊 «Анализ активности пользователей» — сколько событий и сеансов у каждого сотрудника за период.
- 👤 «Активность пользователя» — детализация по одному человеку: какие объекты он создавал и менял.
- ⏱ «Контроль продолжительности регламентных заданий» — когда и сколько шли фоновые операции. Помогает отличить ручные правки от автоматических.
Вариант переключается в шапке отчёта. Период и отбор по пользователю задаются в настройках, как в любом отчёте на системе компоновки.
Для текущего момента есть ещё список активных пользователей: Администрирование → Обслуживание → Активные пользователи. Он показывает, кто сейчас в базе, с какого компьютера и с какого времени. Из этого списка можно сразу перейти в журнал по выбранному сеансу.
💡 Если нужно доказать, что сотрудник работал в базе в определённые часы, сочетайте два источника: события Сеанс. Начало и Сеанс. Завершение из журнала и вариант «Активность пользователя» за тот же день.
Когда история пустая или неполная: разбор проблем
Отдельно о статусе транзакции. Если запись документа завершилась ошибкой, транзакция откатывается, и в журнале у события будет соответствующий статус. Такое изменение в базе не сохранилось, хотя строка в журнале есть. Не считайте его фактом правки.