Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

1C_OBJECT_VERSIONS_BLOAT 1С:Предприятие и СУБД

Очистка устаревших версий объектов в 1С:БСП: настройка регламентов

Обновлено: 26.08.2026 · Официальная документация ↗
  • Регистр сведений ВерсииОбъектов занимает от 30% до 60% всего физического объема базы данных СУБД.
  • Замедление записи справочников и проведения документов из-за сериализации XML-снимков версий.
  • Рост длительности резервного копирования и нехватка дискового пространства.

1. Настройка правил версионирования в пользовательском режиме

  1. Перейдите в раздел Администрирование -> Общие настройки -> История изменений;
  2. Установите версионирование только для критически важных объектов (договоры, ключевые документы);
  3. Для второстепенных документов переключите режим в Не версионировать или Версионировать при проведении.

2. Настройка срока хранения версий

В настройках истории изменений укажите срок хранения версий объектов:

  • За последний месяц (для высокоинтенсивных документов);
  • За последний год (для нормативно-справочной информации);
  • Бессрочно (только для уставных документов).

3. Активация регламентного задания очистки версий

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

4. Пакетное удаление старых записей через обработку

// Программное удаление устаревших версий старше 180 дней
Запрос = Новый Запрос(
    "ВЫБРАТЬ Ссылка, Объект, НомерВерсии 
    |ИЗ РегистрСведений.ВерсииОбъектов 
    |ГДЕ ДатаВерсии < &ГраничнаяДата");
Запрос.УстановитьПараметр("ГраничнаяДата", ТекущаяДата() - 180 * 86400);
Выборка = Запрос.Выполнить().Выбрать();

Пока Выборка.Следующий() Цикл
    Набор = РегистрыСведений.ВерсииОбъектов.СоздатьНаборЗаписей();
    Набор.Отбор.Объект.Установить(Выборка.Объект);
    Набор.Отбор.НомерВерсии.Установить(Выборка.НомерВерсии);
    Набор.Записать(); // Очистка записи
КонецЦикла;
💡 Практика специалистов: Не удаляйте миллионы записей из регистра ВерсииОбъектов одной транзакцией — это вызовет переполнение лога транзакций ldf/WAL и заблокирует работу пользователей. Удаляйте порциями по 1000-5000 записей.

Частые вопросы (FAQ)

Почему регистр ВерсииОбъектов так быстро растет?

При каждом сохранении или проведении объекта БСП сериализует весь объект со всеми табличными частями в сжатый XML-файл и сохраняет его в бинарное поле ValueStorage.

Освободится ли место на диске СУБД сразу после удаления версий?

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

Можно ли выборочно удалять версии только определенных документов?

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

Влияет ли очистка версий объектов на текущие данные документов?

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

Полезные материалы
Рекомендуем