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

· 10 мин

Содержание

Ошибка «версии данных» в 1С 8.3 почти всегда значит одно: обновление начали, но не довели до конца. Новая конфигурация уже загружена, а структура таблиц или сами данные базы ещё старые. Исправляют это в Конфигураторе командой Конфигурация → Обновить конфигурацию базы данных (клавиша F7), а затем первым запуском в режиме 1С:Предприятие от имени администратора — чтобы отработали обработчики обновления.

Описание ниже относится к платформе 8.3 и типовым конфигурациям на Библиотеке стандартных подсистем (БП 3.0, ЗУП 3.1, УТ 11 и другие). Порядок действий для платформы общий, отличаются только названия разделов в режиме пользователя.

Три «версии», которые 1С сверяет при запуске

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

Что сверяетсяГде хранитсяКак выглядит проблема
Основная конфигурация и конфигурация базы данныхОбе внутри информационной базыКонфигурация базы данных не соответствует сохраненной конфигурации
Версия данных конфигурацииРегистр сведений «Версии подсистем» (БСП)При входе открывается форма обновления версии программы или сообщение, что обновление не завершено
Версия платформыСвойства конфигурации и сама базаТребование обновить платформу до номера не ниже указанного

Разберём каждую по очереди.

Основная конфигурация и конфигурация БД

В базе 1С живут две копии конфигурации. Основная — та, которую вы правите или загружаете из файла обновления .cf/.cfu. Конфигурация базы данных — та, по которой реально работают пользователи и построены таблицы.

После загрузки обновления основная конфигурация уже новая. Но пока вы не нажали F7, таблицы остаются прежними. Отсюда вопрос при запуске из Конфигуратора: Конфигурация базы данных не соответствует сохраненной конфигурации. Продолжить?

Версия данных в БСП

Даже когда структура таблиц обновлена, данные внутри ещё старые. Новому релизу могут понадобиться заполненные реквизиты, пересчитанные регистры, новые предопределённые элементы.

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

Версия платформы

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

Диагностика: выберите симптом

Как обновить конфигурацию базы данных: порядок действий

Это базовый алгоритм. Он закрывает большинство случаев с ошибкой версии данных.

  1. Сделайте резервную копию. В Конфигураторе: Администрирование → Выгрузить информационную базу (файл .dt). Для клиент-серверной базы надёжнее бэкап средствами СУБД. Без копии обновление не начинайте: откатить реструктуризацию нечем.
  2. Выгоните пользователей. В режиме 1С:Предприятие типовых конфигураций есть Администрирование → Обслуживание → Блокировка работы пользователей. Для серверной базы то же самое можно сделать в консоли кластера через свойства информационной базы.
  3. Откройте Конфигуратор под пользователем с полными правами.
  4. Проверьте, что обновление загружено. Если основная конфигурация отличается от конфигурации БД, в окне дерева конфигурации рядом с заголовком стоит звёздочка, а команда F7 активна.
  5. Выполните Конфигурация → Обновить конфигурацию базы данных. Программа покажет список изменений структуры. Нажмите «Принять».
  6. Дождитесь окончания реструктуризации. На маленькой базе это секунды, на базе в десятки гигабайт — до нескольких часов.
  7. Запустите 1С:Предприятие под администратором. Появится форма обновления версии программы: работают обработчики обновления. Не закрывайте её.
  8. Проверьте результат. В БП 3.0, ЗУП 3.1 и УТ 11 зайдите в Администрирование → Обслуживание и откройте результаты обновления программы. Там видно, завершилась ли отложенная обработка данных.
  9. Снимите блокировку и пустите пользователей.

Пункт 7 часто пропускают: применили F7, закрыли Конфигуратор, ушли. Тогда первым в базу войдёт бухгалтер без прав администратора и получит сообщение, что обновление может выполнить только администратор.

Если конфигурация на поддержке и доработана

Для типовой без правок обновление загружают через Конфигурация → Поддержка → Обновить конфигурацию. Если правки есть, Конфигуратор покажет окно сравнения и объединения. После объединения шаги 5–9 те же самые.

