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

· 10 мин

Содержание

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

Выбор инструмента зависит от вопроса. «Кто трогал документ вчера» — это журнал регистрации. «Какая сумма стояла до правки» — история изменений объекта. «Почему реквизит меняется сам при записи» — отладка в Конфигураторе. Разберём каждый путь, отборы и типичные затыки.

Какой инструмент отвечает на ваш вопрос

Что нужно узнатьИнструментЧто покажетОграничение
Кто и когда изменил, провёл, удалил документЖурнал регистрацииПользователь, время, компьютер, событие, ссылка на объектСтарых и новых значений реквизитов нет
Какие поля поменялись и как было раньшеИстория изменений (версии объектов)Версии объекта, сравнение двух версий по реквизитам и табличным частямРаботает только после включения, задним числом не восстановит
Кто входил в базу, сколько работалЖурнал регистрации, отчёт «Анализ журнала регистрации»Начало и завершение сеансов, активностьЗависит от уровня регистрации
Что изменилось в конфигурацииХранилище конфигурации, сравнение конфигураций, журналВерсии с комментариями, отличия по объектам и модулямХранилище есть только при групповой разработке
Какой код меняет данныеОтладчик КонфигуратораПошаговое выполнение, значения переменныхНужны права на Конфигуратор и копия базы
Что вы хотите выяснить?

Журнал регистрации: что в нём хранится

Журнал регистрации — служебный лог платформы. Он пишется для любой конфигурации на 8.3, программисту ничего настраивать не нужно. Каждая строка — одно событие с набором колонок:

  • 🕒 Дата и время события по часам сервера (в файловой базе — компьютера, где лежит база);
  • 👤 Пользователь и Компьютер, с которого он работал;
  • 🖥 Приложение: тонкий клиент, веб-клиент, Конфигуратор, фоновое задание, COM-соединение;
  • 📌 Событие: «Данные. Изменение», «Данные. Проведение», «Сеанс. Начало» и так далее;
  • 📄 Метаданные и Данные: тип объекта и ссылка на конкретный документ или элемент справочника;
  • 💬 Комментарий: текст ошибки или пояснение, которое записал код конфигурации;
  • 🔢 Сеанс и Транзакция: номер сеанса и статус транзакции (зафиксирована или отменена).

Важное ограничение: журнал фиксирует факт записи, а не содержимое. Вы увидите, что Иванова в 14:32 записала счёт № 128, но не увидите, что она поменяла сумму с 50 000 на 55 000.

Где физически лежит журнал

  • 📁 В файловой базе — в подкаталоге 1Cv8Log рядом с файлом 1Cv8.1CD.
  • 📁 В клиент-серверной — на сервере 1С, в каталоге кластера: srvinfo\reg_1541\<идентификатор базы>\1Cv8Log.

В 8.3 журнал хранится либо в одном файле 1Cv8.lgd (база SQLite), либо в старом текстовом формате: файл 1Cv8.lgf плюс файлы периодов .lgp.

Выгрузка базы в .dt журнал регистрации не переносит. Если журнал нужен для разбора инцидента, скопируйте каталог 1Cv8Log отдельно, пока его не сократили или не перезаписали.

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

В пользовательском режиме

  1. Зайдите в базу под пользователем с полными правами или с ролью администратора.
  2. Откройте Администрирование → Обслуживание.
  3. Нажмите ссылку Журнал регистрации.

Этот путь одинаков в Бухгалтерии 3.0, ЗУП 3.1 и УТ 11: форма журнала в них приходит из одной библиотеки стандартных подсистем.

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

В Конфигураторе

Откройте базу в режиме Конфигуратора и выберите Администрирование → Журнал регистрации. Здесь открывается платформенная форма журнала. Она работает в любой конфигурации, даже нетиповой или испорченной, где пользовательский режим не запускается.

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

