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

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

Как отключить версионирование в 1С

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

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

Отключить механизм можно штатными средствами типовой конфигурации — через раздел администрирования, без изменения кода. Однако простое снятие флажка не удаляет уже накопленные версии: для освобождения места потребуется отдельная очистка истории. Ниже разобран порядок отключения в типовых конфигурациях (УТ, ERP, БП, ЗУП), работа через код, очистка накопленных данных и типичные ошибки.

Что такое версионирование и когда его стоит отключать

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

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

Как отключить версионирование в типовой конфигурации

В типовых решениях (Управление торговлей 11, ERP, Комплексная автоматизация, Бухгалтерия предприятия 3.0, ЗУП 3.1) настройка находится в интерфейсе администратора. Точный путь зависит от конфигурации, но логика одинаковая.

Порядок действий
  1. 1
    Откройте раздел «Администрирование» (в БП 3.0 — «Администрирование» → «Общие настройки», в УТ 11 / ERP — «НСИ и администрирование» → «Общие настройки»).
  2. 2
    Найдите блок «Версионирование объектов» или «История изменений» и снимите флажок «Версионирование объектов» / «Хранить историю изменений».
  3. 3
    Если нужно сохранить версии только для части объектов — не снимайте флажок, а откройте настройку списка и уберите ненужные виды документов и справочников.
  4. 4
    Сохраните настройки и проверьте: запишите тестовый документ дважды и убедитесь, что новая версия не появилась.

Учтите, что изменение настройки доступно пользователю с правами администратора. Если пункт меню не виден, проверьте права своей учётной записи или включите отображение команды через настройку навигации раздела.

Выборочное отключение для отдельных объектов

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

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

Если настройку нужно применить централизованно — например, в обработке первоначального заполнения или при автоматизированном обновлении нескольких баз — используют методы БСП. Управление выполняется через константу «ИспользоватьВерсионированиеОбъектов» и соответствующий функциональный опциональный механизм подсистемы.

bsl
// Отключение версионирования в модуле (привилегированный режим)
УстановитьПривилегированныйРежим(Истина);
Константы.ИспользоватьВерсионированиеОбъектов.Установить(Ложь);

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

Очистка уже накопленных версий

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

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

Для очень больших таблиц прямое удаление всех записей одной транзакцией опасно: журнал транзакций СУБД может переполниться. Безопаснее удалять версии порциями по датам или по видам объектов, контролируя свободное место на сервере СУБД.

Проверка результата

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

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

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

Запись тестового документа дважды подряд
Норма

В карточке объекта нет новых версий, команда «История изменений» пуста или недоступна

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

Новая версия появляется — настройка не сохранилась или нет прав

Количество записей в регистре «Версии объектов»
Норма

После очистки число записей сократилось, размер таблицы на СУБД уменьшился

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

Записи остались — очистка не выполнялась или регламентное задание завершилось ошибкой

Журнал регистрации и состояние фоновых заданий
Норма

Нет ошибок подсистемы версионирования

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

Регулярные ошибки регламентного задания очистки

Дополнительно оцените размер базы до и после очистки. В файловом варианте после удаления данных физический размер файла 1Cv8.1Cd уменьшится только после выполнения тестирования и исправления с сжатием таблиц; в клиент-серверном варианте потребуется shrink на уровне СУБД — это отдельная операция администратора баз данных.

Типичные ошибки и ограничения

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

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

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

Часто задаваемые вопросы

Удалятся ли старые версии автоматически после отключения версионирования?

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

Можно ли отключить версионирование только для одного вида документов?

Да. В настройке версионирования есть список версионируемых объектов. Оставьте механизм включённым и уберите из списка нужный вид документов или справочников — версии по нему создаваться перестанут, по остальным объектам история сохранится.

Повлияет ли отключение версионирования на журнал регистрации?

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

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

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

Кто может отключить версионирование, если пункта настройки нет в меню?

Настройка доступна пользователю с полными правами (роль администратора системы). Если раздел не отображается, проверьте права учётной записи или добавьте команду через настройку навигации раздела «Администрирование».

Опасно ли отключать версионирование в работающей базе?

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