Как найти автора правки документа или справочника по журналу событий 1С
Содержание
Журнал регистрации в 1С 8.3 открывается через Администрирование → Обслуживание → Журнал регистрации (БП 3.0, ЗУП 3.1, УТ 11) или в любой конфигурации через ≡ → Все функции → Стандартные → Журнал регистрации. Чтобы узнать, кто внёс изменения в документ, задайте отбор по событию Данные. Изменение и по самому документу в поле «Данные». Журнал покажет дату, пользователя, компьютер и программу, из которой была сделана запись.
Одна оговорка сразу. Журнал фиксирует факт записи объекта, но не хранит старые значения реквизитов. Он ответит на вопрос «кто и когда», а на вопрос «что именно было до правки» отвечает другой механизм — история изменений. Ниже оба инструмента и то, как их сочетать.
Где включается журнал регистрации и какой уровень выбрать
Журнал работает на уровне платформы, поэтому одинаков во всех конфигурациях. Включать и настраивать его можно только в Конфигураторе.
Порядок такой:
- Запустите базу в режиме Конфигуратора под администратором.
- Откройте
Администрирование → Настройка журнала регистрации. - Выберите уровень регистрации.
- Нажмите «ОК». Перезапуск пользователей не нужен, новые события начнут писаться сразу.
Уровни работают по принципу «включает всё, что выше»:
| Уровень | Что попадает в журнал | Подходит для аудита правок |
|---|---|---|
| Не регистрировать | Ничего | ❌ |
| Регистрировать ошибки | Только ошибки | ❌ |
| Ошибки и предупреждения | Плюс предупреждения | ❌ |
| Ошибки, предупреждения и информацию | Плюс входы, выходы, запись данных | ✅ |
| Регистрировать все события | Плюс примечания | ✅ |
Изменения документов и справочников пишутся с важностью «Информация». Если уровень ниже, журнал будет пустым именно там, где он нужен.
В новой базе обычно стоит регистрация всех событий. Но её иногда понижают, чтобы журнал не разрастался. Перед расследованием первым делом проверьте эту настройку.
Уровень можно задать и программно, например из внешней обработки: метод УстановитьИспользованиеЖурналаРегистрации() принимает массив уровней важности.
Где лежат файлы журнала
Файлы журнала хранятся в папке 1Cv8Log:
- 📁 Файловая база — внутри каталога базы, рядом с
1Cv8.1CD. - 🖥️ Клиент-серверная база
— в каталоге кластера, обычно
srvinfo\reg_1541\<идентификатор базы>\1Cv8Log.
Формат бывает двух видов. Последовательный — файлы .lgf и .lgp. Формат SQLite — один файл .lgd. Для анализа это неважно, форма просмотра работает с обоими.
Не удаляйте и не переносите файлы 1Cv8Log вручную при работающих пользователях. Для очистки есть штатное сокращение журнала, о нём в разделе про ошибки.
Из чего состоит запись журнала
В типовых конфигурациях на БСП журнал открывается в своей форме, а через «Все функции» — в стандартной форме платформы. Колонки у них похожи.
Главные поля записи:
- 📅 Дата — время события по часам сервера (для файловой базы — по часам компьютера, где база открыта).
- 👤 Пользователь — имя пользователя информационной базы.
- 💻 Компьютер — сетевое имя рабочего места.
- 🧩 Приложение — тонкий клиент, веб-клиент, Конфигуратор, фоновое задание, COM-соединение.
- 📌 Событие — например,
Данные. Изменение,Данные. Проведение,Данные. Удаление,Сеанс. Начало. - 🗂️ Метаданные — тип объекта: какой документ, справочник или регистр.
- 🔗 Данные и Представление данных — ссылка на конкретный объект и его название с номером и датой.
- 💬 Комментарий — текст ошибки или пояснение.
- 🔄 Транзакция и Статус транзакции — была ли запись зафиксирована или отменена.
Двойной щелчок по строке открывает карточку события со всеми полями. Из неё можно перейти к самому объекту, если он ещё существует.
Колонку «Статус транзакции» стоит держать на виду. Запись со статусом «Отменена» означает, что пользователь пытался сохранить документ, но транзакция откатилась. В базе этих изменений нет.
Отбор событий: как быстро найти нужную правку
Без отбора журнал выводит события подряд, а в рабочей базе их десятки тысяч в день. Поэтому сначала сужаем поиск.
В форме БСП нажмите «Установить отбор». В стандартной форме платформы отбор вызывается одноимённой командой в командной панели.
Поля отбора, которые реально помогают
| Поле | Что задать | Зачем |
|---|---|---|
| Интервал | Период, когда могла появиться правка | Главный фильтр, ускоряет поиск в разы |
| События | Данные. Изменение, Данные. Проведение, Данные. Удаление | Убирает входы, выходы и ошибки |
| Метаданные | Нужный вид документа или справочника | Отсекает всё постороннее |
| Данные | Конкретный документ или элемент справочника | Показывает историю одного объекта |
| Пользователи | Одно или несколько имён | Когда проверяете конкретного сотрудника |
| Компьютеры | Имя рабочего места | Если учётная запись общая на нескольких людей |
Пример: кто перепровёл реализацию за прошлый месяц
Задача: в закрытом периоде изменилась сумма продажи, нужно понять, кто трогал документ.
- Задайте интервал — с начала прошлого месяца по сегодня.
- В «События» отметьте
Данные. ИзменениеиДанные. Проведение. - В «Метаданные» выберите документ «Реализация (акты, накладные, УПД)».
- В «Данные» выберите конкретный документ из списка.
- Примените отбор и отсортируйте по дате.
Последние строки покажут, кто, когда и с какого компьютера сохранил документ. Если в колонке «Приложение» стоит фоновое задание или COM-соединение — правку сделал не человек, а обмен или регламентная операция .
В форме БСП по умолчанию выводится ограниченное число событий, обычно 200. Если нужных строк не видно, сузьте интервал или увеличьте лимит в настройках формы.
Какие реквизиты изменились: журнал плюс история изменений
Журнал регистрации покажет, что документ сохраняли в 14:32 под пользователем «Иванова». Какую сумму она поменяла и с какой на какую — журнал не знает. Значения реквизитов он не пишет.
Для этого в типовых конфигурациях есть версионирование объектов, в БП 3.0 оно называется «История изменений».
Как включить историю изменений
- Откройте
Администрирование → Общие настройки. - В группе «История изменений» установите флажок «Хранить историю изменений».
- Перейдите по ссылке настройки хранения и выберите, для каких документов и справочников вести историю и сколько её хранить.
После этого каждая запись объекта сохраняет его версию целиком.
Как сравнить версии
- Откройте документ.
- Выберите
Ещё → История изменений. - Отметьте две версии и выполните сравнение.
Отчёт подсветит изменённые реквизиты и строки табличных частей: было, стало, кто автор версии.
История изменений работает только с момента включения. Для правок, сделанных раньше, версий нет. Тогда сравнивайте документ с резервной копией базы.
Как сочетать два инструмента
| Вопрос | Инструмент |
|---|---|
| Кто и когда записывал объект | Журнал регистрации |
| С какого компьютера и программы | Журнал регистрации |
| Какие реквизиты поменялись, старые значения | История изменений |
| Был ли объект удалён и кем | Журнал регистрации |
| Как выглядел документ год назад, до включения истории | Резервная копия базы |
На практике схема простая. По журналу находите момент и автора. По истории изменений — версию до и после этого момента.
Как найти удалённые документы и справочники
Удаление в 1С проходит в два этапа, и в журнале они выглядят по-разному.
- 🏷️ Пометка на удаление — объект записывается с признаком пометки. В журнале это событие
Данные. Изменение. - 🗑️ Окончательное удаление — через
Администрирование → Обслуживание → Удаление помеченных объектовили непосредственным удалением. В журнале этоДанные. Удаление.
Поиск окончательно удалённых объектов
- В отборе укажите событие
Данные. Удаление. - В «Метаданные» выберите вид документа или справочника.
- Задайте интервал.
В колонке «Данные» ссылка уже битая: объекта в базе нет. Выручает колонка «Представление данных» — там сохранены название, номер и дата документа на момент удаления.
Пользователь в такой записи — тот, кто запустил удаление помеченных. Это не обязательно тот, кто ставил пометку. Чтобы найти автора пометки, ищите по тому же объекту событие Данные. Изменение до момента удаления.
Можно ли вернуть удалённое
Из журнала — нет, он не хранит содержимое объектов. Варианты такие:
- Если документ только помечен — снимите пометку в списке, он вернётся в учёт после проведения.
- Если удалён окончательно — разверните резервную копию в отдельную базу и перенесите объект оттуда, например через выгрузку и загрузку данных XML.
- Если документ простой — проще ввести его заново по данным из копии.
Резервную копию разворачивайте в новую, отдельную базу. Загрузка .dt поверх рабочей базы затрёт всё, что ввели после даты копии.
Выгрузка журнала для анализа за большой период
Когда нужно разобрать месяц работы десятка пользователей, листать форму неудобно. Журнал можно выгрузить в таблицу значений и обработать программно.
Пример для серверной процедуры внешней обработки: выводит все удаления за последние 7 дней.
&НаСервере
Процедура ПоказатьУдаленияНаСервере()
Таблица = Новый ТаблицаЗначений;
Отбор = Новый Структура;
Отбор.Вставить("ДатаНачала", НачалоДня(ТекущаяДата()) - 7 * 86400);
Отбор.Вставить("ДатаОкончания", ТекущаяДата());
Отбор.Вставить("Событие", "_$Data$_.Delete");
ВыгрузитьЖурналРегистрации(Таблица, Отбор);
Для Каждого Строка Из Таблица Цикл
Сообщить(СтрШаблон("%1 | %2 | %3",
Строка.Дата, Строка.ИмяПользователя, Строка.ПредставлениеДанных));
КонецЦикла;
КонецПроцедуры
Служебные имена событий данных:
_$Data$_.New— добавление;_$Data$_.Update— изменение;_$Data$_.Post— проведение;_$Data$_.Delete— удаление.
Для выгрузки нужны административные права. Таблицу можно вывести в табличный документ, сгруппировать по пользователям и сохранить в Excel.
На больших журналах всегда задавайте ДатаНачала и ДатаОкончания. Выгрузка без интервала читает журнал целиком и может занять много времени.
Почему в журнале нет нужных изменений
Чаще всего журнал «молчит» не из-за сбоя, а из-за настроек или способа, которым внесли правку.
Администрирование → Настройка журнала регистрации в Конфигураторе. Прошлые события это не вернёт, но новые начнут записываться.Сокращение журнала без потери истории
Журнал за несколько лет может занимать гигабайты. Сокращают его в Конфигураторе, в той же форме Администрирование → Настройка журнала регистрации: команда сокращения удаляет события до выбранной даты. При этом можно сохранить удаляемые события в отдельный файл — так история останется на случай проверки.
Там же настраивается разделение журнала по периодам — например, по месяцам. Тогда каждый период лежит в своих файлах, и отбор за конкретный месяц работает быстрее.
Сокращение журнала — необратимая операция для рабочей базы. Если нужен аудит за прошлые годы, сначала сохраните удаляемую часть в файл или скопируйте папку 1Cv8Log.
Ещё три тонкости при анализе
- 🕐 Время сервера. Если часы сервера сбиты или стоят в другом часовом поясе, время в журнале не совпадёт с временем у пользователя.
- 👥 Общие учётные записи. Если пять человек работают под «Бухгалтером», журнал не различит их. Помогает только колонка «Компьютер».
- 🔄 Обмены. Документ, пришедший из другой базы, будет записан под пользователем обмена. Искать автора нужно в базе-источнике.