Администрирование · 11 мин
Конфигурация 1С изменена: как обновить базу данных
Что делать, если 1С сообщает, что конфигурация изменена. Пошаговое обновление конфигурации базы данных, динамическое обновление, ошибки и способы их исправить.
Сообщение «Конфигурация базы данных не соответствует конфигурации» или «Конфигурация была изменена, требуется обновление» появляется, когда разработчик или механизм автоматического обновления изменил основную конфигурацию, но структура базы данных ещё не приведена в соответствие с ней. Пока обновление не выполнено, пользователи не смогут нормально работать: часть объектов будет недоступна, а запуск в режиме «Предприятие» может блокироваться.
Ситуация типична после установки обновления типовой конфигурации, после доработок в конфигураторе, после загрузки файла конфигурации (.cf) или объединения с поставкой. Иногда конфликт возникает и без видимых причин — например, если предыдущее обновление завершилось аварийно и база осталась в промежуточном состоянии.
Хорошая новость: в большинстве случаев проблема решается штатной процедурой обновления конфигурации базы данных из конфигуратора. Плохая — при неправильных действиях можно потерять данные или оставить базу в нерабочем состоянии. Поэтому перед любыми действиями обязательно делается резервная копия, а само обновление выполняется в монопольном режиме.
Почему возникает сообщение о том, что конфигурация изменена
В 1С существуют две конфигурации: основная (та, что видна и редактируется в конфигураторе) и конфигурация базы данных (та, по которой реально построены таблицы и работают пользователи). Пока они совпадают, система работает штатно. Как только основная конфигурация изменилась — добавлены реквизиты, документы, регистры, изменены типы полей — платформа фиксирует расхождение и требует обновления.
Типичные источники расхождения:
- установка обновления типовой конфигурации через поддержку, прерванная на этапе обновления базы данных;
- ручные доработки в конфигураторе без завершающего обновления;
- загрузка cf-файла или объединение конфигураций;
- аварийное завершение конфигуратора во время предыдущего обновления;
- восстановление базы из копии, снятой в момент расхождения конфигураций.
Подготовка: резервная копия и монопольный режим
Перед обновлением обязательно создайте резервную копию. Для файловой базы достаточно выгрузки через «Конфигуратор → Администрирование → Выгрузить информационную базу» в dt-файл либо копирования файла 1Cv8.1CD при остановленной работе. Для клиент-серверной базы корректнее делать выгрузку dt или средствами СУБД (MS SQL, PostgreSQL).
Обновление конфигурации базы данных требует монопольного доступа: все пользователи и фоновые сеансы должны быть завершены. В файловом режиме проверьте, что база не открыта у других пользователей сети. В клиент-серверном — завершите сеансы через консоль кластера или функцию «Администрирование → Поддержка и обслуживание → Блокировка работы пользователей» в типовых конфигурациях на БСП.
Как обновить конфигурацию базы данных через конфигуратор
Стандартная процедура выглядит так. Запустите конфигуратор, откройте нужную базу. Если конфигурация закрыта, выполните «Конфигурация → Открыть конфигурацию». Затем выберите «Конфигурация → Обновить конфигурацию базы данных» (горячая клавиша F7 в окне конфигурации).
Платформа покажет список изменений: какие объекты добавляются, изменяются, удаляются. Внимательно просмотрите его — особенно строки про удаление объектов и реквизитов: удаление означает физическую потерю данных в этих полях. Если список соответствует ожиданиям, подтвердите обновление.
Далее начинается реструктуризация таблиц. На больших базах она может занимать от нескольких минут до нескольких часов. Прерывать процесс нельзя — это почти гарантированно приводит к повреждению структуры. По завершении запустите базу в режиме «Предприятие»: типовые конфигурации выполнят отложенные обработчики обновления данных.
- 1Сделайте выгрузку базы в dt-файл
- 2Завершите все сеансы пользователей и фоновые задания
- 3Откройте базу в конфигураторе, откройте конфигурацию
- 4Выполните «Конфигурация → Обновить конфигурацию базы данных»
- 5Проверьте список изменений, особенно удаляемые объекты
- 6Подтвердите обновление и дождитесь конца реструктуризации
- 7Запустите режим «Предприятие» и проверьте отложенные обработчики
Динамическое обновление: когда можно и когда нельзя
В клиент-серверном режиме платформа предлагает динамическое обновление — без завершения сеансов пользователей. Оно допустимо, только если изменения не затрагивают структуру таблиц: например, изменены модули, формы, макеты, роли. Пользователи при этом продолжают работать, а изменения кода подхватываются при перезапуске их сеансов.
Динамическое обновление запрещено и опасно, если добавлены или изменены реквизиты, измерения, ресурсы, типы полей — то есть требуется реструктуризация. Платформа обычно сама предупреждает об этом, но принудительный запуск такого обновления может привести к рассогласованию версий у работающих пользователей и ошибкам в их сеансах.
Как выбрать режим обновления
Обновление типовой конфигурации на поддержке
Если база на полной поддержке, обновление выполняется через «Конфигурация → Поддержка → Обновить конфигурацию» с указанием файла поставки нового релиза или через интернет-поддержку в режиме «Предприятие» («Администрирование → Обновление версии программы» в типовых решениях). Механизм сам последовательно применяет промежуточные релизы.
Если конфигурация доработана, при объединении потребуется сравнение: платформа покажет изменённые объекты, и по каждому нужно решить — брать изменения из поставки, оставлять свои или объединять вручную. После объединения обязательно выполняется обновление конфигурации базы данных.
Отложенные обработчики
После обновления типовой конфигурации многие данные переносятся в новый формат не сразу, а отложенными обработчиками. Проверьте их статус: «Администрирование → Поддержка и обслуживание → Результаты обновления версии программы». Пока обработчики не завершены, часть отчётов может показывать неполные данные.
Частые ошибки при обновлении и их устранение
Наиболее распространённые проблемы и способы их решения:
- «Нарушена целостность структуры конфигурации» — выполните «Конфигурация → Проверка конфигурации» с полной проверкой, исправьте найденные ошибки в метаданных;
- «Требуется монопольный доступ» — найдите и завершите зависшие сеансы через консоль кластера или перезапуском службы агента сервера;
- «Конфигурация базы данных не соответствует конфигурации» после аварийного прерывания — попробуйте повторно запустить обновление; если не помогает, тестирование и исправление с опцией реструктуризации;
- Ошибки реструктуризации из-за нехватки места — освободите дисковое пространство: при реструктуризации больших таблиц требуется место, сопоставимое с их размером;
- Конфликт имён или дубли объектов после объединения — переименуйте конфликтующие объекты в конфигураторе и повторите обновление.
Проверка результата после обновления
После завершения обновления убедитесь, что всё прошло корректно. Откройте конфигуратор: пункт «Обновить конфигурацию базы данных» должен быть неактивен или выполняться мгновенно без изменений — это признак того, что конфигурации синхронизированы. Затем запустите режим «Предприятие» от имени администратора и проверьте ключевые операции: проведение типового документа, формирование основного отчёта, открытие изменённых форм.
В клиент-серверном варианте дополнительно полезно очистить кэш метаданных на проблемных клиентских машинах, если пользователи видят старые формы или ошибки вида «Поле объекта не обнаружено». Кэш находится в профиле пользователя в каталогах с GUID-именами базы; достаточно удалить базу из списка и добавить заново либо очистить соответствующую папку кэша.
Как проверить результат
Неактивен или выполняется без списка изменений
Снова предлагает тот же список изменений — обновление не завершилось
База открывается без сообщений о несоответствии конфигураций
Появляется ошибка несоответствия или окно с ошибкой обновления
Статус «Завершено» у всех обработчиков
Есть обработчики с ошибкой или в очереди
Документы проводятся, отчёты формируются
Ошибки «Поле объекта не обнаружено» — нужна очистка кэша или повторное обновление
Когда обращаться к специалисту
Самостоятельное обновление безопасно для типовых конфигураций на поддержке при наличии свежей резервной копии и понимания процедуры. Привлекайте специалиста, если: конфигурация сильно доработана и объединение вызывает сотни конфликтов; обновление многократно падает с ошибками реструктуризации; база большая и требуется минимизировать простой; предыдущее обновление прервано и база открывается нестабильно.
В спорных ситуациях правильная тактика — развернуть копию базы, отработать обновление на ней, зафиксировать шаги и только потом повторять на рабочей. Это стандартная практика, которая почти полностью исключает потерю данных.
Что важно запомнить
Сначала резервная копия, затем монопольный режим и обновление через конфигуратор. Динамическое обновление — только для изменений без реструктуризации. После обновления проверьте отложенные обработчики и работу ключевых операций.
Частые вопросы
Можно ли обновить конфигурацию базы данных без конфигуратора?
Нет, обновление структуры базы выполняется только из конфигуратора или пакетным запуском конфигуратора из командной строки с параметром обновления. В режиме «Предприятие» выполняются лишь обработчики переноса данных уже после обновления структуры.
Что делать, если обновление зависло на реструктуризации?
Не прерывайте процесс сразу: на больших таблицах реструктуризация может идти часами без видимого прогресса. Проверьте активность на диске и в СУБД. Если процесс действительно остановлен и ресурсы не используются, придётся прерывать, восстанавливаться из копии и повторять обновление с предварительной оптимизацией базы.
Почему после обновления пользователи видят ошибку «Поле объекта не обнаружено»?
Чаще всего это устаревший кэш метаданных на клиентском компьютере. Удалите базу из списка информационных баз и добавьте заново либо очистите папку кэша в профиле пользователя. Если ошибка у всех пользователей — проверьте, что конфигурация базы данных действительно обновлена.
Можно ли отменить обновление конфигурации базы данных?
Штатной кнопки отката нет. Единственный способ вернуться к прежнему состоянию — восстановить базу из резервной копии, сделанной до обновления. Поэтому копия обязательна, причём проверенная: убедитесь, что dt-файл загружается в пустую базу.
Чем отличается обновление конфигурации от обновления конфигурации базы данных?
Обновление конфигурации — это загрузка новых метаданных из файла поставки или объединение с другой конфигурацией. Обновление конфигурации базы данных — применение уже загруженных изменений к структуре хранения. Обычно они идут последовательно: сначала первое, затем второе.
Нужно ли обновлять платформу вместе с конфигурацией?
Не всегда, но проверьте требования релиза: новые версии типовых конфигураций могут требовать минимальную версию платформы. Если версия платформы ниже требуемой, конфигурация либо не обновится, либо будет работать с ошибками. Обновление платформы выполняется отдельно и до обновления конфигурации.