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

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

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

Разбираем, почему 1С не обновляет конфигурацию базы данных через конфигуратор: блокировки сеансов, ошибки реструктуризации, право на изменение и способы решения.

Обновление конфигурации 1С останавливается на определённом проценте, выдаёт ошибку реструктуризации, требует завершить сеансы пользователей — а иногда кнопка «Обновить конфигурацию базы данных» оказывается попросту недоступна. Такое поведение конфигуратора возникает как при установке типовых релизов, так и при загрузке доработок из файла .cf, и в каждом случае причину нужно искать в конкретном симптоме.

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

Перед любыми действиями сделайте резервную копию: для файловой базы — выгрузку в .dt или копию файла 1Cv8.1CD, для серверной — средствами СУБД. Ошибка на этапе реструктуризации может оставить базу в состоянии, когда часть таблиц уже изменена, и без копии восстановление будет сложным.

Как понять, на каком этапе происходит сбой

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

Откройте окно сообщений конфигуратора и зафиксируйте точный текст ошибки. Формулировки вида «Ошибка блокировки метаданных», «Конфликт блокировок при выполнении транзакции», «Недостаточно памяти» или «Нарушение целостности данных» указывают на разные причины и требуют разных действий.

Сообщение о занятых сеансахБлокировка обновления

Активные сеансы пользователей или фоновые задания держат соединение с базой

Ошибка на этапе реструктуризацииПроблема с данными или ресурсами

Текст ошибки, место остановки, свободное место на диске

Кнопка обновления недоступнаНет прав или конфигурация на поддержке без изменений

Права пользователя и настройки поддержки конфигурации

Обновление зависает без ошибкиДолгая реструктуризация или зависание

Размер таблиц и активность процессов на сервере

Активные сеансы и блокировки: самая частая причина

Обновление конфигурации базы данных требует монопольного доступа. Если с базой работает хотя бы один пользователь, запущено регламентное задание или висит «зомби-сеанс» после аварийного закрытия клиента, конфигуратор откажется обновлять базу. В файловом варианте проверьте раздел «Администрирование → Активные пользователи», в клиент-серверном — консоль кластера серверов 1С, где видны все сеансы и соединения.

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

Порядок действий при блокировке сеансами
  1. 1
    Сделайте резервную копию базы
  2. 2
    Попросите пользователей выйти и проверьте список активных сеансов
  3. 3
    Удалите зависшие сеансы через консоль кластера или «Активные пользователи»
  4. 4
    Отключите регламентные и фоновые задания
  5. 5
    Повторите обновление конфигурации базы данных
  6. 6
    После успешного обновления включите задания обратно

Кэш метаданных и его очистка

Повреждённый кэш метаданных — вторая по частоте причина странного поведения: конфигуратор показывает устаревшую структуру, обновление завершается ошибкой несуществующих объектов или платформа «не видит» изменения. Кэш хранится в профиле пользователя, в папках вида %APPDATA%\1C\1cv8\ и %LOCALAPPDATA%\1C\1cv8\, в каталогах с идентификаторами баз.

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

text
%APPDATA%\1C\1cv8\  и  %LOCALAPPDATA%\1C\1cv8\  — папки кэша, удаляются при закрытых клиентах 1С

Права пользователя и режим поддержки

Если пункт «Конфигурация → Обновить конфигурацию базы данных» недоступен или обновление отклоняется, проверьте права. У пользователя должны быть роли, дающие право на администрирование и обновление конфигурации; в типовых конфигурациях это полные права или роль администратора системы. Работа под ограниченной учётной записью — частая причина «молчаливого» отказа.

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

Ошибки реструктуризации и проблемы с данными

Реструктуризация — этап, на котором платформа физически изменяет таблицы базы под новую структуру метаданных. Здесь сбои возникают из-за нехватки места на диске (временные таблицы могут занимать объём, сопоставимый с размером исходных), повреждённых записей, нарушений уникальности при добавлении уникальных индексов или тайм-аутов на больших таблицах в клиент-серверном варианте.

Порядок действий: проверьте свободное место на диске с базой и с временными файлами, выполните тестирование и исправление базы (в файловом варианте — chdbfl.exe из каталога платформы для проверки физической целостности, затем штатное тестирование в конфигураторе). Если ошибка указывает на конкретную таблицу, попробуйте обновление в несколько этапов: сначала примите изменения без проблемного объекта, затем добавьте его отдельно.

В клиент-серверном варианте дополнительно проверьте логи СУБД: блокировки на уровне MS SQL или PostgreSQL, переполнение журнала транзакций и нехватка памяти проявляются именно на этом этапе. Для очень больших таблиц реструктуризацию иногда выполняют вне рабочего времени или через промежуточные механизмы переноса данных.

Конфликты при обновлении изменённой конфигурации

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

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

Способы обновления

Штатное обновление через поддержку

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

Загрузка конфигурации из файла .cf

Полная замена конфигурации; подходит для переноса между базами, но затирает доработки

Сравнение и объединение с .cf

Для доработанных конфигураций; требует ручного контроля конфликтующих объектов

Обновление через хранилище

Для командной разработки; требует актуальной версии в хранилище и захвата объектов

Если ничего не помогло: крайние меры и проверка результата

Когда стандартные способы исчерпаны, остаются более жёсткие варианты: выгрузка базы в .dt и загрузка в новую пустую базу (часто устраняет скрытые проблемы физической структуры), обновление на другой версии платформы — иногда сбой вызван ошибкой конкретного релиза платформы, а не конфигурации. Для файловых баз также помогает перенос базы на локальный диск, если она размещена на сетевом ресурсе: сетевые задержки и разрывы соединения — отдельная причина сбоев обновления.

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

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

Что важно запомнить

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

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

Обновление зависло на определённом проценте — прерывать или ждать?

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

Что делать, если после обновления база не открывается в режиме предприятия?

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

Можно ли обновлять файловую базу, размещённую на сетевом диске?

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

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

Вероятны зависшие сеансы после аварийного закрытия клиентов или работающие фоновые задания. В файловом варианте проверьте «Активные пользователи», в серверном — консоль кластера. Удалите зависшие сеансы принудительно и отключите регламентные задания на время обновления.

Чем отличается «Обновить конфигурацию базы данных» от «Загрузить конфигурацию из файла»?

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

Нужно ли обновлять платформу, если конфигурация не обновляется?

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