Файловая и серверная база: в чём разница при обновлении

Алгоритм один, но поведение отличается заметно.

Файловая базаКлиент-серверная база
Где лежат данныеОдин файл 1Cv8.1CD в каталоге базыТаблицы в СУБД (MS SQL, PostgreSQL)
Как работает реструктуризацияПерестраивается сам файлСоздаются новые таблицы в СУБД, данные переносятся
Монопольный режим для F7Нужен, иначе платформа предложит динамическое обновлениеНужен, иначе тоже предлагается динамическое обновление
Фоновое обновлениеНетЕсть: Конфигурация → Фоновое обновление конфигурации базы данных
Узкое местоСвободное место на диске, антивирус, сетевая папкаБлокировки, место под журнал транзакций, нагрузка на СУБД

Файловая база

Перед обновлением проверьте место на диске. При реструктуризации файл базы временно растёт: держите свободными хотя бы столько же гигабайт, сколько весит 1Cv8.1CD.

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

Клиент-серверная база

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

Фоновое обновление позволяет перестроить структуру, пока люди работают. В конце всё равно нужно короткое монопольное окно, чтобы его завершить.

Динамическое обновление и почему оно не лечит ошибку

Если при F7 не удалось получить монопольный доступ, Конфигуратор предложит выполнить динамическое обновление. Звучит удобно, но подвох есть.

  • 🔸 Динамическое обновление применимо, только если изменения не затрагивают структуру хранения. Типовые релизы почти всегда её меняют.
  • 🔸 Уже открытые сеансы продолжают работать на старой конфигурации, пока их не перезапустят.
  • 🔸 Обработчики обновления БСП при этом не запускаются. Версия данных остаётся старой.

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

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

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

Обновление зависло: как понять, что происходит

«Зависание» чаще всего оказывается долгой честной работой. Отличить одно от другого помогает простая проверка.

Реструктуризация в Конфигураторе

  • 📊 Смотрите на диск и процессор. Если процесс 1cv8.exe (файловая база) или СУБД (серверная) активно читает и пишет — работа идёт.
  • 🗄️ Оцените объём. Регистры с десятками миллионов записей перестраиваются часами. Прерывать в этот момент нельзя.
  • 🔒 Проверьте блокировки. В серверной базе реструктуризацию может ждать чужой сеанс, держащий таблицу. В консоли кластера посмотрите, остались ли сеансы, кроме вашего.
  • 💾 Проверьте место. На серверной базе — журнал транзакций и tempdb в MS SQL. На файловой — диск с каталогом базы.

Обработчики обновления в режиме 1С:Предприятие

Форма обновления версии программы показывает прогресс. Если полоса стоит долго:

  1. Откройте журнал регистрации из Конфигуратора: Администрирование → Журнал регистрации.
  2. Поставьте отбор по событию «Обновление информационной базы» и по уровню «Ошибка».
  3. Найдите последний обработчик и текст ошибки.

Частые причины остановки обработчиков:

  • ❌ запрещающая ошибка в данных — например, битая ссылка или дубль, который новый релиз не принимает;
  • ❌ сеанс оборвался из-за таймаута удалённого рабочего стола или перезагрузки;
  • ❌ не хватает прав: первый запуск выполнял не администратор.

Отложенная обработка данных

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

Состояние видно в том же разделе результатов обновления программы в Администрирование → Обслуживание. Если обработка остановилась с ошибкой, там будет её текст и возможность запустить повторно.

Если база повреждена

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

  1. Сделайте копию каталога базы (файловая) или бэкап СУБД в текущем состоянии.
  2. Запустите Администрирование → Тестирование и исправление в Конфигураторе. Для файловой базы, которая не открывается, есть утилита chdbfl.exe в каталоге bin платформы.
  3. Если проверка не помогла — восстановитесь из копии, снятой перед обновлением, и повторите обновление.

Ручное управление обновлением: пакетный режим и перезапуск обработчиков

Кнопка F7 — не единственный способ. Администраторам многих баз удобнее командная строка и точечные действия.

Обновление структуры из командной строки

