Почему 1С ругается на несовпадение версий и как довести обновление базы до конца
Содержание
Ошибка «версии данных» в 1С 8.3 почти всегда значит одно: обновление начали, но не довели до конца. Новая конфигурация уже загружена, а структура таблиц или сами данные базы ещё старые. Исправляют это в Конфигураторе командой Конфигурация → Обновить конфигурацию базы данных (клавиша F7), а затем первым запуском в режиме 1С:Предприятие от имени администратора — чтобы отработали обработчики обновления.
Описание ниже относится к платформе 8.3 и типовым конфигурациям на Библиотеке стандартных подсистем (БП 3.0, ЗУП 3.1, УТ 11 и другие). Порядок действий для платформы общий, отличаются только названия разделов в режиме пользователя.
Три «версии», которые 1С сверяет при запуске
Когда база открывается, программа сравнивает сразу несколько вещей. Сообщение об ошибке подскажет, какая из них разошлась.
| Что сверяется | Где хранится | Как выглядит проблема |
|---|---|---|
| Основная конфигурация и конфигурация базы данных | Обе внутри информационной базы | Конфигурация базы данных не соответствует сохраненной конфигурации |
| Версия данных конфигурации | Регистр сведений «Версии подсистем» (БСП) | При входе открывается форма обновления версии программы или сообщение, что обновление не завершено |
| Версия платформы | Свойства конфигурации и сама база | Требование обновить платформу до номера не ниже указанного |
Разберём каждую по очереди.
Основная конфигурация и конфигурация БД
В базе 1С живут две копии конфигурации. Основная — та, которую вы правите или загружаете из файла обновления .cf/.cfu. Конфигурация базы данных — та, по которой реально работают пользователи и построены таблицы.
После загрузки обновления основная конфигурация уже новая. Но пока вы не нажали F7, таблицы остаются прежними. Отсюда вопрос при запуске из Конфигуратора: Конфигурация базы данных не соответствует сохраненной конфигурации. Продолжить?
Версия данных в БСП
Даже когда структура таблиц обновлена, данные внутри ещё старые. Новому релизу могут понадобиться заполненные реквизиты, пересчитанные регистры, новые предопределённые элементы.
Эту работу делают обработчики обновления. Номер версии, до которой данные уже приведены, хранится в регистре сведений «Версии подсистем». При каждом входе БСП сравнивает его с номером версии конфигурации. Если номер в регистре меньше — запускается обновление.
Версия платформы
Новый релиз типовой конфигурации обычно требует свежую платформу. Если на компьютере установлена версия с номером ниже минимального, программа сообщит об этом при входе. Тут поможет только установка подходящей платформы — ни F7, ни перезапуск ничего не изменят.
Конфигурация → Обновить конфигурацию базы данных (F7)./ClearCache.Как обновить конфигурацию базы данных: порядок действий
Это базовый алгоритм. Он закрывает большинство случаев с ошибкой версии данных.
- Сделайте резервную копию. В Конфигураторе:
Администрирование → Выгрузить информационную базу(файл.dt). Для клиент-серверной базы надёжнее бэкап средствами СУБД. Без копии обновление не начинайте: откатить реструктуризацию нечем. - Выгоните пользователей. В режиме 1С:Предприятие типовых конфигураций есть
Администрирование → Обслуживание → Блокировка работы пользователей. Для серверной базы то же самое можно сделать в консоли кластера через свойства информационной базы. - Откройте Конфигуратор под пользователем с полными правами.
- Проверьте, что обновление загружено. Если основная конфигурация отличается от конфигурации БД, в окне дерева конфигурации рядом с заголовком стоит звёздочка, а команда
F7активна. - Выполните
Конфигурация → Обновить конфигурацию базы данных. Программа покажет список изменений структуры. Нажмите «Принять». - Дождитесь окончания реструктуризации. На маленькой базе это секунды, на базе в десятки гигабайт — до нескольких часов.
- Запустите 1С:Предприятие под администратором. Появится форма обновления версии программы: работают обработчики обновления. Не закрывайте её.
- Проверьте результат. В БП 3.0, ЗУП 3.1 и УТ 11 зайдите в
Администрирование → Обслуживаниеи откройте результаты обновления программы. Там видно, завершилась ли отложенная обработка данных. - Снимите блокировку и пустите пользователей.
Пункт 7 часто пропускают: применили F7, закрыли Конфигуратор, ушли. Тогда первым в базу войдёт бухгалтер без прав администратора и получит сообщение, что обновление может выполнить только администратор.
Если конфигурация на поддержке и доработана
Для типовой без правок обновление загружают через Конфигурация → Поддержка → Обновить конфигурацию. Если правки есть, Конфигуратор покажет окно сравнения и объединения. После объединения шаги 5–9 те же самые.
Файловая и серверная база: в чём разница при обновлении
Алгоритм один, но поведение отличается заметно.
| Файловая база | Клиент-серверная база | |
|---|---|---|
| Где лежат данные | Один файл 1Cv8.1CD в каталоге базы | Таблицы в СУБД (MS SQL, PostgreSQL) |
| Как работает реструктуризация | Перестраивается сам файл | Создаются новые таблицы в СУБД, данные переносятся |
Монопольный режим для F7 | Нужен, иначе платформа предложит динамическое обновление | Нужен, иначе тоже предлагается динамическое обновление |
| Фоновое обновление | Нет | Есть: Конфигурация → Фоновое обновление конфигурации базы данных |
| Узкое место | Свободное место на диске, антивирус, сетевая папка | Блокировки, место под журнал транзакций, нагрузка на СУБД |
Файловая база
Перед обновлением проверьте место на диске. При реструктуризации файл базы временно растёт: держите свободными хотя бы столько же гигабайт, сколько весит 1Cv8.1CD.
Не обновляйте файловую базу по сети через общую папку, если есть возможность сделать это на самом компьютере, где лежит каталог. Обрыв сети в середине реструктуризации — частая причина повреждения файла.
Клиент-серверная база
Здесь пользователи подключаются через кластер серверов . Активные сеансы видны в консоли администрирования. Фоновые задания регламента тоже держат сеансы — их блокируют вместе с пользовательскими через флаг блокировки регламентных заданий в свойствах базы.
Фоновое обновление позволяет перестроить структуру, пока люди работают. В конце всё равно нужно короткое монопольное окно, чтобы его завершить.
Динамическое обновление и почему оно не лечит ошибку
Если при F7 не удалось получить монопольный доступ, Конфигуратор предложит выполнить динамическое обновление. Звучит удобно, но подвох есть.
- 🔸 Динамическое обновление применимо, только если изменения не затрагивают структуру хранения. Типовые релизы почти всегда её меняют.
- 🔸 Уже открытые сеансы продолжают работать на старой конфигурации, пока их не перезапустят.
- 🔸 Обработчики обновления БСП при этом не запускаются. Версия данных остаётся старой.
После динамического обновления типового релиза перезапустите все сеансы и выполните первый вход под администратором. Иначе разные пользователи будут видеть разные версии программы.
Для типового релиза надёжнее отказаться от динамического варианта, получить монопольный режим и повторить F7. В современных версиях платформы в окне ошибки монопольного режима есть возможность завершить сеансы и повторить попытку.
Завершение сеансов обрывает работу пользователей без сохранения. Предупредите людей заранее или делайте это вне рабочего времени.
Обновление зависло: как понять, что происходит
«Зависание» чаще всего оказывается долгой честной работой. Отличить одно от другого помогает простая проверка.
Реструктуризация в Конфигураторе
- 📊 Смотрите на диск и процессор. Если процесс
1cv8.exe(файловая база) или СУБД (серверная) активно читает и пишет — работа идёт. - 🗄️ Оцените объём. Регистры с десятками миллионов записей перестраиваются часами. Прерывать в этот момент нельзя.
- 🔒 Проверьте блокировки. В серверной базе реструктуризацию может ждать чужой сеанс, держащий таблицу. В консоли кластера посмотрите, остались ли сеансы, кроме вашего.
- 💾 Проверьте место. На серверной базе — журнал транзакций и
tempdbв MS SQL. На файловой — диск с каталогом базы.
Обработчики обновления в режиме 1С:Предприятие
Форма обновления версии программы показывает прогресс. Если полоса стоит долго:
- Откройте журнал регистрации из Конфигуратора:
Администрирование → Журнал регистрации. - Поставьте отбор по событию «Обновление информационной базы» и по уровню «Ошибка».
- Найдите последний обработчик и текст ошибки.
Частые причины остановки обработчиков:
- ❌ запрещающая ошибка в данных — например, битая ссылка или дубль, который новый релиз не принимает;
- ❌ сеанс оборвался из-за таймаута удалённого рабочего стола или перезагрузки;
- ❌ не хватает прав: первый запуск выполнял не администратор.
Отложенная обработка данных
Часть обработчиков в типовых конфигурациях работает в фоне уже после входа. Пользователи могут работать, но некоторые отчёты временно показывают неполные данные.
Состояние видно в том же разделе результатов обновления программы в Администрирование → Обслуживание. Если обработка остановилась с ошибкой, там будет её текст и возможность запустить повторно.
Если база повреждена
Когда реструктуризация прервалась аварийно, Конфигуратор может отказаться открывать базу или выдавать ошибки чтения. Порядок такой:
- Сделайте копию каталога базы (файловая) или бэкап СУБД в текущем состоянии.
- Запустите
Администрирование → Тестирование и исправлениев Конфигураторе. Для файловой базы, которая не открывается, есть утилитаchdbfl.exeв каталогеbinплатформы. - Если проверка не помогла — восстановитесь из копии, снятой перед обновлением, и повторите обновление.
Ручное управление обновлением: пакетный режим и перезапуск обработчиков
Кнопка 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 "ЗапуститьОбновлениеИнформационнойБазы"
Это штатный приём для случая, когда обновление «проскочило» без обработки данных, например после динамического обновления.
Правка версии в регистре «Версии подсистем»
Крайний вариант для специалиста. Если нужно заново прогнать обработчики конкретного релиза, номер версии в регистре «Версии подсистем» меняют на предыдущий. При следующем входе БСП увидит отставание и запустит обновление.
Как добраться до регистра:
- Включите команду «Все функции»: главное меню →
Сервис → Параметры→ флаг «Отображать команду “Все функции”». - Откройте «Все функции» → «Регистры сведений» → «Версии подсистем».
- Измените версию нужной подсистемы и перезапустите сеанс под администратором.
Делайте это только на копии базы или после свежего бэкапа. Повторный прогон обработчиков может заново заполнить или пересчитать данные.
Сравнение способов
| Способ | Когда применять | Риски |
|---|---|---|
F7 в Конфигураторе | Обычное обновление одной базы | Нужен монопольный режим |
Пакетный /UpdateDBCfg | Много баз, обновление по расписанию ночью | Ошибку видно только в протоколе /Out |
| Фоновое обновление | Большая серверная база, нельзя надолго останавливать работу | Нагрузка на СУБД во время работы людей |
/C ЗапуститьОбновлениеИнформационнойБазы | Структура новая, данные старые | Обработчики идут заново, нужно время |
| Правка «Версий подсистем» | Нужно повторить конкретный этап обработки | Повторная обработка данных, только с бэкапом |
Как не допускать расхождения версий
Ошибку версии данных почти всегда создаёт порядок работы, а не сама программа. Несколько правил снимают проблему заранее.
- ✅ Обновляйте по цепочке релизов. Если между вашей и новой версией есть обязательные промежуточные релизы, проходите каждый:
F7и первый вход под администратором после каждого шага. Перепрыгивание пропускает обработчики. - ✅ Не оставляйте загруженную конфигурацию неприменённой. Загрузили
.cfu— сразу примените. Звёздочка в Конфигураторе на ночь — источник утренних вопросов. - ✅ Платформу ставьте до конфигурации. Сначала свежая платформа на сервере и всех клиентах, затем релиз.
- ✅ Первый вход — администратор. Договоритесь, что после обновления никто не заходит, пока вы не проверили результат.
- ✅ Проверяйте сначала на копии. Для доработанных и больших баз прогоните обновление на копии, засеките время и посмотрите ошибки обработчиков.
- ✅ Держите протокол. Записывайте дату, номер релиза и результат обновления каждой базы.
Частые вопросы
Можно ли просто нажать «Да» на вопрос о несоответствии конфигурации и работать дальше?
F7.Почему после обновления у одного пользователя новая версия, а у другого старая?
/ClearCache.