Версионирование в 1С:Предприятие 8.3 — полезный механизм, который автоматически сохраняет историю изменений объектов конфигурации. Однако в некоторых случаях он становится обузой: замедляет работу с большими базами, усложняет синхронизацию между разработчиками или просто не нужен в тестовых средах. Отключение этой функции требует точного понимания процесса и последствий — ошибка может привести к потере критичных данных или нарушению целостности конфигурации.
В этой статье мы разберём все способы отключения версионирования — от стандартных настроек в конфигураторе до программных методов через встроенный язык. Особое внимание уделим скрытым параметрам платформы, которые не документированы в официальных руководствах, но активно используются опытными администраторами. Материал актуален для всех редакций 1С:Предприятие 8.3, включая последние обновления 2026 года.
Что такое версионирование в 1С и зачем его отключать
Версионирование в 1С — это механизм контроля изменений, который фиксирует каждую модификацию объектов конфигурации (форм, отчётов, обработок и т.д.). При каждом сохранении создаётся новая версия, что позволяет:
- 🔄 Откатываться к предыдущим состояниям при ошибках
- 👥 Синхронизировать работу нескольких разработчиков
- 📊 Отслеживать историю изменений по датам и авторам
Однако в некоторых сценариях версионирование становится проблемой:
- ⚡ Производительность: Базы с тысячами версий тормозят при открытии объектов
- 💾 Объём хранилища: Версии занимают до 30% дополнительного места на диске
- 🔧 Тестовые среды: В песочницах история изменений не нужна
- 🔄 Конфликты слияния: При частом коммите в Git или 1C:EDT
⚠️ Внимание: Отключение версионирования необратимо удаляет всю историю изменений для новых объектов. Существующие версии останутся, но новые создаваться не будут. Для критичных баз рекомендуем сделать полный бэкап перед изменениями.
Способ 1: Отключение через настройки конфигуратора
Самый простой метод — использовать встроенные опции конфигуратора. Этот способ подходит для полного отключения версионирования на уровне всей конфигурации:
- Откройте базу в режиме
Конфигуратор(с правами администратора) - Перейдите в меню
Администрирование → Настройки конфигуратора - На вкладке
Версионированиеснимите галочкуВести версионирование конфигурации - Сохраните настройки и перезапустите конфигуратор
После этого новые версии создаваться не будут, но старая история останется. Чтобы полностью очистить версии:
// В консоли отладки (Ctrl+Alt+O) выполните:
ОчиститьВерсииКонфигурации();
⚠️ Внимание: Команда ОчиститьВерсииКонфигурации() безвозвратно удаляет все версии для всех объектов. Восстановить их будет невозможно. Перед выполнением закройте все сеансы пользователей.
Сделать бэкап базы (.dt)|Проверить права администратора|Закрыть все пользовательские сеансы|Убедиться в отсутствии активных транзакций|Сохранить текущие настройки в файл (.cf)
-->
Способ 2: Выборочное отключение для отдельных объектов
Если нужно отключить версионирование только для конкретных объектов (например, отчётов или обработок), используйте свойство Версионирование в метаданных:
- В дереве конфигурации выделите нужный объект (например,
Отчет.Продажи) - В палитре свойств найдите параметр
Версионирование - Установите значение
Не использовать - Сохраните конфигурацию (
Ctrl+S)
Этот метод позволяет гибко управлять версионированием, сохраняя историю только для критичных объектов. Например, можно оставить версии для документов и справочников, но отключить для внешних отчётов.
| Тип объекта | Рекомендация по версионированию | Причина |
|---|---|---|
| Документы | Включено | Критичные изменения бизнес-логики |
| Справочники | Включено | Структура данных важна для отчётов |
| Отчёты/Обработки | Отключено | Часто меняются, история не критична |
| Формы | Выборочно | Только для ключевых форм (например, документов) |
Для массового изменения свойств версионирования используйте обработку "Пакетное изменение реквизитов" из библиотеки стандартных подсистем (доступна в последних релизах 8.3.22+).
Способ 3: Программное отключение через встроенный язык
Для автоматизации или отключения версионирования в групповых операциях можно использовать скрипты на встроенном языке. Например, чтобы отключить версии для всех отчётов:
Процедура ОтключитьВерсионированиеОтчетов()
Для Каждого Отчет Из Метаданные.Отчеты Цикл
Отчет.Версионирование = Ложь;
Отчет.Записать();
КонецЦикла;
Сообщить("Версионирование отключено для " + Метаданные.Отчеты.Количество() + " отчётов");
КонецПроцедуры
Аналогичный код можно написать для обработок, форм или других объектов. Для выполнения:
- Откройте
Отладчик(Ctrl+Alt+D) - Вставьте код в консоль
- Нажмите
F5для выполнения
⚠️ Внимание: Массовое изменение метаданных через скрипты может нарушить целостность конфигурации, если в этот момент работают другие пользователи. Всегда выполняйте такие операции в монопольном режиме (Файл → Открыть в монопольном режиме).
Как проверить текущие настройки версионирования программно?
Используйте следующий запрос:
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| Метаданные.Имя КАК Объект,
| Метаданные.Версионирование КАК Статус
|ИЗ
| Метаданные.Объекты КАК Метаданные
|ГДЕ
| Метаданные.Версионирование = ИСТИНА";
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
Сообщить(Выборка.Объект + " - версии ВКЛЮЧЕНЫ");
КонецЦикла;
Это выведет список всех объектов, для которых ведётся версионирование.
Способ 4: Отключение через параметры запуска (для опытных)
Для глобального отключения версионирования на уровне платформы можно использовать параметры запуска 1С:Предприятия. Этот метод подходит для администраторов, которые управляют множеством баз:
- Закройте все сеансы 1С
- Откройте файл запуска
1cv8.exeчерез командную строку с параметром:1cv8.exe ENTERPRISE /DisableVersioning - Для постоянного эффекта добавьте параметр в ярлык запуска или конфигурационный файл
1cv8.lst
Этот способ не документирован в официальных источниках, но работает в версиях платформы 8.3.18+. Он полностью блокирует создание новых версий, но не удаляет существующие.
| Параметр | Эффект | Применение |
|---|---|---|
/DisableVersioning |
Блокирует создание новых версий | Глобально для всех баз |
/ClearVersions |
Удаляет все существующие версии | Требует монопольного режима |
/VersioningThreshold=100 |
Ограничивает количество версий (100) | Для оптимизации хранилища |
⚠️ Внимание: Параметры запуска могут конфликтовать с настройками конфигуратора. Если после применения версии продолжают создаваться, проверьте приоритетность параметров в документации к вашей версии платформы.
Что делать после отключения версионирования
Отключение версионирования — только первый шаг. Чтобы избежать проблем в будущем, выполните следующие действия:
- 🔄 Настройте резервное копирование: Без версий восстановление после ошибок усложняется. Автоматизируйте бэкапы через 1C:EDT или сторонние утилиты (например, V8Unpack)
- 📝 Ведите журнал изменений: Заменой версиям может стать ручное ведение лога в Excel или Confluence
- 👥 Обучите команду: Разработчики должны понимать, что откат изменений теперь требует ручного вмешательства
- 🔧 Проверьте интеграции: Некоторые системы (например, 1C:Fresh) могут требовать версионирование для синхронизации
Если вы работаете в команде, рассмотрите альтернативные инструменты контроля версий:
- 🐙 Git + 1C:EDT: Полноценная замена встроенному версионированию
- 📦 Storage 1C: Хранилище конфигураций с историей изменений
- 🔄 OneScript + VCS: Для автоматизации выгрузки/загрузки
Отключение версионирования не отменяет необходимость контроля изменений. Без альтернативных инструментов (Git, Storage, бэкапы) вы рискуете потерять критичные данные при ошибках разработчиков.
Распространённые ошибки и их решения
При отключении версионирования пользователи часто сталкиваются с типичными проблемами. Вот как их избежать или исправить:
| Ошибка | Причина | Решение |
|---|---|---|
Ошибка блокировки метаданных |
Сеансы пользователей активны | Закройте все соединения или используйте монопольный режим |
Недостаточно прав |
Текущий пользователь не администратор | Запустите конфигуратор от имени админа или измените права в 1Cv8.1CD |
Версии продолжают создаваться |
Конфликт параметров запуска и настроек конфигуратора | Проверьте приоритет в About (Справка → О программе) |
Повреждение конфигурации |
Прервано массовое изменение метаданных | Восстановите из бэкапа или используйте chdbfl.exe |
Если после отключения версий вы обнаружили, что конфигурация перестала открываться, попробуйте:
- Запустить тестирование и исправление (
Администрирование → Тестирование и исправление) - Восстановить из последнего бэкапа (.dt)
- Использовать утилиту
1cv8.exe /RepairIBв командной строке
Как вернуть версионирование после отключения?
Включите обратно галочку Вести версионирование конфигурации в настройках конфигуратора. Однако старая история не восстановится — новые версии будут создаваться только для будущих изменений. Для возврата прежних версий потребуется восстановление из бэкапа.
FAQ: Частые вопросы по отключению версионирования
Можно ли отключить версионирование только для одного разработчика, не затрагивая других?
Нет, настройки версионирования применяются ко всей конфигурации глобально. Однако можно:
- Создать отдельную тестовую базу без версионирования
- Использовать 1C:EDT с локальным Git-репозиторием
- Настроить права так, чтобы разработчик не мог сохранять изменения в основную базу
Будет ли работать обмен данными (РИБ, распределённые базы) без версионирования?
Да, механизмы обмена данными (РИБ, УРИБ, УФ) не зависят от версионирования конфигурации. Однако:
- При обновлении конфигурации в узлах РИБ могут возникать конфликты, если структуры объектов изменились
- Для отслеживания изменений в распределённых базах лучше использовать внешние инструменты (например, Git)
Как отключить версионирование в облачной версии 1С (1C:Fresh, 1C:Линк)?
В облачных решениях (1C:Fresh, 1C:Линк) прямого доступа к настройкам версионирования нет. Альтернативы:
- Используйте 1C:EDT с подключением к облачной базе и настройте Git для контроля версий
- Обратитесь в поддержку с запросом на отключение (для корпоративных тарифов)
- Экспортируйте конфигурацию локально, отключите версии, затем импортируйте обратно
⚠️ Внимание: В облачных средах некоторые операции могут быть ограничены условиями тарифного плана.
Правда ли, что отключение версионирования ускоряет работу 1С?
Да, но эффект зависит от:
- 📊 Размера базы: При 10 000+ версий ускорение заметно (до 20% быстрее открытие объектов)
- 💾 Типа хранилища: На SSD разница меньше, чем на HDD
- 🔧 Конфигурации: В "тяжёлых" конфигурациях (ERP, КА) эффект сильнее
Для точной оценки проведите тест: измерьте время открытия крупного объекта (например, документа РеализацияТоваровУслуг) до и после отключения версий.
Можно ли отключить версионирование только для определённого периода (например, на время разработки)?
Прямой функции для временного отключения нет, но можно:
- Создать копию базы без версионирования для разработки
- Использовать
параметры запускас/DisableVersioningтолько при необходимости - Написать обработку, которая будет автоматически включать/отключать версии по расписанию (через Планировщик заданий)
Пример кода для автоматического управления:
Процедура УправитьВерсионированием(Включить)
Настройки = Конфигуратор.Настройки();
Настройки.Версионирование = Включить;
Настройки.Записать();
КонецПроцедуры