Конфигуратор умеет применить конфигурацию без интерфейса. Пример для файловой базы:

"C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe" DESIGNER /F "D:\Bases\Buh" /N "Администратор" /P "пароль" /UpdateDBCfg /Out "D:\Logs\update.log" /DisableStartupDialogs

Для серверной базы вместо /F указывают /S "сервер\имя_базы". Ключ /Out пишет протокол — по нему видно, чем закончилась операция. Дополнительные ключи /UpdateDBCfg (динамическое и фоновое обновление) перечислены в справке Конфигуратора по параметрам командной строки.

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

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

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

"C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe" ENTERPRISE /F "D:\Bases\Buh" /N "Администратор" /P "пароль" /C "ЗапуститьОбновлениеИнформационнойБазы"

Это штатный приём для случая, когда обновление «проскочило» без обработки данных, например после динамического обновления.

Правка версии в регистре «Версии подсистем»

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

Как добраться до регистра:

  1. Включите команду «Все функции»: главное меню → Сервис → Параметры → флаг «Отображать команду “Все функции”».
  2. Откройте «Все функции» → «Регистры сведений» → «Версии подсистем».
  3. Измените версию нужной подсистемы и перезапустите сеанс под администратором.

Делайте это только на копии базы или после свежего бэкапа. Повторный прогон обработчиков может заново заполнить или пересчитать данные.

Сравнение способов

СпособКогда применятьРиски
F7 в КонфигуратореОбычное обновление одной базыНужен монопольный режим
Пакетный /UpdateDBCfgМного баз, обновление по расписанию ночьюОшибку видно только в протоколе /Out
Фоновое обновлениеБольшая серверная база, нельзя надолго останавливать работуНагрузка на СУБД во время работы людей
/C ЗапуститьОбновлениеИнформационнойБазыСтруктура новая, данные старыеОбработчики идут заново, нужно время
Правка «Версий подсистем»Нужно повторить конкретный этап обработкиПовторная обработка данных, только с бэкапом

Как не допускать расхождения версий

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

  • ✅ Обновляйте по цепочке релизов. Если между вашей и новой версией есть обязательные промежуточные релизы, проходите каждый: F7 и первый вход под администратором после каждого шага. Перепрыгивание пропускает обработчики.
  • ✅ Не оставляйте загруженную конфигурацию неприменённой. Загрузили .cfu — сразу примените. Звёздочка в Конфигураторе на ночь — источник утренних вопросов.
  • ✅ Платформу ставьте до конфигурации. Сначала свежая платформа на сервере и всех клиентах, затем релиз.
  • ✅ Первый вход — администратор. Договоритесь, что после обновления никто не заходит, пока вы не проверили результат.
  • ✅ Проверяйте сначала на копии. Для доработанных и больших баз прогоните обновление на копии, засеките время и посмотрите ошибки обработчиков.
  • ✅ Держите протокол. Записывайте дату, номер релиза и результат обновления каждой базы.
Перед обновлением базы
Выполнено: 0 / 6

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

Можно ли просто нажать «Да» на вопрос о несоответствии конфигурации и работать дальше?
Можно запустить отладку, но пользователи будут работать на старой конфигурации базы данных. Новое обновление вступит в силу только после F7.
Почему после обновления у одного пользователя новая версия, а у другого старая?
Второй не перезапускал 1С после обновления или его клиент взял старый кэш. Пусть закроет программу полностью и войдёт снова; если не помогло — запуск с ключом /ClearCache.
Сколько времени занимает обновление версии данных?
Зависит от объёма базы и релиза. Базы на несколько гигабайт обычно обновляются за минуты, крупные серверные — за часы. Точное время покажет пробный прогон на копии.
Можно ли откатить обновление, если что-то пошло не так?
Штатной кнопки отката нет. Возврат — только загрузка резервной копии, снятой перед обновлением.
Обязательно ли проходить все промежуточные релизы?
Если в описании нового релиза указано, с каких версий на него можно обновиться, а ваша версия ниже — да. Иначе файл обновления просто не подойдёт или пропустятся обработчики данных.