Кто, когда и что поменял в базе 1С: разбираем следы изменений

· 9 мин

Содержание

Проверить историю в 1С 8.3 можно двумя инструментами. Журнал регистрации (в БП 3.0 — Администрирование → Обслуживание → Журнал регистрации) показывает, кто, когда и с какого компьютера записал, провёл или удалил объект. История изменений (версионирование, команда Ещё → История изменений в форме документа) хранит сами значения реквизитов до и после правки.

Частое заблуждение: «журнал регистрации покажет, какая сумма была в документе вчера». Не покажет. Журнал фиксирует факт события и ссылку на объект, но старые значения полей в нём не лежат. Чтобы видеть изменения документов по полям, нужно заранее включить хранение версий. Оба механизма есть во всех типовых конфигурациях на БСП: Бухгалтерии 3.0, ЗУП 3.1, УТ 11, КА и ERP. Различаются только пути к общим настройкам.

Что включить заранее, чтобы история вообще была

Если ничего не настраивать, журнал регистрации пишется с уровнем по умолчанию, а версии объектов не хранятся. Когда спорная правка уже случилась, задним числом её историю не восстановить. Поэтому сначала — настройка.

Уровень журнала регистрации

Уровень задаётся в Конфигураторе: Администрирование → Настройка журнала регистрации. Варианты:

УровеньЧто попадает в журнал
Не регистрироватьНичего. Так оставлять нельзя
Регистрировать ошибкиТолько ошибки
Ошибки и предупрежденияПлюс предупреждения
Ошибки, предупреждения и информациюПлюс информационные записи
Регистрировать все событияВсё, включая примечания. Нужен для разбора, кто правил данные

События изменения данных («Данные. Изменение», «Данные. Проведение», «Данные. Удаление») относятся к примечаниям. На урезанном уровне вы увидите ошибки, но не увидите, кто исправил документ. Для аудита ставьте «Регистрировать все события».

В том же окне задаётся разделение журнала по периодам (день, неделя, месяц, год). Файлы разбиваются по выбранному периоду, и старые части проще архивировать.

Журнал растёт быстро. На базе с 30–50 пользователями полный уровень даёт сотни мегабайт за месяц. Кнопка «Сократить» в том же окне удаляет записи до выбранной даты и может перед этим сохранить их в файл. Сохраняйте: удалённые записи без файла не вернуть.

Хранение версий объектов

В типовых конфигурациях на БСП:

КонфигурацияГде включается
Бухгалтерия 3.0Администрирование → Общие настройки, группа «История изменений»
ЗУП 3.1Администрирование → Общие настройки, группа «История изменений»
УТ 11, КА 2, ERPРаздел НСИ и администрирование, подраздел общих настроек, группа «История изменений»

Поставьте флажок «Хранить историю изменений» и откройте ссылку настроек хранения. Там для каждого вида объектов выбирается режим: не хранить версии, хранить при записи или при проведении (для документов). Там же задаётся срок хранения, чтобы таблица версий не раздувала базу.

Разумный минимум: при записи для справочников «Контрагенты», «Номенклатура», «Договоры» и при проведении для документов поступления, реализации и банковских выписок.

Как найти нужное событие в журнале регистрации

Журнал открывается из пользовательского режима (путь выше) или из Конфигуратора: Администрирование → Журнал регистрации. Нужны права администратора. Если в меню команды нет, откройте Главное меню → Все функции → Стандартные → Журнал регистрации. Пункт «Все функции» включается в Сервис → Параметры флажком «Отображать команду «Все функции»».

Без отбора журнал бесполезен: в нём десятки тысяч строк. Нажмите «Установить отбор» и заполните поля.

Отборы, которые решают 90% вопросов

  • 📅 Период. Начните с узкого: день, когда заметили расхождение.
  • 👤 Пользователь. Если подозреваете конкретного сотрудника.
  • 💻 Компьютер. Помогает, когда под одним логином работают несколько человек.
  • 📌 События. Отметьте только Данные. Изменение, Данные. Проведение, Данные. Отмена проведения, Данные. Удаление.
  • 🗂 Метаданные. Выберите вид объекта, например документ «Реализация (акты, накладные, УПД)».
  • 🔎 Данные или представление данных. Сюда вставляется ссылка на конкретный документ или часть его представления, например номер.

Пример: кто перепровёл реализацию

