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

· 9 мин

Содержание

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

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

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

В каждой информационной базе 1С 8.3 хранятся две копии конфигурации:

  • 🛠 Основная конфигурация — рабочий экземпляр в Конфигураторе. Её открывают, редактируют, обновляют из файла .cfu, сравнивают и объединяют с поставкой.
  • 👥 Конфигурация базы данных — та, по которой работает режим 1С:Предприятие. Её структура совпадает со структурой таблиц в СУБД или в файле 1Cv8.1CD.

Кнопка «Сохранить» (Ctrl+S) записывает только основную конфигурацию. Команда «Обновить конфигурацию базы данных» сравнивает обе копии, перестраивает таблицы под новую структуру и делает новую версию рабочей. Отсюда понятный признак: если при закрытии Конфигуратор спрашивает, обновить ли конфигурацию базы данных, изменения сохранены, но ещё не применены.

Чем это не похоже на обновление платформы

Эти два действия часто путают, хотя они независимы.

Обновление платформыОбновление конфигурации БД
Что меняетсяИсполняемые файлы 1cv8.exe, ragent.exe и другие на компьютере или сервереМетаданные, модули и структура таблиц внутри базы
Где выполняетсяУстановщик на каждом клиенте и на сервере 1СВ Конфигураторе или командной строкой для конкретной базы
Затрагивает данныеНетДа, при изменении структуры
Можно откатитьУстановить предыдущую версию рядомТолько из резервной копии базы

Связь между ними одна: каждый релиз конфигурации требует платформу с номером не ниже указанного в описании релиза. Если поставить новый релиз БП 3.0 на старую платформу, Конфигуратор откажется загружать файл обновления и сообщит минимально допустимую версию. Поэтому порядок такой: сначала платформа (если нужно), потом конфигурация.

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

Способы запустить обновление конфигурации базы данных

Выбор зависит от того, кто обновляет, сколько баз и можно ли выгнать пользователей.

Способ 1. Конфигуратор вручную

  1. Откройте базу в режиме Конфигуратор под пользователем с полными правами.
  2. Если нужно обновить типовую конфигурацию : Конфигурация → Поддержка → Обновить конфигурацию, укажите файл .cfu или каталог шаблонов, пройдите сравнение и нажмите «Выполнить».
  3. Выполните Конфигурация → Обновить конфигурацию базы данных (F7).
  4. Откроется окно «Реорганизация информации» со списком изменённых объектов. Просмотрите его и нажмите «Принять».
  5. Дождитесь сообщения в окне служебных сообщений об успешном обновлении.

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

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

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

  • 🔍 Перед объединением сохраните отчёт о сравнении: по нему потом проверяют, не потерялась ли доработка.
  • 🧪 Объединение лучше делать на копии базы, а в рабочую переносить готовый файл .cf через Конфигурация → Загрузить конфигурацию из файла.

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

Способ 2. Пакетный запуск из командной строки

Удобно для ночных регламентов и десятка баз. Ключ /UpdateDBCfg выполняет то же, что F7, без интерфейса.

"C:\Program Files\1cv8\8.3.25.1374\bin\1cv8.exe" DESIGNER ^
  /S"srv1c\buh" /N"Администратор" /P"пароль" ^
  /UpdateDBCfg /Out"C:\logs\buh_update.txt" /DisableStartupDialogs

Для файловой базы вместо /S"сервер\база" укажите /F"D:\Bases\Buh". Чтобы сначала применить файл обновления, а потом изменить структуру, перед /UpdateDBCfg ставят /UpdateCfg"путь\к\1cv8.cfu". Номер платформы в пути замените на свой.

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

Результат смотрите в файле из /Out: туда пишутся и успешное завершение, и текст ошибки.

Способ 3. Встроенное обновление в пользовательском режиме

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

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

Способ 4. Фоновое и динамическое обновление

Если в базе работают люди, при нажатии F7 платформа может предложить динамическое обновление. Пользователи продолжают работать в старой версии и получают новую после перезапуска сеанса.

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

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

СпособКогда подходитРиски
Конфигуратор, F7Одна база, есть окно для работТребует монопольного режима при смене структуры
Командная строкаРегламент, много базОшибку видно только в логе
Помощник в пользовательском режимеТиповая база без доработокНе подходит для доработанных конфигураций
Динамическое / фоновоеНельзя остановить работуНе применяет изменения структуры динамически

