Администрирование · 11 мин
Где хранится история изменений в 1С 8.3
Разбираем, где хранится история изменений в 1С 8.3: версионирование объектов, журнал регистрации, история данных, настройка и поиск изменений документов.
Вопрос «кто и когда изменил документ» возникает в каждой базе 1С, и ответ зависит от того, какой механизм фиксации изменений включён в конкретной конфигурации. В платформе 8.3 существует три независимых способа отслеживать историю: механизм версионирования объектов из Библиотеки стандартных подсистем (БСП), журнал регистрации и механизм «История данных». Каждый хранит сведения в своём месте и решает свою задачу.
Наиболее наглядный ответ даёт версионирование объектов: оно сохраняет полные снимки документов и элементов справочников в специальном регистре сведений внутри самой информационной базы. Журнал регистрации фиксирует факт изменения, но не содержит старых значений реквизитов. История данных — более новый механизм платформы — хранит версии в отдельных служебных таблицах СУБД.
Понимание того, где физически лежат эти данные, важно при поиске изменений, оценке роста базы и настройке обслуживания. Ниже разобраны все три механизма, способы их включения и ограничения каждого.
Механизм версионирования объектов: где хранятся версии
В типовых конфигурациях, построенных на БСП («Управление торговлей», «Бухгалтерия предприятия», «Зарплата и управление персоналом», ERP), история изменений документов и справочников сохраняется в регистре сведений «Версии объектов». Это обычный регистр внутри информационной базы: в файловом варианте его данные лежат в файле 1Cv8.1CD, в клиент-серверном — в таблицах базы данных на MS SQL, PostgreSQL или Oracle.
Каждая запись регистра содержит ссылку на объект, номер версии, дату, автора изменения и саму версию — сериализованное представление объекта, упакованное в хранилище значения. Именно поэтому при включённом версионировании база заметно растёт: каждый повторный проведённый документ добавляет полный снимок.
Просмотреть версии можно прямо из формы объекта: кнопка «Ещё» → «История изменений» (в некоторых конфигурациях — «Перейти» → «Версии объекта»). Откроется список версий с возможностью сравнить любые две и увидеть, какие реквизиты и табличные части изменились.
Как включить и настроить версионирование
В типовых конфигурациях настройка находится в разделе «Администрирование» → «Обслуживание» (или «Настройка версионирования объектов», в зависимости от версии БСП). Для работы механизма пользователю нужны права «Администрирование» или роль «Добавление и изменение базовой нормативно-справочной информации» плюс настройка на уровне конфигурации.
Для каждого вида объектов задаётся режим: «Не версионировать», «Версионировать при записи» или «Версионировать при проведении/отмене проведения» для документов. Также настраивается срок хранения версий — например, удалять версии старше года или хранить бессрочно. Очистка выполняется регламентным заданием «Очистка устаревших версий объектов».
- 1Откройте раздел «Администрирование» → «Обслуживание» и найдите блок «Версионирование объектов».
- 2Установите флажок «Хранить историю изменений» (или аналогичный переключатель).
- 3Перейдите в «Настройка версионирования» и для нужных видов документов и справочников выберите режим версионирования.
- 4Задайте срок хранения версий, чтобы контролировать рост базы.
- 5Проверьте результат: измените и запишите тестовый документ, затем откройте его историю изменений — должна появиться новая версия.
Журнал регистрации: фиксация факта изменения
Журнал регистрации работает независимо от версионирования и включён всегда. Он фиксирует события: вход пользователей, запись и проведение документов, изменение констант, ошибки. Для события «Данные. Изменение» видно, кто, когда и какой объект изменил, но без значений реквизитов до и после.
Физически журнал хранится отдельно от основных данных. В файловой базе новый формат журнала — это каталог 1Cv8Log рядом с файлом 1Cv8.1CD, содержащий файлы с расширением lgd. В клиент-серверном варианте журнал по умолчанию размещается в каталоге служебных файлов кластера (например, reg_1541\1Cv8Log на сервере 1С), но его можно перенести в отдельную базу данных СУБД.
Открыть журнал можно в режиме «1С:Предприятие» через «Все функции» → «Стандартные» → «Журнал регистрации» или в конфигураторе: «Администрирование» → «Журнал регистрации». Полезен отбор по пользователю, типу события «Данные» и конкретному объекту.
Механизм «История данных» платформы
Начиная с платформы 8.3.11 доступен встроенный механизм «История данных» — альтернатива версионированию БСП, работающая на уровне платформы, а не прикладного кода. Включение выполняется в конфигураторе: в свойствах нужного объекта метаданных (документа, справочника) устанавливается признак «История данных» — «Хранить историю».
Версии хранятся в служебных системных таблицах, которые платформа создаёт автоматически; в файловой базе они входят в состав 1Cv8.1CD, в клиент-серверном — размещаются в той же базе СУБД. Платформа предоставляет программный интерфейс (менеджер истории данных) для получения версий, сравнения и восстановления объектов.
Преимущество механизма — независимость от БСП и гибкость настройки (можно хранить историю только выбранных реквизитов). Недостаток — в типовых конфигурациях нет готового пользовательского интерфейса просмотра: для удобной работы требуется доработка или внешняя обработка.
Сравнение способов хранения истории
Готовый интерфейс просмотра и сравнения в типовых конфигурациях. Ограничение: работает только в конфигурациях на БСП, заметно увеличивает базу.
Включён всегда, показывает факт и автора изменения. Ограничение: не хранит значения реквизитов, нельзя восстановить прежнюю версию.
Встроенный механизм 8.3.11+, гибкая настройка по реквизитам. Ограничение: нет штатного интерфейса просмотра, нужна доработка.
Как найти, кто изменил документ: практический сценарий
Типовая задача: сумма в проведённом документе не совпадает с ожидаемой, нужно выяснить, кто его перепровёл. Порядок действий зависит от включённых механизмов. Если версионирование настроено, откройте документ → «Ещё» → «История изменений», сравните последние версии — различия подсвечиваются по реквизитам и строкам табличных частей.
Если версионирование не включено, откройте журнал регистрации с отбором по типу события «Данные. Изменение» и представлению документа. Вы увидите пользователя и точное время каждой записи объекта, но содержимое изменений восстановить не получится — только косвенно, по копиям базы или резервным копиям.
Для расследования инцидентов полезно совместить оба источника: журнал регистрации даст хронологию всех действий пользователя (вход, открытие, изменение), а версии объектов — содержание изменений.
Как выбрать действие
Рост базы и обслуживание истории
Главная цена версионирования — объём. В активно используемой базе регистр «Версии объектов» может стать одной из самых больших таблиц, что влияет на время резервного копирования, обновления и реструктуризации. Поэтому срок хранения версий следует задавать осознанно: для справочников обычно достаточно длительного хранения, для массово проводимых документов — ограниченного.
Регламентное задание очистки устаревших версий должно быть активно и выполняться по расписанию. Проверьте, что оно не отключено и завершается без ошибок — иначе версии будут копиться бесконечно даже при настроенном сроке хранения.
Для журнала регистрации полезно периодически выполнять сокращение (в конфигураторе: «Администрирование» → «Настройка журнала регистрации» → «Сократить») с сохранением архивной копии, если требования аудита обязывают хранить события долго.
Частые ошибки при работе с историей изменений
Первая типичная ошибка — ожидать от журнала регистрации содержимого изменений. Администраторы нередко ищут в нём старые значения реквизитов, которых там нет по определению. Вторая — включить версионирование «на всё» без ограничения срока хранения и столкнуться с неконтролируемым ростом базы.
Третья ошибка — считать, что версионирование заменяет резервное копирование. Версии защищают от логических ошибок (некорректного изменения), но не спасают при физическом повреждении базы, ведь хранятся внутри неё же. Четвёртая — забыть, что после включения версионирования история начинает писаться только с этого момента: прошлые изменения задним числом не восстановить.
FAQ: частые вопросы об истории изменений в 1С 8.3
Можно ли восстановить документ из версии после ошибочного изменения?
Да, если включено версионирование: в списке версий объекта есть команда «Перейти на версию», которая восстанавливает реквизиты из выбранной версии. Восстановление само фиксируется как новая версия, поэтому цепочка изменений не теряется.
Почему в документе нет пункта «История изменений»?
Либо версионирование не включено для этого вида объектов, либо конфигурация не содержит подсистемы версионирования БСП, либо у пользователя недостаточно прав. Проверьте настройку в разделе «Администрирование» → «Обслуживание».
Где физически лежит журнал регистрации файловой базы?
В каталоге 1Cv8Log рядом с файлом 1Cv8.1CD — внутри находятся файлы с расширением lgd. В старом формате использовался файл 1Cv8.log и 1Cv8.lgp; новый формат включается при обновлении платформы и конвертации журнала.
Можно ли узнать, кто изменил документ, если версионирование не было включено?
Да, через журнал регистрации: отбор по событию «Данные. Изменение» и представлению объекта покажет пользователя и время. Но что именно было изменено, установить штатно нельзя — только сравнением с резервной копией базы.
Влияет ли версионирование на скорость записи документов?
Да, каждая запись версионируемого объекта дополнительно сериализуется и сохраняется в регистр, что увеличивает время транзакции. На массовых операциях (обмены, групповое перепроведение) эффект заметнее, поэтому для таких объектов стоит выбирать избирательные режимы версионирования.
Чем «История данных» лучше версионирования БСП?
Механизм платформы работает независимо от прикладного кода, позволяет хранить историю только выбранных реквизитов и управляется централизованно. Однако у него нет готового интерфейса просмотра в типовых конфигурациях, поэтому на практике чаще используют версионирование БСП.
Что важно запомнить
История изменений в 1С 8.3 хранится в регистре сведений «Версии объектов» (версионирование БСП), в журнале регистрации (файлы lgd или таблица СУБД) и в служебных таблицах механизма «История данных». Полные версии с возможностью сравнения и восстановления даёт только версионирование — включите его заранее, настройте срок хранения и следите за регламентным заданием очистки.