Допустим, в реализации № 154 от 12 марта изменилась сумма, а продавец говорит, что ничего не трогал.

  1. Установите период с 12 марта по сегодня.
  2. В метаданных выберите документ реализации.
  3. В поле представления данных введите 154.
  4. Оставьте события «Данные. Изменение» и «Данные. Проведение».
  5. Отсортируйте по дате. В колонках видны пользователь, компьютер, приложение (тонкий клиент, веб-клиент, фоновое задание, COM-соединение) и номер сеанса.

Если запись сделана фоновым заданием или COM-соединением, документ изменил не человек, а обмен или обработка. Это частая причина «самостоятельных» изменений: синхронизация с УТ или обмен с банком перезаписали документ.

Входы и неудачные попытки

Отбор по событиям Сеанс. Начало, Сеанс. Завершение, Сеанс. Аутентификация и Сеанс. Ошибка аутентификации показывает, кто и откуда заходил в базу. Серия ошибок аутентификации под одним логином за минуты — повод сменить пароль и проверить, кто знает учётную запись.

Если журнал открывается минутами

На базах, где журнал не сокращали годами, его файлы занимают гигабайты. Форма журнала сначала читает записи, а потом применяет отбор, поэтому открытие «за всё время» может длиться очень долго.

Что помогает:

  • ⏳ Сразу ставить отбор по периоду. Чем уже интервал, тем меньше файлов читает платформа.
  • 🗃 Разделить журнал по периодам. При разбиении по месяцам запрос за один день затрагивает только один файл.
  • 📦 Архивировать старые записи. Сократите журнал до начала прошлого года с сохранением в файл. Архив открывается отдельно, когда он действительно нужен.
  • 🕗 Смотреть журнал вне пиковых часов. Чтение больших файлов нагружает диск сервера, и это чувствуют все пользователи базы.

Если журнал при открытии выдаёт ошибку чтения, проверьте свободное место на диске сервера и права службы 1С на каталог 1Cv8Log.

Как посмотреть историю изменений документа по реквизитам

Откройте документ или элемент справочника и выберите в командной панели Ещё → История изменений. Появится список версий: номер, дата и время, автор, комментарий. Если команды нет, хранение версий для этого вида объектов выключено.

Что можно сделать в списке версий:

  1. Открыть одну версию. Отчёт покажет все реквизиты и табличные части на момент записи.
  2. Сравнить две версии. Выделите их с Ctrl и нажмите «Сравнить». Изменённые поля подсвечиваются, в табличных частях видны добавленные, удалённые и изменённые строки.
  3. Перейти на версию. Откатывает объект к выбранному состоянию. Об этом — в разделе про восстановление.

Сравнивайте не только соседние версии. Если документ переписывали пять раз, выделите первую и последнюю версии — увидите итог всех правок одним отчётом.

Версия хранит данные самого объекта. Проводки и движения по регистрам в ней не сохраняются: они формируются заново при проведении. Если «уехали» проводки, ищите изменения в документе и в учётной политике, а не в версиях проводок.

Отчёты для аудита: сводная картина вместо поиска по строчкам

Журнал хорош для точечного поиска. Чтобы понять картину целиком — кто сколько работал, какие объекты правили чаще всего, — нужны отчёты.

Анализ журнала регистрации

В конфигурациях на БСП есть отчёт «Анализ журнала регистрации». В БП 3.0 его открывают из раздела Администрирование, среди отчётов администратора. У отчёта несколько вариантов:

  • 👥 Активность пользователей — сколько объектов создал и изменил каждый сотрудник за период;
  • 👤 Активность пользователя — детально по одному человеку, с разбивкой по видам объектов;
  • ⏱ Продолжительность работы регламентных заданий — когда шли обмены и обновления, сколько длились.

Первый вариант удобно запускать раз в месяц перед закрытием периода. Если пользователь, который не должен трогать закрытый квартал, правил документы в нём, это сразу видно.

Запрет редактирования как дополнительный след

В БП 3.0 и ЗУП 3.1 дата запрета изменения задаётся в Администрирование → Пользователи и права → Даты запрета изменения. Попытка записать документ в закрытом периоде блокируется. Если запрет кто-то снимал, это тоже видно в журнале: ищите изменения константы и регистра дат запрета за нужный день.

Выгрузка журнала для внешнего анализа

В Конфигураторе отфильтрованный журнал сохраняется в XML или текстовый файл. Это удобно, когда разбор идёт у подрядчика, у которого нет доступа к базе, или нужен архив событий за год.

Где лежат файлы журнала и технологические логи на сервере

