К статье
Практический материал

Администрирование · 10 мин

Как удалить историю изменений в 1С и очистить версии объектов

Как удалить историю изменений объектов в 1С: штатная настройка версионирования, очистка регистра версий, обработки и способы уменьшить размер базы без потери данных.

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

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

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

Что такое история изменений и где она хранится

В типовых конфигурациях на базе БСП («Управление торговлей», «ERP», «Комплексная автоматизация», «Бухгалтерия» в части отдельных механизмов) история изменений реализована как версионирование объектов. При записи документа или элемента справочника система сохраняет его снимок, из которого доступны автор изменения, дата и отличия от предыдущей версии.

Технически версии хранятся в служебном хранилище внутри информационной базы в сериализованном виде. Именно поэтому они не видны в обычных списках и не удаляются вместе с пометкой на удаление объекта — для очистки нужны специальные инструменты.

Отдельно существует журнал регистрации — он ведётся платформой и хранится в файлах (в файловой базе — в каталоге базы, в клиент-серверной — на сервере СУБД или в каталоге сервера 1С). Его сокращение выполняется через конфигуратор и не связано с версионированием.

Проверьте, включено ли версионирование и сколько места оно занимает

Прежде чем удалять, убедитесь, что проблема действительно в версиях. Откройте раздел «Администрирование» → «Поддержка и обслуживание» или «Общие настройки» (точное расположение зависит от конфигурации) и найдите блок «История изменений». Если версионирование включено, там же указано, для каких типов объектов оно работает.

Оценить объём можно косвенно: сравните размер файла базы (1Cv8.1CD для файлового варианта) с ожидаемым по количеству документов. Если база растёт быстрее, чем добавляются данные, и версионирование включено для массовых документов (например, реализаций или кассовых операций), версии — вероятная причина.

В клиент-серверном варианте объём таблиц смотрят средствами СУБД (например, отчётами по размеру таблиц в MS SQL Server Management Studio). Таблицы версий обычно входят в число самых крупных при активном версионировании.

База растёт быстрее объёма документовВероятно, накапливаются версии

Проверьте настройку «История изменений» в администрировании

В объекте есть кнопка «История изменений»Версионирование включено для этого типа

Откройте форму документа → Ещё → История изменений

Большие таблицы версий в СУБДНакоплен большой архив версий

Посмотрите размер таблиц средствами СУБД

Версионирование отключено, а база большаяПричина в другом: журнал регистрации, итоги, вложения

Проверьте журнал регистрации и хранилище файлов

Как ограничить или отключить хранение версий

Самый безопасный способ остановить рост истории — настроить правила хранения. В разделе «Администрирование» → «Общие настройки» откройте «История изменений» (в некоторых конфигурациях — «Версионирование объектов»). Для каждого типа объектов доступны варианты: не версионировать, версионировать без ограничений или хранить версии ограниченное время.

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

Если история не нужна вовсе, переведите типы объектов в режим «Не версионировать». Учтите: это не удаляет уже накопленные версии — их нужно очищать отдельно.

Порядок действий при настройке
  1. 1
    Откройте «Администрирование» → «Общие настройки» → «История изменений»
  2. 2
    Для каждого типа объектов выберите режим: не версионировать или хранить версии ограниченный срок
  3. 3
    Убедитесь, что регламентное задание очистки устаревших версий активно
  4. 4
    Сохраните настройки и дождитесь первого выполнения очистки
  5. 5
    Проверьте размер базы после очистки и тестирования сжатия

Как удалить уже накопленные версии объектов

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

Для разовой полной очистки используют специализированные обработки, которые удаляют записи версий напрямую. Такие обработки запускают в режиме предприятия под полными правами, обязательно в монопольном или малонагруженном режиме: удаление миллионов записей занимает время и блокирует таблицы.

После удаления версий файл базы физически не уменьшится сразу — в файловом варианте нужно выполнить тестирование и исправление с включённым сжатием таблиц, в клиент-серверном — shrink средствами СУБД (с учётом рекомендаций по фрагментации индексов).

Очистка журнала регистрации как смежная задача

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

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

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

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

В конфигурациях на БСП очистку можно выполнить программно через механизмы подсистемы версионирования или прямым удалением записей из соответствующего хранилища. Типовой подход — вызов штатных процедур очистки устаревших версий из внешней обработки или регламентного задания с собственным расписанием.

Прямая работа с таблицами СУБД (DELETE напрямую в SQL) категорически не рекомендуется: структура хранения версий включает служебные поля и ссылки, и ручное вмешательство может нарушить целостность базы и лишить поддержки.

bsl
// Пример: запуск штатной очистки устаревших версий (БСП)
// Выполняется в привилегированном режиме, под полными правами
ВерсионированиеОбъектов.УдалитьУстаревшиеВерсииОбъектов();

Проверка результата и типичные ошибки

После очистки проверьте три вещи: настройки версионирования (чтобы история не начала копиться заново), выполнение регламентного задания очистки (в журнале регистрации не должно быть ошибок) и фактический размер базы после сжатия. Если размер не изменился — чаще всего не выполнено тестирование и исправление со сжатием или shrink в СУБД.

Контрольные точки

Как проверить результат

Настройки истории изменений
Норма

Установлен срок хранения или режим «Не версионировать»

Тревожный признак

Стоит «хранить бессрочно» для массовых документов

Регламентное задание очистки
Норма

Выполняется без ошибок по расписанию

Тревожный признак

Задание отключено или завершается с ошибкой

Размер файла базы
Норма

Уменьшился после сжатия таблиц

Тревожный признак

Не изменился — сжатие не выполнялось

Форма объекта
Норма

Старые версии недоступны, объект открывается нормально

Тревожный признак

Ошибки при открытии истории или объекта

Типичные ошибки
01
Удаление версий без резервной копии — при ошибке или неверном выборе данных восстановить историю невозможно
02
Отключение версионирования без очистки накопленного — старые версии остаются и продолжают занимать место
03
Ожидание уменьшения файла базы сразу после удаления — без сжатия таблиц объём файла не изменится
04
Прямое удаление записей в СУБД — риск нарушить целостность базы и потерять поддержку конфигурации
05
Очистка в рабочее время при активных пользователях — блокировки таблиц и сбои у пользователей
Итог

Что важно запомнить

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

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

Удалятся ли сами документы при очистке истории изменений?

Нет. Очистка версий удаляет только сохранённые копии состояний объектов. Актуальные документы и элементы справочников остаются в базе в текущем виде, проведение и учётные данные не затрагиваются.

Почему после удаления версий файл базы не уменьшился?

1С не возвращает освободившееся место операционной системе автоматически. В файловом варианте выполните «Тестирование и исправление» с включённым сжатием таблиц, в клиент-серверном — процедуру сжатия средствами СУБД.

Можно ли удалить историю изменений только по одному документу?

Штатно массовые механизмы ориентированы на типы объектов и сроки хранения, а не на отдельные документы. Для точечной очистки используют программные средства, но на практике проще ограничить срок хранения по типу объекта целиком.

Чем история изменений отличается от журнала регистрации?

История изменений (версионирование) хранит содержимое объектов на момент каждой записи и позволяет восстановить старую версию. Журнал регистрации фиксирует события — входы, записи, ошибки — без содержимого объектов. Очищаются они разными инструментами.

Нужны ли особые права для очистки версий?

Да. Настройка версионирования и запуск обработок очистки требуют прав администратора (полных прав) в конфигурации. Регламентное задание очистки выполняется от служебного пользователя с достаточными правами.

Как узнать, для каких объектов включено версионирование?

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