Настройки ведения журнала — в Конфигураторе: Администрирование → Настройка журнала регистрации. Там три вещи:

  1. Уровень регистрации. Варианты: не регистрировать, только ошибки, ошибки и предупреждения, ошибки, предупреждения и информация, все события. Для разбора «кто что менял» нужен уровень с информацией или все события: изменения данных пишутся как информационные события.
  2. Разделение по периодам (для текстового формата): по дням, месяцам или годам. Маленькие файлы периода открываются быстрее.
  3. Сокращение журнала: кнопка «Сократить» удаляет записи до указанной даты, при желании с сохранением удаляемой части в файл.

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

Журнал на 5-10 ГБ открывается минутами. Не стирайте его целиком: сократите до последних 3-6 месяцев, а старую часть выгрузите в файл и положите в архив.

Отбор событий по пользователю, документу и времени

Без отбора журнал показывает всё подряд, и полезные строки тонут среди входов и регламентных заданий. В форме журнала нажмите Установить отбор (в платформенной форме Конфигуратора — кнопку отбора на панели). Откроется окно с полями.

Рабочие связки отборов

ЗадачаЧто указать в отборе
Кто удалил документСобытие «Данные. Удаление», Метаданные — нужный вид документа, период
Кто изменил конкретный документДанные — выбрать сам документ, события «Данные. Изменение», «Данные. Проведение», «Данные. Отмена проведения»
Что делал сотрудник за деньПользователь, период с 00:00 до 23:59, без отбора по событиям
Кто работал с компьютера бухгалтерииКомпьютер — имя рабочей станции
Почему падает регламентное заданиеПриложение — фоновое задание, важность «Ошибка»
Кто входил в базу ночьюСобытия «Сеанс. Начало» и «Сеанс. Аутентификация», период

Пошагово: найти, кто изменил счёт

  1. Установите период: например, с 01.10 по 07.10.
  2. В поле Метаданные отметьте «Документ. Счёт на оплату покупателю» (точное имя зависит от конфигурации, ищите по слову «Счёт»).
  3. В поле События оставьте группу «Данные».
  4. Нажмите Установить. Список сократится до записей по счетам.
  5. Отсортируйте по колонке «Данные» или найдите номер документа поиском по списку (Ctrl+F).
  6. Откройте строку двойным щелчком: в карточке события видны пользователь, компьютер, приложение и номер сеанса.

Если документ уже удалён, в колонке «Данные» останется его представление с номером и датой. Это помогает найти «пропавший» документ и человека, который его удалил.

Номер сеанса связывает события между собой. Отберите по нему все записи — увидите, что ещё этот человек делал в том же сеансе.

Отчёт «Анализ журнала регистрации»

В типовых конфигурациях есть отчёт Администрирование → Обслуживание → Отчёты администратора → Анализ журнала регистрации. Его варианты показывают активность пользователей и длительность регламентных заданий графиком и таблицей. Для вопроса «кто сколько работал в базе за месяц» это удобнее, чем листать журнал.

Как увидеть старые и новые значения реквизитов

Журнал регистрации значений не хранит. Для сравнения «было — стало» в типовых конфигурациях есть механизм истории изменений (версионирования объектов).

Включение

  1. Откройте Администрирование → Общие настройки.
  2. Найдите группу История изменений и установите флажок Хранить историю изменений.
  3. По ссылке Настройки хранения выберите, для каких документов и справочников записывать версии и как долго их хранить.

С этого момента при каждой записи объекта сохраняется его версия: автор, время и полное содержимое.

Просмотр и сравнение

  1. Откройте документ.
  2. Выберите в меню Ещё команду История изменений.
  3. В списке версий отметьте две строки и нажмите сравнение. Отчёт подсветит отличающиеся реквизиты и строки табличных частей.

Из списка версий можно открыть старую версию и при необходимости вернуться к ней. После отката у проведённого документа проверьте проведение и движения по регистрам: они должны соответствовать восстановленным данным.

История изменений не работает задним числом. Если флажок не стоял, прежнее значение найдётся только в резервной копии. Разверните копию в отдельную базу и откройте документ там. Рабочую базу копией не заменяйте.

Цена механизма — рост базы. Хранение версий для всех документов в базе с 30 000 документов в месяц заметно увеличит объём. Включайте его для документов, которые чаще всего правят задним числом: реализации, поступления, кадровые приказы, начисления зарплаты.

История изменений конфигурации и отладка