Подготовка к обновлению конфигурации БД и меры безопасности

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

Резервная копия

  • 💾 Файловая база — скопируйте каталог базы целиком при закрытых сеансах или выгрузите .dt: в Конфигураторе Администрирование → Выгрузить информационную базу.
  • 🗄 Клиент-серверная база — полная резервная копия средствами СУБД (MS SQL или PostgreSQL). Это быстрее выгрузки .dt на больших базах и сохраняет всё точно как было.

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

Монопольный режим и сеансы

Для реструктуризации нужен монопольный доступ к базе. На сервере 1С его получают так:

  1. В консоли администрирования кластера откройте свойства информационной базы.
  2. Включите блокировку начала сеансов, задайте время и код разрешения.
  3. Подождите, пока завершатся активные сеансы, или завершите их в разделе сеансов консоли.
  4. Запускайте Конфигуратор с параметром /UC"код", чтобы пройти через блокировку.

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

В файловой базе достаточно, чтобы никто, включая фоновые задания и обмены, не держал файл 1Cv8.1CD.

Что ещё проверить

  • 📏 Свободное место. Реструктуризация создаёт временные копии изменяемых таблиц. На диске базы и на диске временных файлов СУБД нужен запас не меньше размера крупнейших таблиц.
  • 🔢 Версия платформы — номер не ниже требуемого релизом.
  • 🧩 Расширения. Если в базе есть расширения, после обновления они могут перестать подходить к новой версии конфигурации. Заранее выясните, кто их поддерживает.
  • ⏱ Время. Обновление базы на 50–100 ГБ с изменением крупных регистров может занимать часы. Планируйте окно с запасом.

Что происходит внутри: реструктуризация и конвертация данных

Обновление конфигурации базы данных проходит в два этапа, и второй часто упускают.

Этап 1. Реструктуризация (платформа)

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

Именно поэтому окно «Реорганизация информации» стоит прочитать, а не закрывать не глядя: там видно, какие объекты затронуты и будут ли удалены данные.

Этап 2. Обработчики обновления (конфигурация)

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

Обработчики делятся на два вида:

  1. Монопольные и оперативные — выполняются сразу, пользователи ждут на заставке.
  2. Отложенные — идут в фоне после входа. Пока они не завершились, часть отчётов может показывать неполные данные.

Не выпускайте пользователей в базу, пока администратор не дождался окончания первого этапа обработчиков. Иначе кто-то запустит обновление под ограниченными правами и получит ошибку.

Ошибки при обновлении конфигурации базы данных и что с ними делать

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

Тестирование и исправление

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

Пункт реструктуризации таблиц в этом режиме на большой базе идёт долго. Запускайте его только в окно работ.

Проверка после обновления конфигурации базы данных

Сообщение об успешном обновлении в Конфигураторе означает только, что прошла реструктуризация. Убедиться в результате стоит по нескольким признакам.

Контроль после обновления
Выполнено: 0 / 7

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

Журнал регистрации тоже полезен: отберите события по администратору за время работ и посмотрите ошибки.

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

Можно ли отменить обновление конфигурации базы данных?
Нет. Команды отката нет: вернуть прежнюю версию можно только восстановлением резервной копии, сделанной до обновления.
Нужно ли обновлять конфигурацию БД после правки модуля?
Да. Любая правка, включая одну строку кода, видна пользователям только после обновления конфигурации базы данных. Для правок без смены структуры подойдёт динамическое обновление.
Почему после обновления релиза база стала больше?
Реструктуризация и новые регистры добавляют таблицы и индексы. Кроме того, СУБД не всегда сразу отдаёт освободившееся место: в MS SQL файл данных сам не уменьшается, его сжимают отдельно.
Можно ли пропускать промежуточные релизы типовой конфигурации?
Только в пределах, указанных в описании релиза: там перечислены версии, с которых разрешён переход. Если номер вашей версии ниже минимального, обновляйтесь цепочкой через промежуточные релизы.
Влияет ли обновление конфигурации БД на лицензии?
Нет. Лицензии привязаны к компьютеру или серверу и платформе, а не к версии конфигурации.