Кто создал, изменил и провёл документ: разбор по журналу регистрации 1С 8.3
Содержание
Все действия с документом в 1С 8.3 видны в журнале регистрации: Администрирование → Обслуживание → Журнал регистрации, затем отбор по полю «Данные» с выбором нужного документа. Журнал покажет, кто и когда документ создал, записал, провёл, отменил проведение, пометил на удаление или удалил, с какого компьютера и в каком сеансе.
Механизм общий для платформы, поэтому одинаково работает в Бухгалтерии 3.0, ЗУП 3.1, УТ 11 и других типовых конфигурациях. Одно ограничение стоит знать сразу: журнал фиксирует сам факт действия, но не хранит старые и новые значения полей. Чтобы увидеть, что именно поменяли в сумме или контрагенте, нужна история изменений (версионирование объектов) — о ней ниже отдельный раздел.
Где открыть журнал регистрации и как включить запись событий
Пути открытия
| Где | Путь |
|---|---|
| Бухгалтерия 3.0, ЗУП 3.1 | Администрирование → Обслуживание → Журнал регистрации |
| УТ 11, КА 2, ERP | НСИ и администрирование → Администрирование → Обслуживание → Журнал регистрации |
| Любая конфигурация, режим 1С:Предприятие | Все функции → Стандартные → Журнал регистрации |
| Конфигуратор | Администрирование → Журнал регистрации |
Пункт «Все функции» по умолчанию скрыт. Включите его в меню с тремя полосками: Сервис и настройки → Параметры → Отображать команду «Все функции».
Смотреть журнал может пользователь с правом на журнал регистрации. В типовых конфигурациях это обычно профиль «Администратор». Бухгалтер без админских прав пункта в меню не увидит — это не поломка, а настройка доступа.
Уровень регистрации
По умолчанию журнал пишет все события, и для разбора действий с документами этого достаточно. Если кто-то когда-то урезал уровень ради экономии места, события изменения данных могли не попасть в журнал.
Проверить и поменять уровень можно в конфигураторе:
- Откройте базу в режиме «Конфигуратор».
- Выберите
Администрирование → Настройка журнала регистрации. - Установите переключатель «Регистрировать все события».
- В этом же окне задайте периодичность разделения журнала на файлы (по дням, неделям, месяцам и т. д.).
- Нажмите «ОК». Перезапуск базы не нужен.
Уровни идут от строгого к полному: не регистрировать, только ошибки, ошибки и предупреждения, ошибки + предупреждения + информация, все события. События записи и проведения документов относятся к информационным, поэтому на уровне «только ошибки» вы их не найдёте.
Изменённый уровень работает только для новых событий. Если запись была отключена месяц назад, вернуть историю за этот месяц нельзя.
Как устроено окно журнала и как задать отбор
Журнал — это таблица событий. Каждая строка — одно действие. Основные колонки:
- 🕒 Дата, время — момент события с точностью до секунды.
- 👤 Пользователь — имя из списка пользователей базы.
- 💻 Компьютер — сетевое имя машины, с которой работали.
- 🧩 Приложение — тонкий клиент, веб-клиент, конфигуратор, фоновое задание, COM-соединение.
- 📌 Событие — что произошло: добавление, изменение, проведение, вход в программу.
- 📄 Метаданные и Данные — вид объекта (например, «Документ. Реализация (акт, накладная, УПД)») и конкретный объект с номером и датой.
- 🔢 Сеанс и Транзакция — номер сеанса и статус транзакции.
Двойной щелчок по строке открывает карточку события. Ссылка в поле «Данные» кликабельна: по ней откроется сам документ.
Отбор
Без отбора журнал за год в живой базе — это сотни тысяч строк. Работайте только через отбор: кнопка «Установить отбор» (в некоторых формах — просто «Отбор»).
Что можно ограничить:
- Период — начало и конец интервала. Сужайте его в первую очередь: от этого зависит скорость.
- Пользователи и Компьютеры — один или несколько.
- События — список с флажками, можно оставить только события данных.
- Метаданные — вид объекта, например все документы «Поступление (акты, накладные, УПД)».
- Данные — конкретный документ или элемент справочника.
- Уровень — ошибки, предупреждения, информация, примечания.
- Комментарий — поиск по тексту комментария события.
💡 Отбор по «Метаданным» удобен, когда номер документа неизвестен: «покажи все изменения в поступлениях за вчера» решается за минуту.
Все действия с конкретным документом: пошагово
Типичная ситуация: в закрытом периоде вдруг изменилась сумма реализации, и надо понять, кто это сделал.
- Откройте журнал регистрации по пути из первого раздела.
- Нажмите «Установить отбор».
- В поле «Период» задайте интервал, в котором документ мог меняться. Если не знаете — от даты документа до сегодняшнего дня.
- В поле «Метаданные» выберите вид документа, например «Реализация (акт, накладная, УПД)».
- В поле «Данные» нажмите кнопку выбора и найдите нужный документ в списке.
- В «Событиях» оставьте события группы «Данные». Остальное — входы, фоновые задания — только мешает.
- Нажмите «ОК» и отсортируйте список по дате.
На экране появится хронология: «Данные. Добавление» — момент создания, потом серия «Данные. Изменение» и «Данные. Проведение». Каждая строка подписана пользователем и компьютером.
Как читать результат
- Цепочка «Изменение → Проведение» в одну секунду — пользователь нажал «Провести и закрыть».
- «Изменение» без «Проведения» — документ записали, но не провели. Движения остались прежними.
- «Отмена проведения» и затем новое «Проведение» — документ перепроводили. Если в это время закрыт период, проверьте дату запрета изменения данных: возможно, её временно снимали.
- Приложение «Фоновое задание» или «COM-соединение» — изменение сделал не человек, а обмен, регламентное задание или внешняя программа. Пользователем в этом случае часто будет служебная учётная запись.
Групповое перепроведение документов тоже оставляет запись «Данные. Проведение» по каждому документу. Если десятки документов «изменились» в одну минуту под одним пользователем — скорее всего, это было именно оно, а не ручная правка.
Программный вариант
Если такие разборы нужны регулярно, историю можно получить кодом — например, во внешней обработке. Метод платформы ВыгрузитьЖурналРегистрации заполняет таблицу значений событиями по отбору:
&НаСервере
Процедура ПоказатьИсториюДокумента(Ссылка)
Таблица = Новый ТаблицаЗначений;
Отбор = Новый Структура;
Отбор.Вставить("Данные", Ссылка);
ВыгрузитьЖурналРегистрации(Таблица, Отбор);
Для Каждого Строка Из Таблица Цикл
Сообщить(Формат(Строка.Дата, "ДФ='дд.ММ.гггг ЧЧ:мм:сс'") + " | "
+ Строка.ИмяПользователя + " | " + Строка.ПредставлениеСобытия);
КонецЦикла;
КонецПроцедуры
В отбор можно добавить ключи ДатаНачала и ДатаОкончания, чтобы не читать журнал целиком.
Какие события пишет журнал: таблица основных типов
| Событие в журнале | Что произошло | Когда искать |
|---|---|---|
| Данные. Добавление | Объект создан и впервые записан | Кто завёл документ |
| Данные. Изменение | Объект перезаписан (в том числе пометка на удаление) | Кто правил документ |
| Данные. Проведение | Документ проведён | Кто сформировал движения |
| Данные. Отмена проведения | Проведение снято | Почему пропали проводки |
| Данные. Удаление | Объект удалён физически | Куда делся документ |
| Сеанс. Начало / Сеанс. Завершение | Вход и выход пользователя | Кто работал в базе в момент сбоя |
| Сеанс. Аутентификация / Ошибка аутентификации | Успешный и неудачный вход | Подбор пароля, чужой вход |
| Пользователи. Новый / Изменение / Удаление | Действия со списком пользователей | Кто выдал права |
| Информационная база. Изменение конфигурации | Обновление или правка конфигурации | Что поменялось перед появлением ошибки |
| Транзакция. Начало / Фиксация / Отмена | Служебные события транзакций | Разбор ошибок записи |
Пометка на удаление отдельным событием не выделяется: при её установке объект записывается, и в журнале появляется «Данные. Изменение». Ориентируйтесь на время: если сразу после неё документ исчез из отчётов, а движений нет — скорее всего, это и была пометка.
Как найти удалённый или изменённый документ
Документ удалили физически
Физически документ удаляют через «Удаление помеченных объектов». Найти след:
- Откройте журнал, задайте период, когда документ ещё был на месте, и сегодняшнюю дату окончания.
- В «Событиях» оставьте только «Данные. Удаление».
- В «Метаданных» выберите вид документа.
- Просмотрите колонку «Данные».
Ссылка на удалённый объект больше не открывается: на её месте будет <Объект не найден> с внутренним идентификатором. Но в карточке события сохраняется представление данных — номер и дата документа на момент удаления. По ним и узнаёте, тот ли это документ.
Дальше смотрите на пользователя и время события «Данные. Удаление». Потом найдите по тому же документу более раннее «Данные. Изменение» — это пометка на удаление, и её автор не всегда совпадает с тем, кто запускал удаление помеченных.
Журнал покажет, кто удалил документ, но не вернёт его. Восстановить можно только из резервной копии: разверните копию в отдельную, тестовую базу, а не поверх рабочей, и перенесите документ оттуда.
Документ изменили, а что именно — неясно
Журнал ответит на вопросы «кто» и «когда». На вопрос «что было до правки» он ответит только при включённой истории изменений. Без неё остаётся сравнить документ с его состоянием в резервной копии на дату до изменения.
Чего журнал регистрации не покажет: история изменений реквизитов
Это главный приём, который стоит включить заранее. В конфигурациях на БСП — Бухгалтерия 3.0, ЗУП 3.1, УТ 11 — есть механизм версионирования объектов. Он сохраняет копию документа при каждой записи и позволяет сравнить две версии по полям.
Как включить в Бухгалтерии 3.0:
Администрирование → Общие настройки.- В группе «История изменений» установите флажок «Хранить историю изменений».
- По ссылке «Настроить» задайте, для каких видов документов и справочников хранить версии.
После этого в форме документа появится команда Ещё → История изменений. В ней видны версии с автором и датой, а кнопка сравнения показывает отчёт: какой реквизит, какое значение было и какое стало, включая строки табличных частей.
| Вопрос | Журнал регистрации | История изменений |
|---|---|---|
| Кто и когда менял | Да | Да |
| Что было в полях до изменения | Нет | Да |
| Проведение, вход в программу, удаление | Да | Нет или частично |
| Нужно включать заранее | Обычно уже включён | Да, по умолчанию выключена |
| Влияние на размер базы | Отдельные файлы журнала | Растут таблицы базы |
💡 Не включайте версионирование для всех объектов подряд. Хватит ключевых документов: реализации, поступления, банк, кассы, начисления зарплаты. Иначе база начнёт заметно расти.
Ограничения журнала: объём, скорость, хранение
Где лежат файлы. В файловой базе журнал хранится в папке 1Cv8Log внутри каталога базы. В клиент-серверной — на сервере 1С, в каталоге кластера, в подпапке базы с тем же именем 1Cv8Log. В SQL-базе журнала нет, поэтому восстановление базы из бэкапа SQL
журнал не вернёт.
Два формата. Последовательный — файлы .lgf и .lgp, и формат SQLite — один файл .lgd. На больших объёмах последовательный формат обычно читается быстрее.
Скорость. Отбор работает по файлам журнала, а не по индексам базы. Запрос «все события за два года без отбора» может открываться минутами. Сначала сужайте период, потом добавляйте остальные условия.
Объём. Журнал растёт постоянно: в активной базе на 30–50 пользователей — несколько гигабайт в год. Разбивка на файлы по периодам (настройка из первого раздела) позволяет переносить старые файлы в архив, не трогая свежие.
Сокращение. Удалять старые записи можно в окне настройки журнала в конфигураторе — там же есть команда сокращения с выгрузкой удаляемой части в файл. Сначала выгружайте, потом сокращайте: без выгрузки удалённую историю не вернуть.
Чего ещё нет в журнале:
- 🚫 изменений, сделанных напрямую в SQL в обход платформы;
- 🚫 действий, совершённых до включения нужного уровня регистрации;
- 🚫 значений полей до и после изменения;
- 🚫 событий после удаления или замены папки
1Cv8Log.
Если пользователи работают под одной учётной записью, журнал честно покажет одно имя на всех. Разобраться, кто именно правил документ, можно будет только по колонке «Компьютер». Для аудита у каждого сотрудника должен быть свой пользователь в базе.
Частые вопросы
Можно ли узнать, кто открывал документ, но ничего не менял?
Почему в журнале пусто по документу, хотя его точно меняли?
Можно ли удалить отдельную запись из журнала регистрации?
Пользователь в журнале указан как «<Не указан>». Что это значит?
Сохранится ли журнал при выгрузке базы в .dt?
.dt содержит данные и конфигурацию, но не журнал. Если история важна, копируйте папку 1Cv8Log отдельно.