Кто и что поменял в конфигурации

Здесь журнал регистрации подскажет только время и автора. При обновлении конфигурации базы данных в нём появляется событие группы «Информационная база», а в колонке «Приложение» видно, что работал Конфигуратор. Что именно поменяли, журнал не покажет.

Содержание изменений ищут так:

  • 📚 Хранилище конфигурации. Если доработки ведут через хранилище, откройте Конфигурация → Хранилище конфигурации → История хранилища. В списке версий видны автор, дата и комментарий. Любые две версии можно сравнить, а по одной получить отчёт об изменённых объектах.
  • 🔍 Сравнение конфигураций. Без хранилища выручает файл .cf, сохранённый до правок (Конфигурация → Сохранить конфигурацию в файл). Позже выберите Конфигурация → Сравнить конфигурации и укажите этот файл. Отчёт покажет каждый изменённый объект, а двойной щелчок по модулю откроет построчное сравнение кода.
  • 🧩 Расширения. Часть доработок живёт не в основной конфигурации, а в расширениях: Администрирование → Печатные формы, отчёты и обработки → Расширения в пользовательском режиме или Конфигурация → Расширения конфигурации в Конфигураторе. Если поведение изменилось, а основная конфигурация та же, проверьте этот список.

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

Отладка: кто меняет реквизит при записи

Бывает, что журнал показывает запись документа пользователем, а сам пользователь клянётся, что сумму не трогал. Значение меняет код: обработчик записи документа, подписка на события или расширение. Найти виновника можно отладчиком.

  1. Разверните копию рабочей базы. Отлаживать на рабочей нельзя: выполнение будет вставать на точках останова у всех.
  2. Откройте копию в Конфигураторе и найдите модуль объекта нужного документа.
  3. Поставьте точку останова (F9) в процедурах ПередЗаписью и ОбработкаПроведения.
  4. Запустите отладку: Отладка → Начать отладку → Тонкий клиент или F5.
  5. Повторите действия пользователя. Когда выполнение остановится, проверьте значение реквизита через Отладка → Вычислить выражение (Shift+F9) и идите по коду пошагово (F10, F11).

Для клиент-серверной базы на сервере 1С должна быть разрешена отладка: агент сервера запускают с ключом -debug. Это делает администратор сервера, и смена параметров службы потребует её перезапуска.

Перезапуск службы сервера 1С обрывает сеансы всех пользователей. Делайте это вне рабочего времени и предупреждайте коллег.

Если код вызывается не из модуля объекта, поищите подписки на события: в дереве конфигурации раздел Общие → Подписки на события, у каждой подписки указаны источник и обработчик.

Почему история не находится

Диагностика: выберите симптом

Ещё одна частая путаница — колонка «Пользователь» пустая. Так бывает, когда в базе нет списка пользователей: тогда все входят без авторизации, и журнал не может различить людей. Заведите пользователей в Администрирование → Настройки пользователей и прав → Пользователи — иначе разбирать, кто что изменил, будет не по чему.

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

Можно ли узнать, кто открывал документ, но ничего не менял?
Нет. Журнал фиксирует запись, проведение и удаление, а просто открытие формы типовая конфигурация не регистрирует.
Сколько хранится журнал регистрации?
Пока его не сократят вручную или регламентной процедурой. Платформа сама записи не удаляет, поэтому журнал за несколько лет может занимать десятки гигабайт.
Можно ли перенести журнал в Excel?
Да. Отберите нужные строки, выделите их (Ctrl+A), скопируйте (Ctrl+C) и вставьте в таблицу Excel. Для больших объёмов удобнее выгрузить журнал в файл из Конфигуратора.
Пишет ли журнал изменения, сделанные обработкой или обменом?
Да. Такие записи идут от имени пользователя, запустившего обработку, или от пользователя обмена. В колонке «Приложение» видно, было ли это фоновое задание или COM-соединение.
Может ли пользователь стереть свои следы в журнале?
Без административных прав нет. Сокращать журнал и менять его настройки может только администратор, а файлы журнала в клиент-серверной базе лежат на сервере, куда у пользователей доступа нет.