Журнал регистрации хранится не в таблицах базы, а в отдельных файлах. Это важно: копия базы в формате .dt его не содержит.

Вариант базыГде искать журнал
ФайловаяПодкаталог 1Cv8Log в каталоге базы
Клиент-сервернаяC:\Program Files\1cv8\srvinfo\reg_1541\<идентификатор базы>\1Cv8Log (путь меняется, если каталог кластера задан иначе)

Идентификатор базы — GUID папки. Сопоставить его с именем базы можно в консоли администрирования серверов или по файлу 1CV8Clst.lst в каталоге reg_1541.

Встречаются два формата. Последовательный — файлы .lgf (справочник пользователей , компьютеров, метаданных) и .lgp (сами события). Формат SQLite — файл .lgd. Формат выбирается в настройке журнала регистрации в Конфигураторе.

Не копируйте и не удаляйте файлы журнала, пока с базой работают пользователи. Файл может быть заблокирован или записан частично. Делайте это вне рабочего времени, когда сеансы завершены.

Технологический журнал

Это не то же самое, что журнал регистрации. Технологический журнал пишет события платформы: исключения, медленные запросы к СУБД, блокировки, вызовы сервера. Он нужен для разбора ошибок и производительности, а не для вопроса «кто удалил документ».

Включается файлом logcfg.xml в каталоге conf платформы. Минимальный пример — запись исключений:

<?xml version="1.0" encoding="UTF-8"?>
<config xmlns="http://v8.1c.ru/v8/tech-log">
  <log location="D:\1c_logs\excp" history="24">
    <event>
      <eq property="name" value="EXCP"/>
    </event>
    <property name="all"/>
  </log>
</config>

history="24" — хранить логи 24 часа. Без ограничения технологический журнал заполнит диск за сутки-двое. Платформа подхватывает изменения файла сама, перезапуск службы не нужен.

Включайте технологический журнал на время разбора, а не навсегда. Каталог для логов выбирайте на диске, где не лежат файлы баз.

Как вернуть данные, опираясь на историю

Порядок действий зависит от того, что пропало. Начинайте с самого мягкого способа.

Что случилось с данными?

Откат через «Перейти на версию»

  1. Сравните выбранную версию с текущей и убедитесь, что откатываете то, что нужно.
  2. Нажмите «Перейти на версию». Программа запишет объект с данными этой версии, а в истории появится новая версия.
  3. Перепроведите документ, чтобы движения соответствовали восстановленным данным.
  4. Проверьте документы, которые ссылаются на исправленный: оплаты, счета-фактуры, корректировки.

Восстановление из резервной копии

Когда объект удалён окончательно, журнал подсказывает момент: ищите событие Данные. Удаление и время. Нужна копия, сделанная раньше.

  1. Разверните копию в отдельную базу. Не загружайте .dt поверх рабочей базы — потеряете всё, что введено после копии.
  2. Найдите в развёрнутой копии нужные документы.
  3. Перенесите их в рабочую базу выгрузкой в XML и загрузкой той же обработкой с обеих сторон.
  4. Проведите перенесённые документы и сверьте остатки по затронутым счетам.

Если копий нет, а журнал показывает, что удаление сделала обработка «Удаление помеченных объектов», данных уже нет в базе. Остаётся восстановить документы вручную по первичке, используя журнал как список того, что пропало.

Частые вопросы

Видно ли в журнале регистрации, какое значение было до изменения?
Нет. Журнал хранит факт события, пользователя, время и ссылку на объект. Значения полей до правки показывает только история изменений, если она была включена заранее.
Почему в журнале нет записей за прошлый месяц?
Скорее всего, журнал сокращали или удаляли его файлы. Ещё одна причина — восстановление базы на другой сервер: файлы журнала не входят в .dt и не переносятся вместе с ним.
Может ли пользователь стереть свои следы в журнале?
Из пользовательского режима — нет, даже с правом просмотра журнала. Сократить журнал можно только в Конфигураторе с административными правами или удалив файлы на сервере.
Почему в журнале пустой пользователь?
Так записываются действия без авторизованного пользователя: базы без списка пользователей, часть регламентных заданий и внешние соединения под пустым логином. Смотрите колонки «Компьютер» и «Приложение», чтобы понять источник.
Сильно ли история изменений увеличивает базу?
Зависит от объёма документов. Ограничьте хранение нужными видами объектов и задайте срок хранения, тогда рост остаётся умеренным.