Кто, когда и что поменял в базе 1С: три способа найти ответ
Содержание
Историю изменений в 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 отдельно, пока его не сократили или не перезаписали.
Как открыть журнал регистрации и настроить его ведение
В пользовательском режиме
- Зайдите в базу под пользователем с полными правами или с ролью администратора.
- Откройте
Администрирование → Обслуживание. - Нажмите ссылку Журнал регистрации.
Этот путь одинаков в Бухгалтерии 3.0, ЗУП 3.1 и УТ 11: форма журнала в них приходит из одной библиотеки стандартных подсистем.
Запасной путь, если раздела нет или он скрыт: Все функции → Стандартные → Журнал регистрации. Команда «Все функции» включается в меню-гамбургере: Сервис и настройки → Параметры → Отображать команду «Все функции».
В Конфигураторе
Откройте базу в режиме Конфигуратора и выберите Администрирование → Журнал регистрации. Здесь открывается платформенная форма журнала. Она работает в любой конфигурации, даже нетиповой или испорченной, где пользовательский режим не запускается.
Уровень регистрации и размер журнала
Настройки ведения журнала — в Конфигураторе: Администрирование → Настройка журнала регистрации. Там три вещи:
- Уровень регистрации. Варианты: не регистрировать, только ошибки, ошибки и предупреждения, ошибки, предупреждения и информация, все события. Для разбора «кто что менял» нужен уровень с информацией или все события: изменения данных пишутся как информационные события.
- Разделение по периодам (для текстового формата): по дням, месяцам или годам. Маленькие файлы периода открываются быстрее.
- Сокращение журнала: кнопка «Сократить» удаляет записи до указанной даты, при желании с сохранением удаляемой части в файл.
Сокращение журнала необратимо: если не сохранить удаляемую часть в файл, события за этот период пропадут навсегда.
Журнал на 5-10 ГБ открывается минутами. Не стирайте его целиком: сократите до последних 3-6 месяцев, а старую часть выгрузите в файл и положите в архив.
Отбор событий по пользователю, документу и времени
Без отбора журнал показывает всё подряд, и полезные строки тонут среди входов и регламентных заданий. В форме журнала нажмите Установить отбор (в платформенной форме Конфигуратора — кнопку отбора на панели). Откроется окно с полями.
Рабочие связки отборов
| Задача | Что указать в отборе |
|---|---|
| Кто удалил документ | Событие «Данные. Удаление», Метаданные — нужный вид документа, период |
| Кто изменил конкретный документ | Данные — выбрать сам документ, события «Данные. Изменение», «Данные. Проведение», «Данные. Отмена проведения» |
| Что делал сотрудник за день | Пользователь, период с 00:00 до 23:59, без отбора по событиям |
| Кто работал с компьютера бухгалтерии | Компьютер — имя рабочей станции |
| Почему падает регламентное задание | Приложение — фоновое задание, важность «Ошибка» |
| Кто входил в базу ночью | События «Сеанс. Начало» и «Сеанс. Аутентификация», период |
Пошагово: найти, кто изменил счёт
- Установите период: например, с 01.10 по 07.10.
- В поле Метаданные отметьте «Документ. Счёт на оплату покупателю» (точное имя зависит от конфигурации, ищите по слову «Счёт»).
- В поле События оставьте группу «Данные».
- Нажмите Установить. Список сократится до записей по счетам.
- Отсортируйте по колонке «Данные» или найдите номер документа поиском по списку (
Ctrl+F). - Откройте строку двойным щелчком: в карточке события видны пользователь, компьютер, приложение и номер сеанса.
Если документ уже удалён, в колонке «Данные» останется его представление с номером и датой. Это помогает найти «пропавший» документ и человека, который его удалил.
Номер сеанса связывает события между собой. Отберите по нему все записи — увидите, что ещё этот человек делал в том же сеансе.
Отчёт «Анализ журнала регистрации»
В типовых конфигурациях есть отчёт Администрирование → Обслуживание → Отчёты администратора → Анализ журнала регистрации. Его варианты показывают активность пользователей и длительность регламентных заданий графиком и таблицей. Для вопроса «кто сколько работал в базе за месяц» это удобнее, чем листать журнал.
Как увидеть старые и новые значения реквизитов
Журнал регистрации значений не хранит. Для сравнения «было — стало» в типовых конфигурациях есть механизм истории изменений (версионирования объектов).
Включение
- Откройте
Администрирование → Общие настройки. - Найдите группу История изменений и установите флажок Хранить историю изменений.
- По ссылке Настройки хранения выберите, для каких документов и справочников записывать версии и как долго их хранить.
С этого момента при каждой записи объекта сохраняется его версия: автор, время и полное содержимое.
Просмотр и сравнение
- Откройте документ.
- Выберите в меню Ещё команду История изменений.
- В списке версий отметьте две строки и нажмите сравнение. Отчёт подсветит отличающиеся реквизиты и строки табличных частей.
Из списка версий можно открыть старую версию и при необходимости вернуться к ней. После отката у проведённого документа проверьте проведение и движения по регистрам: они должны соответствовать восстановленным данным.
История изменений не работает задним числом. Если флажок не стоял, прежнее значение найдётся только в резервной копии. Разверните копию в отдельную базу и откройте документ там. Рабочую базу копией не заменяйте.
Цена механизма — рост базы. Хранение версий для всех документов в базе с 30 000 документов в месяц заметно увеличит объём. Включайте его для документов, которые чаще всего правят задним числом: реализации, поступления, кадровые приказы, начисления зарплаты.
История изменений конфигурации и отладка
Кто и что поменял в конфигурации
Здесь журнал регистрации подскажет только время и автора. При обновлении конфигурации базы данных в нём появляется событие группы «Информационная база», а в колонке «Приложение» видно, что работал Конфигуратор. Что именно поменяли, журнал не покажет.
Содержание изменений ищут так:
- 📚 Хранилище конфигурации. Если доработки ведут через хранилище, откройте
Конфигурация → Хранилище конфигурации → История хранилища. В списке версий видны автор, дата и комментарий. Любые две версии можно сравнить, а по одной получить отчёт об изменённых объектах. - 🔍 Сравнение конфигураций. Без хранилища выручает файл
.cf, сохранённый до правок (Конфигурация → Сохранить конфигурацию в файл). Позже выберитеКонфигурация → Сравнить конфигурациии укажите этот файл. Отчёт покажет каждый изменённый объект, а двойной щелчок по модулю откроет построчное сравнение кода. - 🧩 Расширения. Часть доработок живёт не в основной конфигурации, а в расширениях:
Администрирование → Печатные формы, отчёты и обработки → Расширенияв пользовательском режиме илиКонфигурация → Расширения конфигурациив Конфигураторе. Если поведение изменилось, а основная конфигурация та же, проверьте этот список.
Приучите программиста сохранять .cf перед каждой доработкой и подписывать файл датой. Это пять секунд работы, зато через полгода будет с чем сравнить.
Отладка: кто меняет реквизит при записи
Бывает, что журнал показывает запись документа пользователем, а сам пользователь клянётся, что сумму не трогал. Значение меняет код: обработчик записи документа, подписка на события или расширение. Найти виновника можно отладчиком.
- Разверните копию рабочей базы. Отлаживать на рабочей нельзя: выполнение будет вставать на точках останова у всех.
- Откройте копию в Конфигураторе и найдите модуль объекта нужного документа.
- Поставьте точку останова (
F9) в процедурахПередЗаписьюиОбработкаПроведения. - Запустите отладку:
Отладка → Начать отладку → Тонкий клиентилиF5. - Повторите действия пользователя. Когда выполнение остановится, проверьте значение реквизита через
Отладка → Вычислить выражение(Shift+F9) и идите по коду пошагово (F10,F11).
Для клиент-серверной базы на сервере 1С должна быть разрешена отладка: агент сервера запускают с ключом -debug. Это делает администратор сервера, и смена параметров службы потребует её перезапуска.
Перезапуск службы сервера 1С обрывает сеансы всех пользователей. Делайте это вне рабочего времени и предупреждайте коллег.
Если код вызывается не из модуля объекта, поищите подписки на события: в дереве конфигурации раздел Общие → Подписки на события, у каждой подписки указаны источник и обработчик.
Почему история не находится
Ещё одна частая путаница — колонка «Пользователь» пустая. Так бывает, когда в базе нет списка пользователей: тогда все входят без авторизации, и журнал не может различить людей. Заведите пользователей в Администрирование → Настройки пользователей и прав → Пользователи — иначе разбирать, кто что изменил, будет не по чему.
Частые вопросы
Можно ли узнать, кто открывал документ, но ничего не менял?
Сколько хранится журнал регистрации?
Можно ли перенести журнал в Excel?
Ctrl+A), скопируйте (Ctrl+C) и вставьте в таблицу Excel. Для больших объёмов удобнее выгрузить журнал в файл из Конфигуратора.